summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/sstatesig.py
Commit message (Collapse)AuthorAgeFilesLines
* sstatesig: Anchor inherits class testsRichard Purdie2014-03-301-3/+3
| | | | | | | | | | | | There was a nasty sstate hash corruption issue occurring where the fact the testimage bbclass was inherited meant that the checksum changed due to testimage.bbclass being confused with image.bbclass. This patch anchors the bbclass names to avoid this confusion. (From OE-Core rev: 943a75a4f3b6877e4092dae14b59b7afef8cad3d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: include native/cross/nativesdk deps in target signaturesMartin Jansa2014-01-211-4/+0
| | | | | | | | | | | | | | | | | | | | * I don't have any real evidence or good statistics for this, but when comparing signature dumps from my big bitbake world builds I usually see a lot of rebuilds caused by changes in .bbclasses and only very rare would be the case where oe-core upgrade brings changes in -native recipes and no change in .bbclasses used from target recipes * changing the default to include them shouldn't cause significant increase in rebuilds and sstate reuse a bit safer * people working on toolchain (e.g. using gcc from AUTOREV) can easily extend sstate_rundepfilter to ignore them again (it's easier than removing existing filter), example how add own signature handler in your layer is here: https://github.com/openwebos/meta-webos/commit/9ac3a7c803e7793b3274e4998f167b6278db8042 (From OE-Core rev: 336a7897e39b9e42dcfcba9e2520ea96b0c6a8d6) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate/sstatesig: Add populate_lic to list of arch invariant sstate tasksRichard Purdie2013-12-201-0/+3
| | | | | | | | | | | | | Like fetch, unpack and patch, populate_lic doesn't vary between different archs so we should mark it as such. This means better sstate cache reuse with fewer duplicate files as well as less confusing sstate debugging. sstatesig also needs to account for the fact BPN is used for sstate files in these cases. (From OE-Core rev: 3d59d0bed756f64d0092caa3892239c779c4a341) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Correctly handle matches spanning stamps and sstatedirRichard Purdie2013-12-201-1/+0
| | | | | | | | | | | | | | | By resetting filesdates at this point, we lose matches from stamps which may not have been in sstatedir. When we don't have hashes specicifed, its better to return all matches and have the caller decide which are relavent and which are not since this function has no ability to decide. There will almost always be one match from stamps we need to keep and refer to. (From OE-Core rev: f4c1c9ad2c7e944d4926d0629611da97f9df6a9a) (From OE-Core rev: 8629844640a5a4c6a9d9375e7b637bcbf3451c4c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Update for the removal of sstate-nameRichard Purdie2013-12-201-3/+1
| | | | | | | | | | | | We've dropped sstate-name so we can remove this code. The fallback was incorrect since we use taskname without the do_ prefix so this patch updates to account for that too. (From OE-Core rev: 72ff58124081333d46d37f31f2d1bf40d715e3bd) (From OE-Core rev: dbc1426ee75bcf2f6d8b18312522a9b823e23173) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Ensure we return all matches for find_sigdataRichard Purdie2013-12-201-1/+1
| | | | | | | | | | | | | When the hashes to find isn't specified we need to return matches from both the sstate cache and the local stamps directory regardless of how many we've found so far. If we don't do this, we can miss stamps and the comparison is less accurate/incorrect. (From OE-Core rev: 08a074e11e2d517b81ca71fd9bda65297bb015a7) (From OE-Core rev: 04fc682af7c1657b1c9f37b66a78c4ffc8066e24) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Fix image regeneration issueRichard Purdie2013-11-291-1/+3
| | | | | | | | | | | | | | | With the "ABI safe" recipes, we've been excluding those from signatures. This is fine in the general case but in the specific case of image recipes it breaks. A good test case is the interfaces file. Editting this causes init-ifupdown to rebuild but not an image containing it (e.g. core-image-minimal). We need to ensure the checksums are added to the image recipes and this change does that. (From OE-Core rev: fd085f15e7cd093953f974f69277e130174d551d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig: Ensure packagegroups don't continually rebuildRichard Purdie2013-11-081-0/+7
| | | | | | | | | | | | | packagegroups are allarch and shouldn't change depending on the target or machine selected. In general they should have good stable namespaces for their dependencies. As such we can exclude them from rebuilding when dependency checksums change. (From OE-Core rev: 80b065ff46322ec0cad039dfd9eb2d010168dba6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes/lib: Fix various python whitespace issuesRichard Purdie2013-05-091-10/+10
| | | | | | | | | There are some left over tab characters in the python functions. This removes them and resolves python 3 errors. (From OE-Core rev: fafeb381c48291fa65c634c01c244843c8d7fad3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/sstatesig: fix locating stamp filesPaul Eggleton2012-12-051-19/+23
| | | | | | | | | | | | Fixes "bitbake-diffsigs -t" for changes to the stamp directory layout, and this time uses the actual value of STAMP to get the location of sigdata files in the stamp directory rather than trying to do it manually, which should be a little more robust. (From OE-Core rev: 82412ebabb0f89c694327ae38f7e864ee8511e7f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: add signature data query functionPaul Eggleton2012-09-101-0/+81
| | | | | | | | | | | Add a function that can be used from BitBake code which will find signature data (sigdata/siginfo) files based on specified criteria, and hook it into BitBake as bb.siggen.find_siginfo. (From OE-Core rev: 9f0453c29891e32f8038c4bbc22ada28bfbf818a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie2012-09-021-1/+1
| | | | | | | | | | | | | | | As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. (From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude git-native from sstate checksumKhem Raj2012-07-171-4/+2
| | | | | | | | | | | | | | | | | | | gcc exposed this issue where cross gcc recipes were not having same task checksums as libgcc or gcc-runtime the target recipes which use same shared workdir and it was triggering the unpack fetch and patch tasks to reexecute and hence the trouble Now that we have more than 1 package to consider lets combine the check Thanks RP for help and this is on the line of patch 793ce6cd9aa632e0f13789c8293770a86085d28d (From OE-Core rev: 72cc3df204c4b838cc0358a7ac989adfdd5c1760) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude subversion-native from sstate checksumsRichard Purdie2012-07-051-0/+4
| | | | | | | | | | | If we don't do this, target and cross recipes end up with different sstate checksums for shared work directory tasks which is bad in the case of gcc. It leads to multiple fetch/unpack tasks against the shared directory which ends up with build failures/races. (From OE-Core rev: 793ce6cd9aa632e0f13789c8293770a86085d28d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: add SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS option to exclude well ↵Martin Jansa2012-02-261-0/+6
| | | | | | | | | defined recipe->dependency (From OE-Core rev: d73c139fd73ee268d29837db6ccc69c412022d6e) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Move package exclusion list to the layer configRichard Purdie2012-02-231-4/+6
| | | | | | | | | | | | | its desireable for other layers to be able to append to the list of packages with 'safe ABI's which are excluded from the sstate signatures. I can't emphasise enough how careful you need to be with this list, anything excluded here needs to be things which don't change interface and are consistent between different machines. (From OE-Core rev: 5adef35691a956c3071c0a1ed1caf6b58d1ec5a1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Add handling for machine specific module dependenciesRichard Purdie2012-02-231-6/+20
| | | | | | | | | | | | | | | | | | Adding dependencies on machine specific recipes from generic packages causes a rebuild of the generic package per machine if using signatures for the stamp files which is unacceptable. We need to declare that RRECOMMENDS on kernel-module-* are safe and that we shouldn't care about these machine specific dependencies from a stamp perspective. This change adds code which does this. It depends on a change in bitbake to expose the dataCache object which can be used to make the calculations we need to allow this to work correctly. (From OE-Core rev: 91fc672756d45086cdf4e9c6de8e920dcd8cd14e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude common machine specific dependencies from task ↵Richard Purdie2012-01-251-0/+4
| | | | | | | | | | | | | | signatures Where we have machine specific recipes with well defined behaviour, it makes no sense to rebuild recipes with these as dependencies whenever the machine changes. This patch lists those well behaved recipes and excludes them from the task signatures so we can change MACHINE without invalidating existing PACKAGE_ARCH binaries. (From OE-Core rev: 07e34778fc74126af1380bf249fd34a5e3df12c2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: Add sstatesig, OE specific signature generator classesRichard Purdie2012-01-231-0/+48
This patch adds SignatureGenerator classes specific to OE. For now, these emulate the previous behaviour with the exception that dependencies on quilt-native are now ignored for checksum purposes. The intent is to allow easier experimentation and customisation of this code in future as a result of these changes. Note that these changes require pending bitbake patches. (From OE-Core rev: cb73cf4299a192e6065d567fae700987c3f937aa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>