aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
AgeCommit message (Collapse)Author
2013-02-15bitbake: fetch2: Improve lock/done stamp file paths for local filesRichard Purdie
Currently stamps end up at the top level of DL_DIR even if the files themselves are in a directory structure. This patch preserves path components allowing the top level directory to be less populated which is an advantage for large sstate caches. (Bitbake rev: 59921ce3ed7a4c0b7f8ef1a101ad9127469bf1fd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: bitbake & hob: reparse config files, when sanity check updates ↵Cristiana Voicu
bblayers.conf I've sent a patch to poky, with some changes in sanity.bbclass. When bblayers.conf is updated, it updates also a variable to know when to reparse configuration files. This patch contains the changes to reparse conf files, after a sanity check which changes bblayers.conf. [YOCTO #3213] (Bitbake rev: 966e3e59ceb1c8b33b5881f291c148ea6513eda0) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: fetch2: Ensure expansions happen in URL parameters in uri_replaceRichard Purdie
For example, this allows us to specify downloadfilename=PATH in sstate mirror urls to improve directory structures in DL_DIR when using sstate. (Bitbake rev: 7850a1364b6b37c58664d84f9c14806b4479b45c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: ConfHandler: Use re.X to make long regexp more readableOlof Johansson
The __config_regexp__ in ConfHandler is quite long, and using re.X to break the expression onto several lines make it a bit easier to read. (Bitbake rev: 54dce9e14ab0657d76f0d0ae22eef7fab8e8950d) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: tests/codeparser: Hack around circular inclusion problemRichard Purdie
There is a circular dependency issue where bb.data can't directly depend on bb.parse. The tests were failing due to this issue which is misleading. This patch hacks around it for now. I'd rather that than not running tests at all. (Bitbake rev: a206ae0d7769a41ff3666d0f53ff9cf422dfa518) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: wget: Only use -O option when not spideringRichard Purdie
If we pass the -O option whilst spidering, empty files are created which is not desired. We also need to ensure any subdirectories are created when using the downloadfilename parameter. (Bitbake rev: d5f78e98d5aba36c95288fbaac267c2d54537b02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: codeparser: Track bb.utils.contains usageRichard Purdie
The bb.utils.contains function usage is getting increasingly used in the metadata but isn't handled automatically by the python dependency tracking code. This patch changes that and also adds the "OE" names for the functions. Whilst there are reasons this is a bad idea, its likely outweighed by the shear number of these references and the current holes in dependency information which we're now relying heavily upon. (Bitbake rev: 0b9d117631ce909312d53b93289e61defc6be01c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-15bitbake: codeparser: Track appendVar and prependVar calls as we do for getVarRichard Purdie
We need to track appendVar and prependVar calls just as we do for getVar in order to ensure we're not missing variable dependencies. (Bitbake rev: 767b4751232f4ee3979deb4d3f733fcf9ee2bd44) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14bitbake: Remove whitelisted vars from non-task depsChristopher Larson
Though the value of variables in the BB_BASEHASH_WHITELIST is kept out of the checksums, dependency on them is not, at least for variables and non-task functions. In the code, the whitelist is removed from the overall task dep list, but not the individual variable deps. The result of this is that functions like sysroot_stage_all and oe_runmake end up with whitelisted variables like TERM listed in their dependencies, which means that doing a 'unset TERM' before building will result in all checksums for tasks that depend on those changing, and shared state reuse not behaving correctly. This is only really a potential issue for variables from the environment, as it's the existance/removal of the variable that's an issue, not its value, and the other whitelisted variables are set in our metadata. This which means in practical terms the only cases where this is likely to be an issue are in environments where one of the following are unset: TERM, LOGNAME, HOME, USER, PWD, SHELL. This may seem like an unlikely circumstance, but is in fact a real issue for those of us using autobuilders. Jenkins does not set TERM when executing shell, which means shared state archives produced by your jenkins server would not be fully reused by an actual user. Fixed by removing the whitelisted elements from the individual variable deps, not just the accumulated result. (Bitbake rev: dac12560ac8431ee24609f8de25cb1645572d350) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-14bitbake: ConfHandler: Improve regexp to fix mis-parsing of += and no whitespaceRichard Purdie
If you have: FOO = "a" FOO += "b" FOO+= "c" The expected result is "a b c" however we were seeing "a b" with the FOO+ variable being assigned the value "c". This isn't the expected result. We need to make the name part of the variale non-greedy so that any + character becomes part of the operator. This patch does that. I compared the configuration in OE-Core before and after the change and only the test case changed. [YOCTO #3834] (Bitbake rev: 2cd8d7fd12a646e6516e2c985e6a54121d19eb59) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11bitbake: bitbake/utils: Improve environment handling to allow UIs access to ↵Richard Purdie
original environment We need to empty out the environment whilst we build the cooker but we need the environment for the UIs since hob uses DISPLAY and other session variables. This patch adapts the utils functions to return removed environment components so we can reinject them for use by the UI, allowing hob to work again. (Bitbake rev: fc330d810099c57fefd4e706159a73ad8401d97c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: prserv/serv.py: Fix logging in daemon modeRichard Purdie
In deamon mode we need to ensure the logging module is sending log data to the log file. These changes ensure this happens correctly. (Bitbake rev: bb53b47710ca4579e20284668cb354f734c3d502) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: bitbake: Always use separate process for PR ServiceRichard Purdie
Using the threading module interacts badly with multiprocessing used elsewhere in bitbake under certain machine loads. This was leading to bitbake hanging on Ctrl+C when the PR Server was being used. This patch converts it to always use the daemonize code which then means the threading code isn't required. [YOCTO #3742] (Bitbake rev: 2d0bbd9398ab839bd2d1e29e50b25d52efb1ce2a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: Update version to 1.17.0Richard Purdie
(Bitbake rev: d96ef9398356b2a61f7cff765821616bf1e55492) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: fetch2: Remove broken git variables from the environmentDarren Hart
The following variables perform no function outside of bitbake: GIT_CONFIG GIT_PROXY_HOST GIT_PROXY_PORT GIT_PROXY_IGNORE GIT_CONFIG only affects the git-config command which is not relevant to the fetcher. This was previously used with the OE GIT_CORE_CONFIG variable which would provide a basic git config to use instead of the user's config. This usage was deprecated by git for over a year now: http://git.661346.n2.nabble.com/Overriding-gitconfig-using-GIT-CONFIG-td6680977.html GIT_PROXY_HOST and GIT_PROXY_PORT are not used by git. GIT_PROXY_IGNORE was an OE construct used to create the custom git config and had no meaning outside of the OE environment. It is not used by git. Remove these variables from the fetcher environment. Users wishing to configure git to work with a proxy should define the GIT_PROXY_COMMAND environment variable to use an external script. NO_PROXY can be used within this script to skip the proxy for certain hosts. (Bitbake rev: e60270bdce6b8c2f8da1a4838aa374da9db3c86a) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: fetch2: Export upper and lower case environment variablesDarren Hart
Applications are inconsistent in their use of upper and lower case proxy variables. Curl, for example, specifies NO_PROXY (not no_proxy) in the man page (changed in 2009 [1]). Avoid proxy issues by ensuring both the upper and lower case versions of each proxy variable is available in the environment for the fetcher commands. Add FTPS_PROXY and ftps_proxy to the list as well. 1. http://curl.haxx.se/mail/tracker-2009-04/0012.html (Bitbake rev: c3e6b2c5ec81d5ad7dcf606fff16fd5552bd267c) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: cooker/utils: Drop custom 'interactive' variables list and store ↵Richard Purdie
environment in BB_ORIGENV instead Maintining hardcoded lists of user environmental variables is hacky, replace these with the savedenv datastore. Allow access to that through the BB_ORIGENV variable. (Bitbake rev: 0a99563a4ea270594fd9a61da46f9387fb79dc66) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06bitbake: compat/utils: Add copy of python multiprocessing pool for pre 2.7.3 ↵Richard Purdie
issues python 2.7 shows hangs with issues in its pool implmenetation. Rather than try and hack around these, add a copy of the working pool implementation to the compat module from 2.7.3. (Bitbake rev: c9eb742637131e8dbd526d2ad9b458abea0a2d87) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-05bitbake: bitbake: fetch2: Print the complete SRCREV variable name when INVALIDDarren Hart
If a particular SRCREV (say for a particular branch) is missing, the fetcher will currently just report an obtuse error about the "SRCREV" being invalid. If there is more information is to be had (say from name, i.e. branch, and pn) then display that as well. The new error looks something like this: ERROR: ExpansionError during parsing /home/dvhart/source/poky/meta/recipes-kernel/linux/linux-yocto_3.4.bb: Failure expanding variable do_patch: ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure for URL: 'git://otcgit.jf.intel.com/dvhart/linux-yocto-minnow-3.4.git;protocol=git;nocheckout=1;branch=standard/minnow,meta,emgd-1.14;name=machine,meta,emgd'. Please set SRCREV_emgd_pn-linux-yocto to a valid value Note the variable listed as invalid is "SRCREV_emgd_pn-linux-yocto", making it explicit what is wrong. (Bitbake rev: 63774f5b4edb999300bddd891233f6050f4af877) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: bitbake-devel@lists.openembedded.org Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: bitbake-layers: print the recipe's depends that crosses a layer ↵Robert Yang
boundary Figure out the dependency between recipes that crosses a layer boundary * Introduction: - For the .bb file, we need check the following depends: > Check the DEPENDS, RDEPENDS and inherits according to the cooker_data. > The cooker_data doesn't have the info about "require/include xxx", so we need check them manually. - For the .bbclass, .inc and .conf file, we can't get their file depends from the cooker_data, we need check them manually. * Usage: $ bitbake-layer show-cross-depends I don't like the name "show-cross-depends", figure-out-cross-depends might be better, but most of the commands are "show-xxx" for bitbake-layers. * Output: (snipped) /work/poky/meta/recipes-support/libusb/libusb-compat_0.1.4.bb inherits /work/poky/meta-yocto/classes/poky-sanity.bbclass /work/poky/meta-intel/meta-cedartrail/recipes-cdv-media/images/core-image-cdv-media.bb requires /work/poky/meta/recipes-sato/images/core-image-sato.bb /work/poky/meta-yocto/recipes-core/tiny-init/tiny-init.bb RDEPENDS /work/poky/meta/recipes-core/busybox/busybox_1.20.2.bb /work/poky/meta-intel/common/recipes-bsp/amt/lms_7.1.20.bb DEPENDS /work/poky/meta/recipes-devtools/autoconf/autoconf_2.69.bb /work/poky/meta/classes/distrodata.bbclass includes /work/poky/meta-yocto/conf/distro/include/package_regex.inc /work/poky/meta-intel/meta-sys940x/conf/machine/sys940x.conf requires /work/poky/meta/conf/machine/include/tune-atom.inc [YOCTO #3387] (Bitbake rev: 100502ef722bf19b6c125a5e017f31686ad18421) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: ssh.py: add example SRC_URIMartin Jansa
(Bitbake rev: f838af8e7afebf279ffb00a3afa6592f061b703f) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: ssh.py: throw ParameterError when someone tries ssh://foo; protocol=gitMartin Jansa
* taken from SFTP fetcher: http://patchwork.openembedded.org/patch/43027/ (Bitbake rev: 88e565855b52e905156d85c3f45b341cddfe2f55) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: ssh: fix fetcherMartin Jansa
* set localpath in urldata_init otherwise localpath and basename were None, when fetcher was trying to define .lock and .done paths basepath = d.expand("${DL_DIR}/%s" % os.path.basename(self.localpath or self.basename)) * remove "host" from localpath .done and .lock files are always using just basename, so if someone has 2 recipes with: SRC_URI = "ssh://foo/file.txt" SRC_URI = "ssh://bar/file.txt" then there will be only one file.txt.done in downloads anyway (and only first file.txt from first server will be returned on do_fetch (Bitbake rev: 41208760d70a657297f9ecfb48b74e2c3b594e70) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: hob: eliminate the "by recipe" grouping in the packages tableCristiana Voicu
We have agreed to change how we show the packages. Now they are not grouped by recipe. Until now, it was implemented using TreeStore and I've changed it to extend a ListStore. I have modified all the function in according to this. [YOCTO #2180] (Bitbake rev: 311e7ba8b2c88fbf6f16b6ffb1400226b155ddd4) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: hob: Use a GtkTreeView to present and configure the sstate mirrorsCristiana Voicu
After some discussions about the design of the Shared State Settings tab in Hob, we have decided that using a GtkTreeView to present and configure the sstate mirrors is probably the best solution. [YOCTO #3569] (Bitbake rev: 2ff636910b9cf3099e8d961f4bbe71512c015ecc) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: tinfoil: support other fds, enable color supportChristopher Larson
Rather than only handling sys.stdout, also support any arbitrary file object, and enable color for the formatter if that file is a tty. (Bitbake rev: c46db4be4cc4dc53376ed3f574b2f1c868730f2a) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: hob: small fixes to parsing warnings dialogCristiana Voicu
Set the labels selectable; reset the warnings list when another machine is selected; changed a label name [YOCTO #3215] (Bitbake rev: a4463d7b51828c32e55dea3c0dd51966d387abac) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-31bitbake: bitbake & hob: implement functions to assure consistency for ↵Cristiana Voicu
configuration files Added a new command in bitbake to save a variable in a file; added a function in cooker which is called by this command. Added new command in bitbake to enable/disable data tracking. The function saveConfigurationVar from cooker.py saves a variable in the file that is received by argument. It checks all the operations made on that variable, using the history. If it's the first time when it does some changes on a variable,it comments the lines where an operation is made on it, and it sets it in a line to the end of file. If it's not the first time(it has a comment before), it replaces the line. Made some changes in hob to save the variables from bblayers.conf and local.conf using the bitbake command. [YOCTO #2934] (Bitbake rev: 55b814ccfa413d461d12956896364ab63eed70a8) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-30bitbake: cache.py: Drop support for BROKEN variableRichard Purdie
All it now does is function in a similar way to EXCLUDE_FROM_WORLD and since we have a better named variable for this, lets just drop the usage of BROKEN at the bitbake level. (Bitbake rev: 8f4dcf794545273417d78ba18f51aa2b81606ae4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-28bitbake: build.py: Dump out performance data of individual tasksRichard Purdie
(Bitbake rev: 32aa49519e4f015e3c21466a7e5dc939f6369851) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-28bitbake: utils.py: Add function for processing profile outputRichard Purdie
(Bitbake rev: 0df64810e8d40e7761cfd5059c0617dda31a6641) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25bitbake: bitbake-diffigs: Don't pull in tinfoil unless we really need/plan ↵Richard Purdie
to use it This means we can run in parallel with other bitbake processed we're not in task mode. (Bitbake rev: 20222f2f16130e91eed5e68286188ee0e8f8f3bf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25bitbake: bitbake-layers: fix get_file_layerRobert Yang
The get_file_layer can't handle the nested layer correctly, e.g.: meta-intel/conf/layer.conf meta-intel/meta-cedartrail/conf/layer.conf They are two layers, the file: meta-intel/common/recipes-bsp/amt/lms_7.1.20.bb belongs to meta-intel's layer, but the get_file_layer() may return meta-cedartrail accordig to BBLAYERS' order, since it uses: for layerdir in self.bblayers: if regex.match(os.path.join(layerdir, 'test')): return self.get_layer_name(layerdir) which doesn't care the filename, re-match the filename would fix the problem. [YOCTO #3387] (Bitbake rev: 7a31b9eac4d894c302f0e052a132c31b17d13d1f) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25bitbake: cache.py: remove the duplicated self.file_dependsRobert Yang
There are two "self.file_depends =" lines in cache.py::CoreRecipeInfo: class CoreRecipeInfo(RecipeInfoCommon): __slots__ = () cachefile = "bb_cache.dat" def __init__(self, filename, metadata): self.file_depends = metadata.getVar('__depends', False) [snip] self.file_depends = metadata.getVar('__depends', False) They are duplicated, remove the last one. [YOCTO #3795] (Bitbake rev: 409a4aa0e166c25a8cfcd91e54f1b61cced74e87) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25bitbake: hob: hob do not use .hob dir for variables from local.conf and ↵Cristiana Voicu
bblayers.conf If .hob exists, hob takes the variable from there. Change to not override anymore the variables which comes from bblayers.conf and local.conf [YOCTO #2934] (Bitbake rev: 00533e83038e3d5e3cd5d1be73c45afece92ec0c) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25bitbake: prserv: use only PRSERV_HOSTConstantin Musca
- remove PRSERV_PORT variable - use 'hostname:port' as PRSERV_HOST format - use 'localhost:0' for enabling the local PRServer [YOCTO #3744] (Bitbake rev: ad62eed9e1f0867a406e9fbfa44916a0f1ad1282) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-22bitbake: crumbs: Add file lost from previous commitRichard Purdie
(Bitbake rev: 90aabeb87d6c1f00d6333cc9930626d36b6d9709) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-22bitbake: hob: combo box updated correctlyCristiana Voicu
The 'select a base image' option is no longer displayed once an image is selected [YOCTO #3671] (Bitbake rev: 27f2247b4c227c3b5adb1ca33d0cd7f7b492e170) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-22bitbake: persist_data: add get_by_pattern method to APIConstantin Musca
- one can use get_by_pattern to get a list of values associated with keys that match the specified pattern (Bitbake rev: 6ee1f58698e2d782c54ce5aec271bcec26107eac) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-22bitbake: parse_py: add ~ to config_regexpConstantin Musca
- enable the '~' character in bitbake variables (Bitbake rev: 7c15ff1d50d7b601414f1d55c90e3c59981a0876) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-21bitbake: hob: Hob should display warnings generated during parsingCristiana Voicu
-now Hob catches the warnings generated during parsing, and after the parsing is completed, if there are any warnings, it shows a bar that contains a message with how many warnings has encountered, and a button "View warnings" -when "View warnings" button is clicked, Hob shows a dialog with the warnings; if there more than 1 warning, you can use "Previous" and "Next" button to see them [YOCTO #3215] (Bitbake rev: d7b5311d35b3974398fecabfb5ecf1effa85c27e) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-21bitbake: hob: progress bar changed to busy cursor when you open log fileCristiana Voicu
-the first implementation for this bug used a progress bar, that is shown during open file process; it revelead that the progress bar stops earlier -now I have implemented using gtk.show_uri() method, that shows itself a busy cursor when it opens a file; -deleted the code for the first implementation [YOCTO #2997] (Bitbake rev: 09d1c4c2db124104b9da460547b20a2c2ff07bb3) Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-21bitbake: BBHandler/ConfHandler: Merge fix for multiline commentsRichard Purdie
This was meant to be squashed into the previous commit for multiline comment handling. It fixes the case the commented multiline is followed by an empty line which was resulting in a traceback instead of a sane error message. (Bitbake rev: 7e7d692e244fe8dca533f842ca143b9c821e317c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-21bitbake: bitbake: BBHandler/ConfHandler: Improve multiline comment handlingRichard Purdie
Faced with an expression like: # Some comment \ FOO = "bar" what should bitbake do? Technically, the \ character means its multiline and currently the code treats this as a continuation of the comment. This can surprise some people and is not intuitive. This patch makes bitbake simply error and asks the user to be clearer about what they mean. (Bitbake rev: 589d31ce41e019ee6a7cb6527d67bc76c0b6382a) (Bitbake rev: 79c00fabe08b4c210a3bd81cfaffbc47ffdc2e2b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: hob: Fix GTK+ and PyGtk version check error message to be more clearJessica Zhang
Improve the error message the user sees if the versions are incorrect. [YOCTO #3637] (Bitbake rev: 7e3a99949358f4362876df5a82f8aeaae72c3c97) Signed-off-by: Jessica Zhang <jessica.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: hg.py: Fixed fetch failure that occurs when SRCREV is a tag.Jon Szymaniak
Removed "-r REV" from hg clone invocation to fetch the entire repo, rather than just the subset at the specified revision. This will ensure that the specified tag exists for successive commands (e.g., the update built on line 149.) (Bitbake rev: f0a6261d3a8ede9ebdb6383e02cb2c2de1690640) Signed-off-by: Jon Szymaniak <jon.szymaniak@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: fetch2: Sort file checksums by value, not pathTyler Hall
Changing the path to a file could change the task hash even if the file still has the same checksum. This occurs when the task depends on multiple files and the sort order of their paths changes. Usually the sorting is consistent because layers tend to have the same relative paths, but this should take care of other configuations. The problem arose when using a .bbappend to add files to a recipe in another layer. If the layer is located alongside the other layers and their parent directory is moved, the hash does not change. However, moving the .bbappend layer outside of the common directory can change the path sort order and the task hash. (Bitbake rev: 22bd19d208f0251f5a1f9b98f3cac66181f3fc07) Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: bitbake: data_smart.py and friends: Track variable historyPeter Seebach
This patch adds tracking of the history of variable assignments. The changes are predominantly localized to data_smart.py and parse/ast.py. cooker.py and data.py are altered to display the recorded data, and turn tracking on for the bitbake -e case. The data.py update_data() function warns DataSmart.finalize() to report the caller one further back up the tree. In general, d.setVar() does what it used to do. Optionally, arguments describing an operation may be appended; if none are present, the operation is implicitly ignored. If it's not ignored, it will attempt to infer missing information (name of variable, value assigned, file and line) by examining the traceback. This slightly elaborate process eliminates a category of problems in which the 'var' member of the keyword arguments dict is set, and a positional argument corresponding to 'var' is also set. It also makes calling much simpler for the common cases. The resulting output gives you a pretty good picture of what values got set, and how they got set. RP Modifications: a) Split from IncludeHistory to separate VariableHistory b) Add dedicated copy function instead of deepcopy c) Use COW for variables dict d) Remove 'value' loginfo value and just use 'details' e) Desensitise code for calling order (set 'op' before/after infer_caller_details was error prone) f) Fix bug where ?= "" wasn't shown correctly g) Log more set operations as some variables mysteriously acquired values previously h) Standardise infer_caller_details to be triggered from .record() where at all possible to reduce overhead in non-enabled cases i) Rename variable parameter names to match inference code j) Add VariableHistory emit() function to match IncludeHistory k) Fix handling of appendVar, prependVar and matching flag ops l) Use ignored=True to stop logging further events where appropriate (Bitbake rev: f00524a3729000cbcb3317fee933ac448fae5e2d) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: bitbake: data_smart.py and friends: Track file inclusions for ↵Peter Seebach
bitbake -e This code adds inclusion history to bitbake -e output, showing which files were included, in what order. This doesn't completely resolve timing questions, because it doesn't show you which lines of a file were processed before or after a given include, but it does let you figure out what the path was by which a particular file ended up in your build at all. How it works: data_smart acquires a .history member, which is an IncludeHistory; this represents the inclusion of a file and all its inclusions, recursively. It provides methods for including files, for finishing inclusion (done as an __exit__), and for dumping the whole tree. The parser is modified to run includes inside a with() to push and pop the include filename. RP Modifications: a) Split Include and Variable tracking b) Replace deepcopy usage with dedicated copy function c) Simplify some variable and usage (Bitbake rev: b2dda721262da8abb7dc32d019e18fbc32ed8860) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-18bitbake: BBHandler/data: Standardise some setVar access formatsRichard Purdie
(Bitbake rev: e12c1a485f96a4701144ac81179ae1af348e5bf3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>