aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
AgeCommit message (Collapse)Author
2011-11-27getVar/setVar cleanupsRichard Purdie
Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. (From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-21sstate.bbclass: Ensure we expand stamp-extra-infoRichard Purdie
Without this change we can end up looking for <stamp>.${MACHINE} instead of the expected expanded value. (From OE-Core rev: 9f743b5033177216fe0e1d3e43ba831f356df08e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` (From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07sstate.bbclass: Ensure machine specific stamps are only wiped for the ↵Richard Purdie
current task sstate was being a little too ethusiastic about removing stamp files and was removing stamp files for other machines when it shouldn't have been. This patch teaches sstate about machine specific stamp extensions and allows it to only remove the current task's stampfiles. Based on a patch from Phil Blundell <philb@gnu.org> with some tweaks from me. (From OE-Core rev: 5e9488495401399d39fcb5012b86c313b6caca73) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26sstate: No need to spew out a debug message per file, summarise insteadRichard Purdie
(From OE-Core rev: c7b02c6e80819e30a0818282ab8d960243a2d0e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07sstate: Avoid contention between sstate packagesRichard Purdie
If several sstate packages are decompressing at the same time, they can conflict over the "fixmepath". If two packages try to write to this at the same time it results in an error. To avoid this we remove the file once we've finished processing it. (From OE-Core rev: c08d7093bf654ffedb155c5627972e9ecfeb0b60) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11sstate: Add level 2 debug so its possible to see what sstate is doingRichard Purdie
Currently its hard to figure out if/when sstate is checking for possible packages to speed up builds. This patch adds level 2 debug output which better indicates what files are being searched for an why. [YOCTO #1259] (From OE-Core rev: a752b23767189f2678367e47ca0b41f49c56a631) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25bitbake.conf/classes: Variable cleanupRichard Purdie
This patch removes the variables BASE_PACKAGE_ARCH, BASEPKG_HOST_SYS, BASEPKG_TARGET_SYS and also removes the immediate assignments in several core classes as these are no longer required. This should make it clearer what some of the core variables do and simplfy some overly complex and confusing class code. (From OE-Core rev: d5521be2dcbaf213c140b0d12a4176380874426b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-12sstate: Improve performance by moving files rather than using copy and deleteRichard Purdie
Acked-by: Joshua Lock <josh@linux.intel.com> (From OE-Core rev: c5913c644d10470e2c3c8b55cf044995fc109d87) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-29sstate.bbclass: Fix an issue if the config changesMark Hatle
We need to check if we know of the task type, before we attempt to process it. In order to reproduce the problem build with: PACKAGE_CLASSES = "package_ipk" Then change it to: PACKAGE_CLASSES = "package_rpm" Build again -- and then try bitbake -c cleansstate <recipe> (From OE-Core rev: 8870ba9d261d3cacbe5d1219fdd95840c05ecf9e) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28classes/conf: Drop MULTIMACH_ARCH variable, it adds unused complexity and ↵Richard Purdie
serves no useful purpose (From OE-Core rev: e623d3015bbdeb2b42b9763937be899a1fa9c0ca) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09sstate.bbclass: When removing files, take an exclusive lock, even for shared ↵Richard Purdie
lockfiles (From OE-Core rev: 4a3e94c2ec014a8aef5e8ebb21bdbdf8d28416b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-28sstate.bbclass: Reduce SSTATE_MANIFESTS assignment to be weakKhem Raj
Distributions can then override this variable if needed useful e.g. when building uclibc/eglibc both using same tmpdir (From OE-Core rev: 839e6e7f3717cc69cf8fc5b1c51bac63ec00655e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-08sstate: ensure an ordered mapping between SSTATETASKS and SSTATETASKNAMESDexuan Cui
Fix [YOCTO #964] A recent commit 25a6e5f9(sstate: use only unique set of SSTATETASK) breaks the ordered mapping between SSTATETASKS and SSTATETASKNAMES. As a result, in sstate_cleanall, the line taskname = tasks[namemap.index(name)] gets an incorrect result, and "bitbake -c cleanall" doesn't really remove the files populalted by do_populate_sysroot. (From OE-Core rev: 2f6505f0e795b6c8cad641a6918739c3faac1f99) Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-29sstate: Add support for taking shared lockfilesRichard Purdie
(From OE-Core rev: c411a10e06f479ff364c07766f7c77907b7b4a16) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-24sstate: use only unique set of SSTATETASKMartin Jansa
* otherwise strange error like this: ERROR: Logfile of failure stored in: /OE/shr-core/tmp/work/armv7a-oe-linux-gnueabi/libtool-cross-2.4-r1/temp/log.do_package_write_ipk.25551 Log data follows: | ERROR: Package already staged (/OE/shr-core/tmp/sstate-control/manifest-nokia900-libtool-cross.deploy-ipk)?! | ERROR: Function 'sstate_task_postfunc' failed NOTE: package libtool-cross-2.4-r1: task do_package_write_ipk: Failed ERROR: Task 11 (/OE/shr-core/openembedded-core/meta/recipes-devtools/libtool/libtool-cross_2.4.bb, do_package_write_ipk) failed with exit code '1' is shown in this case with package_ipk twice in INHERIT * Thanks to Richard for fix (From OE-Core rev: f2fe5e840b8aa0558b5462ef2c7517b2f14ec2ea) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-19sstate: Ensure a clean removes setscene stamps as well as the main task stampsRichard Purdie
(From OE-Core rev: d07fe8aef537a8bcb96a802e18d7c980ff4c5ce2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-18sstate.bbclass: Turn absolute symbolic links into relative ones for sstate ↵Richard Purdie
packages (From OE-Core rev: 655139c2644d085331f4f6814119fbd904ff244b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-15sstate.bbclass: always delete stamp files in sstate_cleanPaul Eggleton
For safety, always delete the stamp files in sstate_clean regardless of whether the manifest file exists or not. (From OE-Core rev: f781c35da9a11eefdb06bda72ca89753df863efa) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-15sstate.bbclass: avoid deleting unrelated stamp filesPaul Eggleton
Avoid deleting stamp files whose names contain the current task's name as a substring. This will be especially important for example if do_package_write is ever made an sstate task (as it would previously have deleted the stamps here for do_package_write_ipk etc.) (From OE-Core rev: ea743ea30e2289733d27979e8ec921648342da0e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-08sstate: Ensure the SRCURI fetcher cache is not used for sstateRichard Purdie
(From OE-Core rev: 115b3b95e87320b4a6a678df45fece06469dfaeb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-23sstate.bbclass: add SSTATEPOSTINSTFUNCSScott Garman
When doing builds using sstate cache, there was no way to run the equivalent of a pkg_postinst function. This is needed by the SGML-related documentation recipes to properly update the catalog files when new DTDs and stylesheets are installed. SSTATEPOSTINSTFUNCS is a new variable you can set to function(s) in your recipe to run after install is completed from sstate. Thanks to Richard Purdie for suggesting this solution. Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-11sstate: Fix bugs after new fetcherZhai Edwin
Current sstate's fetch code doesn't reflect latest fetcher changes, so old fetch style cause exception and fail silently. [BUGID #708] got fixed. Another issue is "import xxx" in python function from sstate.bbclass can only sit in the head of the function, else have UnboundLocalError: "local variable XXX referenced before assignment". Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2011-02-07meta/classes: Update classes to use new fetcher APIRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03license.bbclass: Add coverage by sstate code (also use cleandirs and dirs ↵Richard Purdie
task attribures for directory handling) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28staging.bbclass: Only clean out the sysroot if we rerun configure, not at ↵Richard Purdie
setscene time Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28sstate: Ensure stale stamp files are removed as part of sstate_clean()Richard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27sstate.bbclass: Fix stupid typoRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27sstate.bbclass: No need to dump the contents of the sstate package to stdoutRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27sstate.bbclass: Handle whitespace in the list of files to 'fixup' to resolve ↵Richard Purdie
log warning Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-27sstate.bbclass: Optimise to check if the manifest exists without taking locksRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-26sstate.bbclass: Correctly handle empty sstate packagesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25sanity/sstate: Due to the sysroot layout changes, the toolchain bootstrap ↵Richard Purdie
process changes and the recent pseudo bug, bump the tmpdir layout version number and the sstate version numbers Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25base/sstate.bbclass: Rename fetcher "go" method to "download" when using ↵Yu Ke
fetch v2 Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25bitbake: machine specific sysroots implementationDongxiao Xu
This commit changes the sysroots path to be machine specific. Changes includes: 1) STAGING_DIR_TARGET and STRAGING_DIR_HOST points to machine specific paths. 2) task stamp files. Adding ${MACHINE} info into stamp files for do_populate_sysroots and do_package tasks. Add a BB_STAMPTASK_BLACKLIST to keep native, nativesdk, crosssdk, and cross-canadian stamp unchanged. 3) siteconfig path. Separate the site config path for different machines to avoid one machine adopting the cache file of another machine. 4) sstate. Add machine name to sstate manifest file. Change relocation code for sstate paths since sysroot is machine. Keep native, nativesdk, crosssdk, and cross-canadian unchanged. 5) toolchain scripts. Change the environment path to point to machine specific sysroots in toolchain scripts bbclass. 6) Relocate la files when populating to a different machine of the same architecture. 7) Exclude STAGING_DIR_TARGET and STAGING_DIR_HOST parameter from sstate siginfo since they contain ${MACHINE} information. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
2011-01-25sstate.bbclass: allow each step of toolchain bootstrap processes to do ↵Dexuan Cui
populate_sysroot independently Some steps (like gcc-cross-initial, gcc-cross-intermediate and eglibc-initial) will install to new locations to avoid file overwriting. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-19sstate.bbclass: Ensure clean/setscene sstate functions run under appropriate ↵Richard Purdie
locking Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-04sstate.bbclass: fix multimachine builds when PACKAGE_ARCH = MACHINE_ARCHKoen Kooi
previously you could only build one set of packages for multiple machines: MACHINE=foo bitbake task-base MACHINE=bar bitbake task-base would only create task-base packages for foo, but not for both foo and bar. Doing MACHINE=bar bitbake task-base -c cleanall would remove the packages for foo. The solution is to use MULTIMACH_ARCH as suggested by Richard Purdie. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-12-20sstate.bbclass: delete sstate files when doing cleanallPaul Eggleton
This fixes the cleanall task to actually delete the sstage cache files. This was not working correctly before due to attempting to use the current task's hash in the package file name to be deleted, which of course is the hash of the cleanall task when doing cleanall. The siginfo files are now deleted as well. Signed-off-by: Paul Eggleton <paul.eggleton@intel.com>
2010-11-14sstate.bbclass: Remove the temp sstate-build-* directories in WORKDIRDongxiao Xu
Remove the temp sstate-build-* directoies. Take poky-image-minimal as an example, this saves about 17% disk space. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2010-11-13bitbake/fetch: Allow checking of a single url at a time (massive sstate ↵Richard Purdie
speed improvement) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-13sstate.bbclass: Only create symlinks to different localpath urls if the ↵Richard Purdie
fetch succeeded Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-02sstate: Provide a temporary mechanism to stop collisions between toolchain ↵Richard Purdie
components in builds from scratch using sstate Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22sstate: Fix mirror handling for file:// urlsRichard Purdie
The fetcher has special handling for file:// mirror urls, being efficient and just providing an updated path. Unfortunately the sstate fetching code wasn't able to handle this. This patch detects this and injects a symlink to ensure everything works. It also fixes some datastore references to be correct and ensures the sstate download directory exists if it doesn't already. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22sstate: Fix broken plaindirs supportRichard Purdie
When installing a sstate package, directories tracked by plaindirs were being installed to the incorrect location. With the current implementation this was limited to the do_package task. This patch ensures plaindirs tracked files are created in the correct location, fixing the bug where these files would go missing. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-22base/sstate: Add cleanall task to remove downloads and sstate cached filesRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07sstate: Fix SSTAGE_MIRRORS handling and improve example in local.conf.sampleRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-05bitbake/sstate: Implement a lookup function to speed up setscene processingRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-01sstate: Deal with a potential race when cleaning packagesRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-29sstate: list directories in child first order in the manifest fileJoshua Lock
The directory list in the manifest file needs to be sorted such that child directories are deleted first. Fortunately as the list is generated by walking the directory tree achieving this is as simple as reversing the directory list. Fixes [BUGID #269] Signed-off-by: Joshua Lock <josh@linux.intel.com>