[bitbake-devel] Conditional assignment broken

Joshua Lock josh at linux.intel.com
Fri Aug 12 23:29:50 UTC 2011


On Sat, 2011-08-13 at 06:50 +0800, James Limbouris wrote:
> Hi,
> 
>  Commit 21c21fcc5871e81d8d497b6baed605cdd74c4571 breaks conditional assignment
>  in all conf files. Previously, the environment was copied from a
> cleaned up os environment.
>  After the commit, a pristine environment is available in
> data['_data'], and will be copied to
>  data[] on conditional assignment, defying BB_ENV_EXTRAWHITE.
> Variables not conditionally
>  assigned will still be available from data['_data'], also in defiance
> of BB_ENV_EXTRAWHITE.
> 
>  To verify, simply:
> 
>  export RANDOMENV=42
>  bitbake -e | grep RANDOMENV

Thanks for the report James, and apologies for the breakage. I'll try
and get a fix submitted and merged asap.

I'm now wondering if we want the pristine environment, or the cleaned
environment, saved.

diff --git a/bin/bitbake b/bin/bitbake
index fdeeb36..d151dd5 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -197,13 +197,11 @@ Default BBFILES are the .bb files in the current
directory
     handler = bb.event.LogHandler()
     logger.addHandler(handler)
 
-    # Before we start modifying the environment we should take a
pristine
-    # copy for possible later use
-    initialenv = os.environ.copy()
     # Clear away any spurious environment variables. But don't wipe the
     # environment totally. This is necessary to ensure the correct
operation
     # of the UIs (e.g. for DISPLAY, etc.)
     bb.utils.clean_environment()
+    initialenv = os.environ.copy()
 
     server = server.BitBakeServer()

Joshua
-- 
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre





More information about the bitbake-devel mailing list