Bug 4367 - Cleanup the assignments (=)
Summary: Cleanup the assignments (=)
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: configuration (show other bugs)
Version: 1.5
Hardware: x86 Multiple
: Medium enhancement
Target Milestone: 1.5 M3
Assignee: Jesse Zhang
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-04-22 06:10 UTC by Robert Yang
Modified: 2013-10-02 09:56 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Yang 2013-04-22 06:10:44 UTC
If a variable is in BB_ENV_EXTRAWHITE (or BB_ENV_WHITELIST if any) it should can be overrided by the system environment variable, the current BB_ENV_EXTRAWHITE is:

MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR

e.g.:

If we
$ export BB_NUMBER_THREADS=<number>
$ bitbake -e | grep '^BB_NUMBER_THREADS'

The BB_NUMBER_THREADS will still be the value assigned in local.conf, since local.conf uses:

BB_NUMBER_THREADS =

use "?=" would fix the problem.
Comment 1 Jesse Zhang 2013-06-06 06:07:12 UTC
Only BB_NUMBER_THREADS and PARALLEL_MAKE need fix.

See below for the analysis.

$ for x in MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR ; do env $x=xyz bitbake -e | grep "$x"; done

Of the 28 variables, these (21) got the "xyz" value correctly:

HTTP_PROXY="xyz"
http_proxy="xyz"
HTTPS_PROXY="xyz"
https_proxy="xyz"
FTP_PROXY="xyz"
ftp_proxy="xyz"
FTPS_PROXY="xyz"
ftps_proxy="xyz"
ALL_PROXY="xyz"
all_proxy="xyz"
NO_PROXY="xyz"
no_proxy="xyz"
SSH_AGENT_PID="xyz"
SSH_AUTH_SOCK="xyz"
SDKMACHINE="xyz"
BB_NO_NETWORK="xyz"
GIT_PROXY_COMMAND="xyz"
SOCKS5_PASSWD="xyz"
SOCKS5_USER="xyz"
SCREENDIR="xyz"
STAMPS_DIR="xyz"

The others would cause errors but it indicates that environment variable is passed in correctly:

* MACHINE

Please set a valid MACHINE in your local.conf or environment

* DISTRO

DISTRO 'xyz' not found. Please set a valid DISTRO in your local.conf

* TCMODE

ERROR: Unable to parse conf/bitbake.conf: ParseError at /buildarea/szhang3/wrlinux/poky/meta/conf/distro/defaultsetup.conf:7: Could not include required file conf/distro/include/tcmode-xyz.inc

* TCLIBC

ERROR: Unable to parse conf/bitbake.conf: ParseError at /buildarea/szhang3/wrlinux/poky/meta/conf/distro/defaultsetup.conf:10: Could not include required file conf/distro/include/tclibc-xyz.inc

* BB_SRCREV_POLICY

FetchError: Fetcher failure: Invalid SRCREV cache policy of: xyz

----

Apart from the docs and those 'PARALLEL_MAKE = ""' assignments in the recipes, here are all the "direct" assignments to the whitelist variables:

$ for x in MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR; do git grep "\<$x = " >> log; done

meta-skeleton/conf/multilib-example.conf:MACHINE = "qemux86-64"
meta-skeleton/conf/multilib-example2.conf:MACHINE = "qemux86-64"
meta/classes/tinderclient.bbclass:    output.append("MACHINE = '%(machine)s'" )
meta/recipes-rt/README:COMPATIBLE_MACHINE_$MACHINE = $MACHINE
meta-skeleton/conf/multilib-example.conf:MACHINE = "qemux86-64"
meta-skeleton/conf/multilib-example2.conf:MACHINE = "qemux86-64"
meta/classes/tinderclient.bbclass:    output.append("MACHINE = '%(machine)s'" )
meta/recipes-rt/README:COMPATIBLE_MACHINE_$MACHINE = $MACHINE
README:DISTRO = "") and contains only emulated machine support.
meta-yocto/conf/distro/poky-bleeding.conf:DISTRO = "poky-bleeding"
meta-yocto/conf/distro/poky-lsb.conf:DISTRO = "poky-lsb"
meta-yocto/conf/distro/poky-tiny.conf:DISTRO = "poky-tiny"
meta-yocto/conf/distro/poky.conf:DISTRO = "poky"
meta/classes/tinderclient.bbclass:    output.append("DISTRO = '%(distro)s'" )
meta-yocto/conf/local.conf.sample.extended:# TCMODE = "external-eabi"
meta/conf/distro/include/tcmode-external-csl.inc:TCMODE = "external-sourcery"
meta-yocto/conf/local.conf.sample:#BB_NUMBER_THREADS = "4"
meta-yocto/conf/local.conf.sample:# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
meta-yocto/conf/local.conf.sample:#PARALLEL_MAKE = "-j 4"
meta-yocto/conf/local.conf.sample:# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
Comment 3 Stoicescu Cornel 2013-10-02 09:56:00 UTC
Verified in:
poky master:4d8ab87d25ea6e59dc88375813ef88ee0ac813d0