summaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* kernel, license, sstate, rootfs.py: Remove deploy directory READMEMike Crowe2017-08-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It isn't clear that the README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt file in the deploy directory warrants the complexity it brings elsewhere. Let's just remove it entirely. In particular, if two do_image_complete tasks run in parallel they risk both trying to put their image into ${DEPLOY_DIR_IMAGE} at the same time. Both will contain a README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt file. In theory this should be safe because "cp -alf" will just cause one to overwrite the other. Unfortunately, coreutils cp also has a race[1] which means that if one copy creates the file at just the wrong point the other will fail with: cp: cannot create hard link ‘..../tmp-glibc/deploy/images/pantera/README_-_DO_NOT_DELETE_FILES_IN_THIS_D.txt’ to +‘..../tmp-glibc/work/rage_against-oe-linux-gnueabi/my-own-image/1.0-r0/deploy-my-own-image-complete/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt’: File exists [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25680 (From OE-Core rev: 71e9e88847d7000781642ea6187ebd8f40dfdcfe) (From OE-Core rev: 20c39fdbb25c1b1867709c5bfb3ae2baef249be9) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: check if mirror directory is writableEd Bartosh2017-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | Commit 51edde653707e7a3cd2186082458f01f32cd1996 makes a wrong assumption that SSTATE_MIRRORS have write permissions. A mirror is by definition outside of it's user control. In my use case it happens I does not have permissions to update the access time of the dereferenced symbolic-link file. Checked if file is writable before changing its atime. Thanks to Paulo Neves for the patch. [YOCTO #11307] (From OE-Core rev: 112ae104287ad4078a9fa90fb2a42f4c814ef824) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: update .siginfo atimeEd Bartosh2017-05-181-0/+2
| | | | | | | | | | | | | | | | | | | | | .siginfo files are not being accessed from local or NFS-mounted sstate mirrors when sstate package is installed, so their atime is not updated. If sstate mirror is cleaned based on access time, they get deleted, even though they are still being used. Updated atime of .siginfo symlinks with 'touch -a'. This command dereferences symlinks pointing to the local mirror and updates atime of the .siginfo file on the mirror. [YOCTO #10857] (From OE-Core rev: 9f8013e3339533c7d60139c1993a5d077fe02ee5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure we don't remove sigbasedata filesRichard Purdie2016-11-161-1/+1
| | | | | | | | | | | We don't remove sigdata files, we also shouldn't remove sigbasedata files as this hinders debugging. (From OE-Core rev: 1ebd85f8dfe45b92c0137547c05e013e340f9cec) (From OE-Core rev: 3764a5ce8a1f26b46c389c256c10596ed8d31cc7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate.bbclass: Enable thread lock when checkstatusAníbal Limón2016-10-051-0/+4
| | | | | | | | | | | | | | The checkstatus function fires an event to notify bitbake UI about the progress of the task, this function is implemented using ThreadPool and is causing event lose when multiple threads tries to fire an event (writes over socket/fd). [YOCTO #10330] (From OE-Core rev: 6e0bb9d141438c0051c32b0d3a247915b71ccb82) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Use bb.fatal() instead of raising FuncFailedUlf Magnusson2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This sets a good example and avoids unnecessarily contributing to perceived complexity and cargo culting. Motivating quote below: < kergoth> the *original* intent was for the function/task to error via whatever appropriate means, bb.fatal, whatever, and funcfailed was what you'd catch if you were calling exec_func/exec_task. that is, it's what those functions raise, not what metadata functions should be raising < kergoth> it didn't end up being used that way < kergoth> but there's really never a reason to raise it yourself FuncFailed.__init__ takes a 'name' argument rather than a 'msg' argument, which also shows that the original purpose got lost. (From OE-Core rev: 33611b69c221cf875eba1c7cb599c256825ae470) Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add postrm command supportRichard Purdie2016-09-161-0/+11
| | | | | | | | | | | | | | There are some issues in sstate which can't be handled by file removal alone. Currently there is no way to execute a command against sstate and doing so is potentially problematic for things like dependencies. This patch adds a mechanism where any "postrm" script is executed if its present allowing some openjade/sgml issues to be resolved. [YOCTO #8273] (From OE-Core rev: 2268efd0cd3ddb40870c4c424d10444ba86d2849) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: normalize whitelisted pathsMax Krummenacher2016-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | Without this a whitelisted path containing /../ breaks the test for a file allowed to be provided by more than one recipe. Noticed when local.conf contains: DEPLOY_DIR = "${TOPDIR}/../deploy" |ERROR: core-image-minimal-1.0-r0 do_image_complete: The recipe | core-image-minimal is trying to install files into a shared area when those | files already exist. Those files and their manifest location are: | .../poky/deploy/images/qemux86/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt | Matched in b'manifest-qemux86-linux-yocto.deploy' (From OE-Core rev: d82acf20541463b14a811788d28fb1db3539885b) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Avoid duplicate README file errors for sdk under sstate controlRichard Purdie2016-09-041-0/+2
| | | | | | (From OE-Core rev: 4bd3a90c8fb034b4d899d0560d75d81f56e27e0a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: skip packaging if SSTATE_SKIP_CREATION is setEd Bartosh2016-09-031-0/+2
| | | | | | | | | | | | SSTATE_SKIP_CREATION variable will be used to skip creation of sstate .tgz files. It makes sense for image creation tasks as tarring images and keeping them in sstate would consume a lot of disk space. (From OE-Core rev: 7e821ccd221916ae8482b9113df2de704f4a99a4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-extsdk-toolchain: add meta-recipe to install toolchain into eSDKPaul Eggleton2016-07-261-0/+3
| | | | | | | | | | | | | | | | | | Add a meta-recipe to bring the toolchain into the extensible SDK. This was modelled on meta-ide-support but some adjustments were needed to the dependency validation function in sstate.bbclass to ensure that all of the toolchain gets installed into the sysroot. With this, after installing a minimal eSDK you only need to run the following after sourcing the environment setup script to get the toolchain: devtool sdk-install meta-extsdk-toolchain Addresses [YOCTO #9257]. (From OE-Core rev: 8110806b1b5534ae830a4fdd1a5293c86a712d0b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: make PV to depend on PV variable valueEd Bartosh2016-07-201-0/+3
| | | | | | | | | | | | | | | | | | | | | Currently PV is defined in meta/conf/bitbake.conf as a python expression: "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}". As FILE is whitelisted it causes PV to not depend on it. This causes sstate code to not detect that PV changes when recipe filename changes. Making PV to explicitly depend on PV variable value overrides default behaviour. Instead of depending on python expression bitbake depends on evaluated value of PV variable, which should fix the above mentioned issue. [YOCTO #9806] (From OE-Core rev: 918646ca803d56004fb0ab7c21e86cc9cb14513d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: add a mode to error if sstate package unavailablePaul Eggleton2016-07-081-0/+23
| | | | | | | | | | | | | | If BB_SETSCENE_ENFORCE is set to "1" and an sstate package fails to download outside of the whitelist specified by BB_SETSCENE_ENFORCE_WHITELIST, then fail immediately so you can tell that the problem was caused by failing to restore the task from sstate. Part of the implementation of [YOCTO #9367]. (From OE-Core rev: 9e711b54487c3141d7264b8cf0d74f9465020190) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: show progress during sstate object availability checkPaul Eggleton2016-07-081-2/+4
| | | | | | | | | | | | | | Show progress through bitbake's standard terminal UI when checking for shared state object availability, since this can take some time if there are a large number of tasks to be executed and/or the network connection is slow. Part of the implementation for [YOCTO #5853]. (From OE-Core rev: 1a064385d6921ec90b33c9064dafaab11a36267c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Convert to use python3 octal syntaxRichard Purdie2016-06-021-3/+3
| | | | | | | | The syntax for octal values changed in python3, adapt to it. (From OE-Core rev: 737a095fcde773a36e0fee1f27b74aaa88062386) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Don't create symlinks, download to the correct locationRandy Witt2016-05-251-9/+3
| | | | | | | | | | | | | | Previously the sstate was all downloaded to the same directory and then symlinks were added in the directories that pointed to the siginfo and sstate in the parent directory. This change makes it so that now the files are just downloaded to the correct location without the need for symlinks. (From OE-Core rev: 55d25ed6b30ed7105d3b6421fbf2a03cea009a59) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure we sort the value used for SSTATETASKS for determinismRichard Purdie2016-05-171-1/+1
| | | | | | | | | This avoids 'basehash changed' errors with python 3 but could break build determinism in general. (From OE-Core rev: 488f88fc12eea9788e5db1de354f0118e2c58878) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Split single locked sigs check into multiple checksRandy Witt2016-04-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the SIGGEN_LOCKEDSIGS_TASKSIG_CHECK and SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK variables to replace SIGGEN_LOCKEDSIGS_CHECK_LEVEL. SIGGEN_LOCKEDSIGS_TASKSIG_CHECK will no control whether there is a warning or error if a task's hash in the locked signature file doesn't match the computed hash from the current metadata. SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK will control whther there is a warning or error if a task that supports sstate is in the locked signature file, but no sstate exists for the task. Previously you could only have warning/errors for both controlled by SIGGEN_LOCKEDSIGS_CHECK_LEVEL. This was an issue in the extensible sdk, because we know sstate won't exist for certain items in the reverse dependencies list for tasks. However, we still want to error if task signatures don't match. [YOCTO #9195] (From OE-Core rev: 0fe2a5e5ffd01e926d0f3d4c78ad9910296e2d1a) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: remove user/group created by the package in clean* taskMaxin B. John2016-04-061-0/+5
| | | | | | | | | | | | | | | | At present, if a recipe is built which creates users/groups via useradd.bbclass, those users/groups are not removed from sysroot when the recipe/package is cleaned using clean/cleansstate/cleanall or when a recipe is rebuild and 'unstaged' from the the sysroot. The "userdel_sysroot_sstate()" provides that functionality. [YOCTO #9262] (From OE-Core rev: b5304ce438666a7418746f4ddd32703ae3188089) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Allow late expansion of NATIVELSBSTRINGRichard Purdie2016-03-071-2/+6
| | | | | | | | | | | uninative needs to adjust NATIVELSBSTRING fairly late in the configuration parsing process but the sstate code encodes it into variables. Since this string doesn't vary on a per recipe basis, we defer its expansion until usage time. (From OE-Core rev: fb680ab8b3cf7aba9b579403b1aeb96d30762320) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1/sstate: Fix missing getVar parameterRichard Purdie2016-02-191-2/+2
| | | | | | (From OE-Core rev: 84065e9b33e6d401e4e50436665838be2d0267ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: use oe.gpg_sign for gpg signingMarkus Lehtonen2016-02-191-21/+17
| | | | | | | | | | [YOCTO #9006] (From OE-Core rev: a3916b29c8c3d0b1570c40c0ed3a1a15c43925bb) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add ca-certificates-native to postinst recipes listMing Liu2016-02-161-1/+1
| | | | | | | | (From OE-Core rev: a6426479f6348524a904ba28c16c1e3c8793cb08) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure populate_lic sstate objects are cleanedRichard Purdie2016-02-101-0/+1
| | | | | | | | | | | do_cleansstate wasn't cleaning do_populate_lic sstate objects in the native/cross case since the wildcard path entry wasn't being cleared at the same time as the path extra prefix. Fix by clearing it at the same time. (From OE-Core rev: af72c507f5e20acf64b7431cee989af9908ef199) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Fix SSTATE_SWSPEC only used by populate_lic tasksRichard Purdie2016-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This variable is only used by populate_lic tasks (gcc-source overrides it) and refers to BPN. In recipes like gcc, where there are multiple variants, it is resulting in sstate objects which encode PN (they install into a PN subdir) but the sstate object reflects BPN. This leads to corruption between then and eventually, warnings from image builds like: WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers WARNING: The license listed MIT was not in the licenses collected for recipe gcc-sanitizers WARNING: The license listed GPL-3.0-with-GCC-exception was not in the licenses collected for recipe gcc WARNING: The license listed GPLv3 was not in the licenses collected for recipe gcc WARNING: The license listed NCSA was not in the licenses collected for recipe gcc-sanitizers By referring to PN, as used by license.bbclass, this issue is resolved. (From OE-Core rev: dd4a319efcfa1174ba0f48fd15cb446280c426e4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Revert using -m option to tar in sstateRichard Purdie2016-02-011-1/+1
| | | | | | | | | | | | | | | | | In http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=2d89cff42af2bb0049224bfaaebaa2b21966169f we added a workaround for dealing with lack of time sync between build machines and their users. This has turned out to cause problems for people who rely on timestamps being preserved in sstate output. Since our autobuilders are all in time sync with ntp, revert the commit. [YOCTO #8996] (From OE-Core rev: 004a8bffdb501a99530dab2bc1c5f3d44b97b8f7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add back packagedata on packagedata dependenciesRichard Purdie2016-01-301-0/+4
| | | | | | | | (From OE-Core rev: 654f0eec426e882e50f688f6d097d992e34e5b40) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve handling of useradd dependenciesRichard Purdie2016-01-301-4/+5
| | | | | | | | | | | | | | | | | | | | | | useradd has sstate [depends] for both do_package and do_populate_sysroot yet the dependency validation code only covers do_package. Add coverage of populate_sysroot, else the order inversion that [depends] creates means unexpected installation of users of useradd.bbclass (e.g. avahi do_populate_sysroot) in cases where it shouldn't be (e.g. libnss-mdns -c packagedata). The code needs to move above the other populate_sysroot intercept code since there are specific cases we need to cover before that code. The result of this change is more optimal installation of sstate objects in common usage scenarios. (From OE-Core rev: 21368b4a7934b3a199e61c1072416fd5c091e5ff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: display the sysroot name when cleaning for clarityRoss Burton2016-01-241-1/+1
| | | | | | | | | When cleaning old builds from the sysroots, also print the sysroot architecture. (From OE-Core rev: 98a98a4bf71f74b5c27291ee9a2ac14006377e49) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: replace verbose manifest removal with a single countRoss Burton2016-01-191-1/+5
| | | | | | | | | | | | | | | | | If there are lots of changes between the previous build and the build about to start bitbake will potentially print pages of: DEBUG: Stamp $BUILD/stamps/corei7-64-poky-linux/libdrm/2.4.66-r0 is not reachable, removing related manifests Instead of spamming the console with this list, write the list of manifests only to the debug log and simply write a count to the console. This way the user doesn't get spammed but still knows what is happening if bitbake appears to stall with heavy I/O. (From OE-Core rev: e777b541c76dad293d1c214e46c00f8f78fe0539) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add packagedata to list of tasks not to recurseRichard Purdie2016-01-191-0/+4
| | | | | | | | | | | | | If we "bitbake X -c packagedata" and the packagedata comes from sstate, we don't need any of the tasks dependencies. This is similar to the populate_lic case, we only care about the end result. Therefore short circuit the dependencies so packagedata doesn't pull in any other dependencies. (From OE-Core rev: 76aa4f49db7d32bbd35703c64470fdfc63f403a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure populate_lic dependencies are not followedRichard Purdie2015-12-141-0/+3
| | | | | | | | | | | | | | | | It was observed that do_fetch dependencies (e.g. subversion-native of tremor) were being installed even when sstate was available and hence no fetch was needed. This turned out to be due to the recursive nature of the rootfs dependencies which include populate_lic. We can explicitly whitelist these dependencies as being ones we don't need to follow when installing sstate (the code defaults to being paranoid). [YOCTO #8746] (From OE-Core rev: 06c891f0fa6c7712eae233dd18612f1ab1889c45) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Ensure siginfo and sig files are also touchedRichard Purdie2015-11-251-0/+2
| | | | | | | | | | | | | | | | | | Maintaining an sstate mirror is complicated at the moment as only the main sstate tgz files have their timestamp updated when they're used. This causes problems as the siginfo files can be removed from the server due to inactivity but the sstate fetch code tries to fetch them leading to confusing warnings and reduced debug capability. This change ensures we touch any sig/siginfo files present and should help ageing of the objects on sstate mirrors. It doesn't handle the intermediate task siginfo files but those are never fetched by the current sstate code so are an order of magnitude less problematic. (From OE-Core rev: 80b3974081c4a8c604e23982a6db8fb32c616058) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: respect GPG_BIN and GPG_HOMERoss Burton2015-11-241-3/+17
| | | | | | | | | | | | | | | | | The package feed signing code supports the user providing the path to the gpg binary and an alternative gpg 'home' (usually ~/.gnupg), which are useful for both deployment and QA purposes. Factor out the gpg command line construction to a function which can fetch both of these variables, and also use pipes.quote() to sanitise the arguments when used in a shell context. [ YOCTO #8559 ] (From OE-Core rev: 6daf138822bbbc46960121d3b76b42eaf19e7c0e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: run recipe-provided hooks outside of ${B}Ross Burton2015-09-281-16/+14
| | | | | | | | | | | | | To avoid races between the sstate tasks/hooks using ${B} as the cwd, and other tasks such as cmake_do_configure which deletes and re-creates ${B}, ensure that all sstate hooks are run in the right directory, and run the prefunc/postfunc in WORKDIR. (From OE-Core rev: 1d3bde02641f4b40030cf7e305ee3d7c2faabe29) (From OE-Core rev: a026dbfa0ce4ee769ae2c714f27f4c4eaa4a0c73) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: break out function to get sstate manifest filenamePaul Eggleton2015-09-121-5/+2
| | | | | | | | | | | | It is useful in a few different contexts to see which files have been written out by an sstate task; break out a function that lets us get the path to the manifest file easily. (From OE-Core rev: 090196dd2d8f4306b34b239e78c39d37cc86034c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: only fetch remote signatures if verification is enabledRoss Burton2015-09-121-3/+6
| | | | | | | | | | | | Only fetch remote signatures if verification has been enabled, as otherwise the fetcher throws errors that sstate.bbclass can't ignore. [ YOCTO #8265 ] (From OE-Core rev: aa8ba5c4af2636dbc2d0c1ad9c230e8aa26d9962) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: implement basic signing/validationRoss Burton2015-09-061-1/+18
| | | | | | | | | | | To provide some element of integrity to sstate archives, allow sstate archives to be GPG signed with a specified key (detached signature to a sidecar .sig file), and verify the signatures when sstate archives are unpacked. (From OE-Core rev: 237b6c51b42b0c64434dc45685e10f757ac939c2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-icon-utils: Rename, upgrade, add binaryJussi Kukkonen2015-07-161-1/+1
| | | | | | | | | | | | | | | | | * Rename from gtk-update-icon-cache to gtk-icon-utils to better reflect the content. Fix references in other recipes and classes * Upgrade to GTK+ 3.16.4 * Add gtk-encode-symbolic-svg binary: it is used by icon themes (e.g. Adwaita) to generate png versions of svg icons. * Depend on librsvg-native for gtk-encode-symbolic-svg * Add a patch that removes Gdk dependency from gtk-encode-symbolic-svg: this way the native build stays slim. (From OE-Core rev: 5f4fe36f735ff8b97c5112b16bd90e794053573d) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: remove redundant cd and mkdir commandsAndre McCurdy2015-07-161-4/+2
| | | | | | | | | | | | Update sstate_create_package and sstate_unpack_package to remove redundant initial mkdir and cd commands. The working directory is now setup correctly before the shell functions are called. (From OE-Core rev: fd2d50d46e38d86829f88b5884a6fde6c38f155e) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate.bbclass: Improve checkstatus using connection cache.Aníbal Limón2015-07-121-2/+12
| | | | | | | | | | | | | Use FetcherConnectionCache to improve times when do checkstatus over sstate resources. [YOCTO #7796] (From OE-Core rev: e6f66370c6ce15aca18ef64491bab3dc92b80c57) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/utils.py: Add support for init/end helper functions in ThreadWorker.Aníbal Limón2015-06-261-1/+1
| | | | | | | | | | | | | | Add init/end helper functions for ThreadWorker also pass ThreadWorker as first argument to init/end/func functions this enables per-thread storage handling. classes/sstate.bbclass: Add thread_worker argument to checkstatus function. (From OE-Core rev: 08c50d62b520c8405f034e3d7adeea89e06226ee) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/utils.py: Fix thread leakage in ThreadPoolAníbal Limón2015-06-261-1/+2
| | | | | | | | | | | | | | | In order to fix Thread leakage caused by not call join() in Threads, Pass num_tasks in ThreadPool for add all the tasks into a Queue this enable catch of Queue.Empty exception and exit the threads. classes/sstate.bbclass: Change checkstatus function to match new ThreadPool operation. (From OE-Core rev: 524d92ed7b53bef933527095e82f378b934f25ef) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add explict getVar param for (non) expansionRichard Purdie2015-06-231-2/+2
| | | | | | | | | | | | | | Rather than just use d.getVar(X), use the more explict d.getVar(X, False) since at some point in the future, having the default of expansion would be nice. This is the first step towards that. This patch was mostly made using the command: sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *` (From OE-Core rev: ab7c1d239b122c8e549e8112c88fd46c9e2b061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add eventhandler which cleans up stale recipe dataRichard Purdie2015-06-101-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Incremental builds do not work well when renaming recipes or changing architecture" is a long standing issue which causes people considerable pain. We've struggled for a long time to come up with a way to generically address the problem. There are additional issues where removal of a layer caused data to continue to exist and additionally, changing DISTRO_FEATURES also caused problems in an existing TMPDIR. This patch attempts to address this by adding a mapping between stamp files and manifests. After parsing we can easily tell which stamp files are still reachable, if any manifest has a stamp that can no longer be reached, we can remove it. Since this code ties this to the sstate architecture list, it will not remove data from other than the current MACHINE (and its active architectures). It does not clean the sstate cache so if another build activates something which was cleaned, it should reinstall from sstate. We can also go one step further, depending on the setting of SSTATE_PRUNE_OBSOLETEWORKDIR, workdirs which are no longer active can also be removed. This avoids the buildup of many old copies of data in WORKDIR for example when versions are upgraded. The one thing which may surprise people with this change is if you remove a layer, data added by that layer will be "uninstalled" before the next build continues. I believe this is a feature and a good thing to do though. This code is safe with existing builds. If something isn't in the new index it simply isn't removed. Since changes to the sstate code trigger a rebuild, after this merges, we can assume the code will start to detect changes from that point onwards. [YOCTO #4102] (From OE-Core rev: 4ea39427eedeadd51439a62fa015c86be30c3445) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add note when performing sstate mirror checksRichard Purdie2015-06-031-0/+1
| | | | | | | | | The build can pause whilst remote sstate mirrors are checked for sstate objects. Inform the user this is happening. (From OE-Core rev: 4f4cfe8a4a0c602d6e11ea9bb75b52241deda9d6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Parallelise checkstatus calls for sstate mirrorRichard Purdie2015-06-031-8/+20
| | | | | | | | | | | | Currently the urls are checked serially which is a performance bottleneck when looking at http:// urls in particular. This adds code to check the url status in parallel, mirroring the way we do this elsewhere. We need the datastore for the fetcher so we use threads, not multiprocess. (From OE-Core rev: 77c4865bbde4cd2a061cf333f9ad798afc6de0ef) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add handling of do_shared_workdir taskRichard Purdie2015-05-211-0/+3
| | | | | | | | | | | | | | | | Changing TMPDIR and rebuilding an image was resulting in rebuilds of kernels due to dependencies on the shared_workdir task. If installed from sstate, nothing needs this task so add it to the whitelisted task patterns. After this change, the kernel does not rebuild when a new TMPDIR and hot sstate cache is used. (From OE-Core rev: 624f575298c74272b69560735cb6f13f5a7761c1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve HASHCHECK function to make siginfo configurableRichard Purdie2015-05-151-3/+6
| | | | | | | | | | | In some cases we want to test the availability of siginfo files, in some cases we do not and really want the .tgz files (which may or may not be present too). This makes adds a parameter to the function to allow this. (From OE-Core rev: e8867b97a772f8e64fe209436c15d382b2175ca0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Use SSTATE_DIR for FILESPATHRichard Purdie2015-04-291-1/+3
| | | | | | | | | | | | | | | FILESPATH was only being overridden in one fetch location, it should be equally handled in both. Also use SSTATE_DIR as FILESPATH so that mirror urls which do remapping can search the local SSTATE_DIR for other paths. Also ensure that MIRRORS is removed in both locations, previously it was only unset in one but both codepaths should be consistent. (From OE-Core rev: ab6bebddbdefec323e284b6438d9c57b3d8a2cc3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>