All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Bartosh <ed.bartosh@linux.intel.com>
To: bitbake-devel@lists.openembedded.org
Subject: [PATCH 2/2] bitbake: main: set defaults from env variables
Date: Wed, 20 Apr 2016 10:31:29 +0300	[thread overview]
Message-ID: <1461137489-14968-2-git-send-email-ed.bartosh@linux.intel.com> (raw)
In-Reply-To: <1461137489-14968-1-git-send-email-ed.bartosh@linux.intel.com>

Environment variables BBSERVER, BBTOKEN and BBEVENTLOG silently
overwrite bitbake command line arguments. This is confusing and
can cause issues that are difficult to debug. It's better to use
them as default values instead.

Used environment variables BBSERVER, BBTOKEN and BBEVENTLOG to set
default values for command line arguments.

Changed setting default value of --ui command line argument from
BITBAKE_UI to look similar way.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
 bitbake/lib/bb/main.py | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index 08ecdda..b843b7d 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/lib/bb/main.py
@@ -194,18 +194,16 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
         parser.add_option("-P", "--profile", help = "Profile the command and save reports.",
                    action = "store_true", dest = "profile", default = False)
 
-        env_ui = os.environ.get('BITBAKE_UI', None)
-        default_ui = env_ui or 'knotty'
         # @CHOICES@ is substituted out by BitbakeHelpFormatter above
         parser.add_option("-u", "--ui", help = "The user interface to use (@CHOICES@ - default %default).",
-                   action="store", dest="ui", default=default_ui)
+                   action="store", dest="ui", default=os.environ.get('BITBAKE_UI', 'knotty'))
 
         # @CHOICES@ is substituted out by BitbakeHelpFormatter above
         parser.add_option("-t", "--servertype", help = "Choose which server type to use (@CHOICES@ - default %default).",
-                   action = "store", dest = "servertype", default = "process")
+                   action = "store", dest = "servertype", default = ["process", "xmlrpc"]["BBSERVER" in os.environ])
 
         parser.add_option("", "--token", help = "Specify the connection token to be used when connecting to a remote server.",
-                   action = "store", dest = "xmlrpctoken")
+                   action = "store", dest = "xmlrpctoken", default = os.environ.get("BBTOKEN"))
 
         parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not.",
                    action = "store_true", dest = "revisions_changed", default = False)
@@ -223,7 +221,7 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
                    action = "store_true", dest = "setsceneonly", default = False)
 
         parser.add_option("", "--remote-server", help = "Connect to the specified server.",
-                   action = "store", dest = "remote_server", default = False)
+                   action = "store", dest = "remote_server", default = os.environ.get("BBSERVER"))
 
         parser.add_option("-m", "--kill-server", help = "Terminate the remote server.",
                     action = "store_true", dest = "kill_server", default = False)
@@ -235,21 +233,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
                    action = "store_true", dest = "status_only", default = False)
 
         parser.add_option("-w", "--write-log", help = "Writes the event log of the build to a bitbake event json file. Use '' (empty string) to assign the name automatically.",
-                   action = "store", dest = "writeeventlog")
+                   action = "store", dest = "writeeventlog", default = os.environ.get("BBEVENTLOG"))
 
         options, targets = parser.parse_args(argv)
 
-        # some environmental variables set also configuration options
-        if "BBSERVER" in os.environ:
-            options.servertype = "xmlrpc"
-            options.remote_server = os.environ["BBSERVER"]
-
-        if "BBTOKEN" in os.environ:
-            options.xmlrpctoken = os.environ["BBTOKEN"]
-
-        if "BBEVENTLOG" in os.environ:
-            options.writeeventlog = os.environ["BBEVENTLOG"]
-
+        # use configuration files from environment variables
         if "BBPRECONF" in os.environ:
             option.prefile.append(os.environ["BBPRECONF"])
 
-- 
2.1.4



      reply	other threads:[~2016-04-20  9:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-19 14:30 [PATCH] bitbake: main: add 2 environment variables Ed Bartosh
2016-04-19 19:58 ` Richard Purdie
2016-04-20  6:20   ` Ed Bartosh
2016-04-20  7:31 ` [PATCH 1/2] " Ed Bartosh
2016-04-20  7:31   ` Ed Bartosh [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1461137489-14968-2-git-send-email-ed.bartosh@linux.intel.com \
    --to=ed.bartosh@linux.intel.com \
    --cc=bitbake-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.