summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: fetch/local: Allow preservation of path components in relative ↵Richard Purdie2012-07-261-3/+4
| | | | | | | | | | | file:// urls This enhances the fetcher to allow preservation of the path component in urls like: file://xxx/yyy/somefile.patch. (Bitbake rev: e49a656a499355a5c6e7eb00bf5b8f1795e8dddb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Wipe out the stamp cache between setscene and main ↵Richard Purdie2012-07-261-0/+2
| | | | | | | | | | | task execution The stamp files can change during setscene and the cache should be cleared to account for this. (Bitbake rev: 5ec12f586a50fce675b268965b3dc487aaa96c43) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Allow the setsceneverify function to have a list of ↵Richard Purdie2012-07-261-3/+24
| | | | | | | | | | | | | | | | | | | | tasks that are invalid and need to run There was some odd behaviour if some task was run from setcene whilst there were existing valid stamps for a depepdency. For example, do_populate_sysroot might be installed at setscene time but if there were other tasks not installed from setscene such as do_populate_lic which depend on do_configure, the setsceneverify function would think that do_configure needed to be rerun and would hence void the do_populate_sysroot and force that to rerun too. The setsceneverify function needs to know which tasks are going to be rerun, not just what the overall task list is and what setscene functions have run. This patch adds that information and maintains backwards compatibility in a slightly ugly but effective way. The metadata needs updating to take advantage of this change. (Bitbake rev: 1423aafff97f17169e95ec3ba973eb002ff98c1c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Ensure one setscene function doesn't mask out another ↵Richard Purdie2012-07-261-2/+5
| | | | | | | | | | | | | which needs to run The scenequeue code could result in one setscene function masking out another which had been marked as notcovered. This change ensures the notcovered list is taken into account when deciding which tasks need to be run, ensuring that tasks that should be run do get run. (Bitbake rev: 95b31127d8ba12ccb061d67481ece134c18c39f2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Optimise the hashvalidate call to only process tasks ↵Richard Purdie2012-07-261-0/+6
| | | | | | | | | | | | | we may actually want Currently we call the hashvalidate for anything without a valid setscene stamp. This improves the code to account for existing stamp files so that we only process setscene hashes for things we might actually end up using. This avoids hash processing and makes things slightly more efficient and the logs less confusing. (Bitbake rev: 2e71a65bd910e8be894b8284eb0a50de7270c081) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Gracefully exit if an exception occurs in the runqueue ↵Richard Purdie2012-07-261-1/+9
| | | | | | | | | | | | | | | execution code There was a bug where an exception in the runqueue code would cause an infinite loop of debug messages. The exception would get reported but would loop since runqueue was still registered as an idle handler. This patch adds an exception handler to ensure in the case of errors, the system more gracefully shuts down and doesn't loop. (Bitbake rev: 99467c7e387f6e71358b40b8afae450d72cd68e0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Fix a stamp comparision bugRichard Purdie2012-07-261-6/+9
| | | | | | | | | | | | | | | We check the stamp cache before comparing t2 and t3 which means that we can miss a level in the stamp file chains. The result of this is that a stamp can be accepted as valid when in fact it isn't. Some weird behaviour alerted me to this in a local build. This patch also fixes to only uses the cache in recurse mode, there was a corner case where stamps not in recurse mode could get added to the cache which could cause an issue potentially. (Bitbake rev: 7a5f776d325c0e37f58003424beda7cae2695325) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake wget fetcher: add parameter: downloadfilenameNitin A Kamble2012-07-241-1/+8
| | | | | | | | | | | | | | | this allows wget fetcher to store the downloaded file in a specified custom filename in ${DL_DIR} Exmaple: SRC_URI = "https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz" This fixes bug: [YOCTO #2570] (Bitbake rev: ceb5871007f221c4d86a7bee421d4dd8d9100aaf) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Change bzr fetcher to use branch instead of co. Fixes: bzr: ERROR: ↵Martin Ertsaas2012-07-241-1/+1
| | | | | | | | | | | | No pull location known or specified. This problem occurs when fetching a different revision of the same source. Which mean every time you update a bzr package. Using branch sets the pull location, and are the preferred way of cloning/branching a repository in bzr. (Bitbake rev: 877a04d0b3cea9d5dbdf3c54fe0feb54cb997dda) Signed-off-by: Martin Ertsaas <mertsas@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker.py: Ensure we track parser errors and only show bbappend ↵Richard Purdie2012-07-241-2/+9
| | | | | | | | | | | | | | issues on complete parse Currently if any parsing failure occurs, there can be a long list of bbappends that are "dangling" based on the fact that recipes were not parsed. This change firstly ensures the error counter is incremented and secondly that the bbappends list is only shown on a completed parse list. (Bitbake rev: 358952f0d874b869d361bbd72a5ea317bf939cd3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Update version to 1.15.3Richard Purdie2012-07-192-2/+2
| | | | | | (Bitbake rev: befbb5c9428eaf98b2ff9c4b36b0b3f2dce7fe07) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Warn upon finding tab indentation in python functionsRichard Purdie2012-07-192-2/+4
| | | | | | | | | | | | Mixed spacing in python functions can cause subtle issues and generally confuses users. We've standardised on 4 space indentation, adding this warning helps ensure consistency and avoid bugs. It also makes _prepend and _append operations on python functions slightly less risky. (Bitbake rev: c51cfaf48d3b12a19b01e824b6ba4230376bcad4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/svn.py: Use protocol parameter to get the protocolMartin Jansa2012-07-181-1/+1
| | | | | | | | | | | * it was send in v1 of proto -> protocol changes but then wasn't in V2 http://patchwork.openembedded.org/patch/31617/ where warning about proto= was moved to shared __init__ (Bitbake rev: b2017f493ab730d804ae44ec5a168d464626d046) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hob2: add elf to hcc supported image typesKang Kai2012-07-171-0/+1
| | | | | | | | | | | | | [Yocto #2709] OE Core Commit c9b01af84b64edba056f959c349895e0698324e6 add elf image type. This will cause hob build image failed. Add elf to hcc supoorted image types to fix this issue. (Bitbake rev: a93a58b7cea2ddb9596cb4d718c0801db5d1a295) Signed-off-by: Kang Kai <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen.py: Insure .siginfo files writes into shared sstate cache ↵Jeffrey C Honig2012-07-171-4/+15
| | | | | | | | | | | | | are atomic Use tempfile.mkstemp to create a temporary file in the sstate dir and move it into place after closing. The previous code would fail in the chmod() if two users were running jobs that touched the same signature file. (Bitbake rev: ff11e9ac5eba2d957917664a7b91b1277d8ad548) Signed-off-by: Jeffrey C Honig <jeffrey.honig@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Improve error output to be more useful when ↵Richard Purdie2012-07-171-1/+1
| | | | | | | | non-existent tasks are found (Bitbake rev: 9be584272a63f48d8dc7c9f05b017d11250aa247) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/__init__.py: Warn user if SRC_URI is using "proto" and not ↵Andrei Gherzan2012-07-111-0/+4
| | | | | | | | | | | "protocol" As well, if "proto" is used, get the associated value as "protocol" (Bitbake rev: 53e6b630f0463d2d07cdaa9c9eb36794dc9b6b69) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/bzr.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: 630876b40ed181312e84f902c4cfb97361afbe81) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/hg.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: f4a780a7f50fdd8f2bd75888dad790bcfe95b873) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/osc.py: Use "protocol" parameter to get the protocolAndrei Gherzan2012-07-111-1/+1
| | | | | | | (Bitbake rev: 01040efce82cfbaa76f46d9f95c984be8f9ea810) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Abort build if runtime dependency conflictWenzong Fan2012-07-112-1/+4
| | | | | | | | | | | | | | Currently if there are multiple preferred providers available for a runtime dependency, bitbake will print an Error message and let the build go on. Anyways the build should abort while any Errors occured. [YOCTO #2734] (Bitbake rev: 5f81a714f4fca785780bef555b419f0250e5ec1c) Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/wget: Use FETCHCMD_wget to provide the commandline and optionsRichard Purdie2012-07-101-3/+5
| | | | | | | | | This also changes to use -t 2 -T 30 as the defaults which are more sane for a modern fetcher and already specified in OpenEmbedded metadata. (Bitbake rev: bf0e5dddf0f63cdb0648fb6d872af5ceef6fbfb0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs.py: Switch to use FETCHCMD_cvs and handle parameters in ↵Richard Purdie2012-07-101-9/+3
| | | | | | | | | | | the fetcher itself This brings the cvs fetcher more into line with the others and allows consistent usage of the FETCHCMD variable and option handling. (Bitbake rev: 390ad59739356422852e976fa246375abc6aba08) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/cooker: Print which pkgs would be built in -g outputRobert Yang2012-07-092-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for giving the user a clear list to show which pkg would be built, we have the "bitbake -g", but it is not easy to read for people, it is for "dot". Improve the "bitbake -g" to also save a pn-buildlist: $ bitbake -g core-image-sato ... NOTE: PN build list saved to 'pn-buildlist' [snip] The contents of pn-buildlist: busybox shadow-native pth sysfsutils qemu-helper-native curl-native ncurses-native gdbm xserver-xorg linux-libc-headers [snip] [YOCTO #2404] (Bitbake rev: 18aff925aece774d0172894e25584353519ca03f) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: usermanual: Fix missing markupRobert P. J. Day2012-07-061-1/+1
| | | | | | (Bitbake rev: 68af2b09315ba35eae24933a599014a662789c2c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Fix multiple override interaction with append and ↵Richard Purdie2012-07-051-1/+6
| | | | | | | | | | | | | | | | | | | | | prepend operators Variables which used multiple overrides and the append/prepend operators were not functioning correctly. This change fixes that. This fixes the testcase: OVERRIDES = "linux:x86" TESTVAR = "original" TESTVAR_append_x86 = " x86" TESTVAR_append_x86_linux = " x86+linux" TESTVAR_append_linux_x86 = " linux+x86" [YOCTO #2672] (Bitbake rev: dc35a2e506e15fb7ddbf74c3b3280e9e83ab33bb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Fix recursive task pruning to only prune self ↵Richard Purdie2012-07-041-2/+4
| | | | | | | | referencing tasks (Bitbake rev: 4962a59793504b26b06cf058dda600a07fbbd951) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/svn: Enhance to cope with subversion 1.7 upgradeRichard Purdie2012-07-041-5/+10
| | | | | | | | | | | | | svn changed working checkout formats between 1.6 and 1.7. Its convoluted to detect what format a given working copy is in so the simplest solution is simply to run "svn upgrade" within the working copy. The base svn command variable is relocated slightly to enable this new code to work effectively. (Bitbake rev: ebd3ecdb5f3c6d3fe1fad27cbed4d80f4277e92e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: usermanual: Improve task dependency documentation to match realityRichard Purdie2012-07-041-12/+10
| | | | | | (Bitbake rev: f67c0606fc681359fb0c68be55cfc9f11d410f17) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Allow recrdeptasks that have self referencesRichard Purdie2012-07-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | In some cases we want to pull in DEPENDS and RDEPENDS of recrdeptask dependencies but we need a way to trigger or avoid this behaviour depending on context. The logical syntax to trigger such behaviour would be a self referencing recrdeptask: do_a[recrdeptask] = "do_a do_b" The dependency chains already recurse this kind of expression correctly, the missing piece is to avoid any circular reference errors. Since the dependencies have already been recursively resolved, simply removing any recrdeptask references is enough to break the circular references. This patch therefore removes any circular references using the set difference_update() operator. There will be metadata tweaks required to add any references needed to the extra taskname. (Bitbake rev: a5324da9b8a0c9307a6c511ea9009f34be70c92b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Hob: fixed some variables not clean bug in detail pageLiming An2012-07-041-11/+3
| | | | | | | | | [YOCTO #2679] (Bitbake rev: 73801f571e040dcdfeb15a15b9a484cbefaae70c) Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git: do not execute 'git remote prune'Enrico Scholz2012-07-041-1/+0
| | | | | | | | | | | | | | | | 'git remote prune' at this location does not make much sense because the following 'git remote rm' will prune stale and non-stale branches. The 'prune' can cause trouble because it will access the network bypassing the no-network code in bitbake. When this operation fails and throws an exception, the next command (--> 'git remote rm') will be skipped. This in turn, will make all the following operations fail, because they assume that the remote does not exist yet. (Bitbake rev: 2ba23df5fad4b94d38a6aed97f7822226d72eb89) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Hob: change 'run image' and 'deploy' Gui and work flow for building ↵Liming An2012-06-291-114/+98
| | | | | | | | | | | | | | | | | | | | | | detail page In build detail page, the response action of clicked the 'run image' or 'deploy' button will accroding to below as ui design: 1)if there has one file in building result, it will responsed the 'run image'(now, we only support the qemu) or 'deploy' directly 2)if there has more than one file, it will popup a dialog with listed created files type, they are has same action attributes 'deploy' or 'runnable'. Note: because the qemu image (runnable file) can't be deployed and we can't generated a image that has the two attributes now, can be run or can be deployed, so the code will not deal with this case. [YOCTO #2155] (Bitbake rev: 0d24b1e85a11b68c8464cf15b49d3fc78f216818) Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Handle multiple rdeptask entriesRichard Purdie2012-06-281-2/+2
| | | | | | | | | | I'm not sure why we don't currently allow multiple entries in rdeptask when we do in deptask. This makes the handling match between the two since its trivial to fix. (Bitbake rev: 19c84fe8854639768c874cc1449963a9867ad397) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Revert the regexp removal for the type field and instead ↵Richard Purdie2012-06-281-9/+8
| | | | | | | | | | | | | | anchor regexp People are using regexps in the url type field so we need to preserve this bitbake behaviour. To address the issues with https:// urls mapping badly to file:// urls we anchor the regexp if its not already anchored. There should be no expressions in the wild which would break with this change. (Bitbake rev: ce0579dc256251e523c6330641f98b9f5a0e5761) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Switch the comparision order to make test failures ↵Richard Purdie2012-06-281-1/+1
| | | | | | | | slightly clearer (Bitbake rev: 2b1311e21172847b6a86cfb21a84fd00e4ab1ac5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Ensure cwd is valud for the git cloneRichard Purdie2012-06-281-0/+1
| | | | | | (Bitbake rev: 60b1a9f52dfec98e55a879a637f7142b0175b452) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Reimplement recrdepends so it works more correctlyRichard Purdie2012-06-281-58/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, recrdepends is extremely greedy. For example: do_foo[rdepends] = "somedep:sometask" addtask foo which adds foo with *no* dependencies, will suddenly start appearing as a dependency in every task which uses recrdepends. So far this has been mildy annoying but we now have use cases where this makes no sense at all. This reworks the recrdepends code to avoid this problem. To do this we can no longer collapse things into lists just based on file ID. The problem is this code is extremely performance sensitive. The "preparing runqueue" phase spends a lot of time in these recursive dependency calculations so any change here could negatively impact the user experience. As such, this code has been carefully tested on convoluted dependency trees with operations like "time bitbake world -g". The net result of this change and the preceeding changes combined is a net speed up of these operations in all cases measured. Tests were made comparing "bitbake world -g" task-depends.dot before and after this patch. There *are* differences for example -nativesdk do_build dependencies on -native recipes are no longer present. All removed dependencies appear to be sensible improvements to the system. The "rdepends" cross contamination issue above is also fixed. (Bitbake rev: 82d73423c57569b984ee0ae3d93e3c3bd5dc5216) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: Convert depends variable to use setsRichard Purdie2012-06-281-12/+8
| | | | | | | | | This gives some small performance gains and sets the scene for other improvements by removing the need for duplicate detection code. (Bitbake rev: 6fd723479e8d49227fd58040b3485c1d5afc4bc5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: taskdata: Add gettask_id_fromfnid helper functionRichard Purdie2012-06-282-8/+14
| | | | | | | | | | This is like gettask_id but doesn't require translation of fnid -> fn first which the function then translates back. This gives a sizeable performance improvement since a significant number of lookups are avoided. (Bitbake rev: 3190cb83e2af195a464f669c5aa8aedbf795160e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Fix for Hob bug #2323Cristian Iorga2012-06-252-12/+4
| | | | | | | | | | | Removed unnecessary button from Recipes screen and replaced the button that diplayed packages size and total image size from Packages screen with a label. (Bitbake rev: e6ff1d4bab43fdcd8af1230f1d54615f53c1978e) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hig.py: use module tempfile to create temp fileKang Kai2012-06-251-12/+8
| | | | | | | | | | I am sorry that use os.tmpname which casue a security warning. Follow Darren's suggestion to use tempfile.NamedTemporaryFile instead. (Bitbake rev: fe514a130579302312f68821536d108c8ceb4363) Signed-off-by: Kang Kai <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Ensure star character doesn't end up in mirror tarball namesRichard Purdie2012-06-252-2/+2
| | | | | | | | | | | | If '*' does end up in mirror urls accidently, some strange things can break since supports_checksum() looks for this, ud.localpath can then get ignored and this can lead to empty directories being downloaded "successfully". '*' is a special case for file urls only at this point so remove any entries that accidentlly make it in through url mapping. (Bitbake rev: 1369bec2404d942acc3618a8d005ec6868dcfd41) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/utils.py: remove unnecessary preserved variablesPaul Eggleton2012-06-251-2/+0
| | | | | | | | | | | | | | | | | | | | _ and LANG no longer need to be preserved from the external environment. The value of _ changes between non-pseudo-wrapped and pseudo-wrapped invocations (e.g. between "bitbake -p" and "bitbake target") and this will currently trigger a full reparse in the absence of a whitelist entry in BB_HASHCONFIG_WHITELIST, which is not ideal. LANG used to be preserved in order to ensure the C locale was being used for tools invoked by bitbake, however we now set LC_ALL in bitbake.conf to take care of this. Second part of the fix for [YOCTO #2600]. Acked-by: Jason Wessel <jason.wessel@windriver.com> (Bitbake rev: 1c531dff2fb055ecab2d462027eecec3fabc2a44) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add new mirror syntax to simplify mirror specificationsRichard Purdie2012-06-252-5/+22
| | | | | | | | | | | | | | | | | | | | | | | When writing mirror specifications, the current regexp syntax can be awkward and hard to get it to do what you want. For example, extracting the 'basename' of a repository: PREMIRRORS = "git://.*/([^/]+/)*([^/]*) git://somewhere.org/somedir/\\2;protocol=file" can now become: PREMIRRORS = "git://.*/.* git://somewhere.org/somedir/BASENAME;protocol=file" which is much clearer. A MIRRORNAME substitution is also added which contains an encoded form of both host and path. One of the problems with the existing regexp syntax is you couldn't access HOST information from PATH and vice-versa which is an issue this patch also addresses. Tests for the new syntax are also added. (Bitbake rev: c6b1acbad7b3d2698530eb8b5249adb4ab95da21) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Handle errors orruring when building mirror urlsRichard Purdie2012-06-251-2/+11
| | | | | | | | | | | | When we build the mirror urls, its possible an error will occur. If it does, it should just mean we don't attempt this mirror url. The current code actually aborts *all* the mirrors, not just the failed url. This patch catches and logs the exception allowing things to continue. (Bitbake rev: c35cbd1a1403865cf4f59ec88e1881669868103c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: process: Improve _logged_communicate bufferingRichard Purdie2012-06-252-14/+35
| | | | | | | | | | | | | | | | | | | | | | | | | There are two problems with the _logged_communicate that are both caused as a result of buffering I/O issues: 1) log truncation when python fails 2) While a bitbake task is running it is impossible to see what is going on if it is only writing a small incremental log that is smaller than the buffer, or you get only a partial log, up until the task exists. It is worse in the case that stderr and stdout are separate file handles, because previous code blocks on the read of stdout and then stderr, serially. The right approach is simply to use select() to determine if there is data available and also flush the log before exiting. This is based on a patch from Jason Wessel <jason.wessel@windriver.com> with some changes to flush upon exit, abstract the non blocking file descriptor setup and drop the buffer size parameter. (Bitbake rev: 361fb71e907aa84c28ecec79fefc6ca39c39172f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: taskdata.py: Add support for rdepends task flagRichard Purdie2012-06-253-1/+30
| | | | | | | | | | Currently its not possible to add arbitrary RDEPENDS to a specific task. This can be useful and this patch adds functionality equivalent to the 'depends' task flag. (Bitbake rev: db65080a6199baecc5c422294a4c4a9fd12dc29e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: utils.py: Add function to set nonblocking operation on a file ↵Richard Purdie2012-06-252-1/+6
| | | | | | | | descriptor (Bitbake rev: ab6d71ebfcfb7bedc064b25f84647c8815096e5a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: Remove -l option, its not necessaryRichard Purdie2012-06-251-1/+2
| | | | | | | | | | | | | If -l is specified and the source and destination are not on a common filesystem an error occurs. The -l option is however the default for git for local paths which the fetcher already now ensures in the file:// case. We can therefore safely drop the -l option. (Bitbake rev: 3aeb268b2aaab4bb8b1cfff1450e0b76aa8ce855) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>