summaryrefslogtreecommitdiffstats
path: root/meta/classes/sstate.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* sstate.bbclass: ignore the tar failure.Roy Li2013-09-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, and sstate_create_package stores SSTATE_BUILDDIR into a archive file by tar, these two task can be run simultaneously for different packages, and make a hardlink for a file will lead to the change of the links number of file, and if tar is reading this file, it will fail with exit code 1, and report "file changed as we read it": DEBUG: Executing shell function sstate_create_package tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it 4b3e353a5[sstate.bbclass: fix parallel building issue] tries to use the tar parameter --ignore-failed-read to fix, but it does not work, and tar parameter --warning=no-file-changed can close the warning, but can not change the exit code. so close shell immediate exit, only fail if tar returns not 1 and 0. Exit codes of tar: http://www.gnu.org/software/tar/manual/html_section/Synopsis.html (From OE-Core rev: fad604b719e00b03e09da5fdb485e72332275b4a) Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: fix parallel building issueRoy.Li2013-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, then sstate_create_package will store SSTATE_BUILDDIR into a archive file by tar, but once other packages install the same file into sysroot, the creating the archive file will fail with below error: DEBUG: Executing shell function sstate_create_package tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it This kind of error is harmless, use --ignore-failed-read to ignore it. The error in tar occurs when the timestamp of the file changes and this can happen when the number of symlinks change. The file will be included in the archive. [YOCTO #5122] (From OE-Core rev: 4b3e353a532c7b68b0bb86df4a2fcc44f8bb3ef2) Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Don't use deprecated bitbake APIRichard Purdie2013-09-011-8/+8
| | | | | | | | | | These have been deprecated for a long time, convert the remaining references to the correct modules and prepare for removal of the compatibility support from bitbake. (From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Fix the relative symlink replacement codeRichard Purdie2013-08-231-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | ant reported on irc that the sstate absolute to relative symlink creation code wasn't working in klibc. He was correct although the level of breakage is rather surprising since it only worked for one level of symlink (usr/include) with everything else being broken. The reason is probably that nothing really uses absolute paths, we use relative paths where at all possible already. Nothing in the target sysroot should use absolute paths for a start. In this regard, the klibc-dev package is broken and needs fixing. It will currently break when building for one machine, then switching to another of the same TUNE_PKGARCH and installing from sstate but that is a separate issue. This patch fixes the symlink creation code by firstly passing in the correct value we need (where the symlink will end up) and seccondly, actually using it. I've also tweaked the debug message to contain appropriate information and got right of the double "//" value the existing code created in favour of the form './..' which looks neater. (From OE-Core rev: 9b05c65450526522d7358d0c0901b594de546748) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Add an extra check for sstate_mirrorsJoe MacDonald2013-07-051-0/+10
| | | | | | | | | | | | | | BB_NO_NETWORK disables any fetching, however if we're using an external sstate cache, we may want to be able to fetch those objects even if we are not fetching the upstream sources. Denote this situation by setting SSTATE_MIRROR_ALLOW_NETWORK in local.conf. When it is found, for sstate cache fetches, mask off BB_NO_NETWORK for the local function. (From OE-Core rev: ed585cad2e1fdc323c05fa82055a071bcf98d1bc) Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: fetch archive+siginfo in a single pstaging_fetchChristopher Larson2013-06-111-17/+15
| | | | | | | | | | | | | This avoids unnecessary duplication of setup. The only visible change in behavior will be the case if siginfo exists and the archive does not, in which case it'll redownload both, but this doesn't seem unresasonable to me, particularly since the archive is downloaded first, making this case particularly unlikely. (From OE-Core rev: aa4991c307d4bbdd06c3cbf8448240b74c5e01c4) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: kill MIRRORS and FILESPATH to speed up fetchingChristopher Larson2013-06-111-0/+2
| | | | | | | | | | | The default FILESPATH isn't really of use, as we don't expect to find sstate archives buried in layer recipe directories, and the default MIRRORS is intended for use for fetching SRC_URI, not sstate. (From OE-Core rev: 46402b2f5b69004751f6663d435bedae0ad9dab1) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/useradd/sstate: Ensure do_package setscene has correct fakeroot ↵Richard Purdie2013-06-071-1/+1
| | | | | | | | | | | | | | | | | dependencies The do_package_setscene task needs to depend on fakeroot in order to correctly install its files. We can whitelist the dependency in the sstate handling code for some performance improvements since we only need this if we're installing the package from sstate. Also use an append operator in base.bbclass for clarity. (From OE-Core rev: 0810ea2a72bdea67a3d8002c4e12fb20f45cf1d5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: fixup extra hardcoded pathsJackie Huang2013-06-041-0/+11
| | | | | | | | | | | | | | | sstate has a logic to fixup hardcoded paths in scripts, but it misses in some specific cases, so add EXTRA_STAGING_FIXMES to the fixup hardcoded paths mechanism, so that we can specify what hardcoded paths need to be fixed in a recipe, e.g. EXTRA_STAGING_FIXMES = "STAGING_BINDIR_TOOLCHAIN" (From OE-Core rev: 2e840db56c45b4c63fded55f4ed763b7099284b9) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Update to use print as a function callRichard Purdie2013-05-091-3/+3
| | | | | | | | | In python 3 print is a function call. In some cases bb.note is a more appropriate call to make. (From OE-Core rev: 754874e68d1037c76fc4cc7d35d3fa12946d00f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: make hard links for staging filesRobert Yang2013-05-021-1/+1
| | | | | | | | | | | | | | | | | | | Make hard links for staging files instead of copy to save the disk space (3G will be saved for a core-image-sato build), and it doesn't affect much on the build time. The following directories are affected: 1) The sysroot 2) The DEPLOY_DIR 3) The pkgdata [YOCTO #4372] (From OE-Core rev: 5853e0f482b22258c909268fe71673a29e31989b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Set umask to 002 before packaging runsPhil Blundell2013-04-291-0/+4
| | | | | | | | | | | | | | Otherwise we might end up creating directories under sstate-cache with whatever random umask has been selected for the task that we're trying to package. This would be a bad thing since it might result in losing group write access for newly created dirs, and/or losing group read access for the sstate files themselves. (From OE-Core rev: d8c4f442c41bf3ac5e064630657cd3fa1b5c43b1) Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: avoid traceback when no files have been stagedPaul Eggleton2013-04-031-1/+4
| | | | | | | | | | | | If no files have been staged we want to continue without error instead of showing a traceback. Fixes [YOCTO #4056]. (From OE-Core rev: ca36be708e54c0c86535bc8512295c76c48f6cf5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: remove reference to gtk+-nativeAndreas Müller2013-04-021-1/+1
| | | | | | | (From OE-Core rev: 13bc0117a0a18165e83e2bcdd880e704a0df5e3f) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: add -f to mv when moving sstate files into placeJeff Polk2013-04-021-1/+1
| | | | | | | | | | | Under some conditions (ACLs enabled, NFS) mv can interactively prompt before overwriting files. Avoid hanging builds in that case by using -f which should be harmless in other cases. (From OE-Core rev: b1a085db9d8ad2a3117af6f50e510bc9c2f9407b) Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Enclose sstate search parameter with quotesLeonardo Sandoval2013-03-051-1/+1
| | | | | | | | | | | In case filenames have spaces, execution of the function sstater_install will hang, so the print parameter %s must be enclosed with quotes. (From OE-Core rev: 545d7aa26dfefdc927e0f4e2cc37398ef2c63fa6) Signed-off-by: Leonardo Sandoval <leonardo.sandoval@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add gtk-update-icon-cache-native to postinst recipes listRichard Purdie2013-03-051-1/+1
| | | | | | (From OE-Core rev: 59cd32a6661d76ee070810823614eb797d6cc153) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: consider postinstall dependencies tooLaurentiu Palcu2013-03-051-1/+7
| | | | | | | | | | | | | When checking the dependencies in setscene_depvalid(), make sure we also consider those dependencies needed when running the postinstalls on host. [YOCTO #3918] (From OE-Core rev: 8de0616825ed1b238b3486077af6897834bcb62d) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Ensure build directory is cleaned to start withRichard Purdie2013-02-061-0/+1
| | | | | | | | | | This directory is cleaned upon completion however if a previous build crashes, it can lead to corrpution, hence ensure its clean at the start too. (From OE-Core rev: 8ef0e59d5a7da3671d1ad9a54fe068ed78f928d5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate/path.py: Add copyhardlinktree() function and use for performance ↵Richard Purdie2013-02-061-2/+2
| | | | | | | | | | | | optimisation Add a function which copys a tree as a set of hardlinks to the original files, then use this in sstate to reduce some of the overhead of sstate package creation since the file isn't actually copied. (From OE-Core rev: 8e373e69acac853213a62afb8bbdf0adc0c5045a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Move debug comment to more logical placeRichard Purdie2013-01-301-1/+1
| | | | | | | | | | The same log message gets output multiple times in the log which look confusing and is rather pointless. Move the log message to the correct level. (From OE-Core rev: 3917409004a830e7ad0646f05ad7421385cbd1de) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add optimisation for useradd injected dependenciesRichard Purdie2013-01-251-0/+8
| | | | | | | | | | | useradd.bbclass adds sstate dependencies on base-passwd, shadow-native and shadow-sysroot. Due to the way these are injected, they interact badly with the other dependency validation logic and end up pulling in dependencies we don't actually need. This patch adds code to optimise those cases out. (From OE-Core rev: 784ca68fcca4ffb34390d55d9343570cfdf0305f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Split do_packagedata task from do_packageRichard Purdie2013-01-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, do_rootfs has a dependency on all the do_package output being present due to its usage of the pkgdata directories. This means that if you run: bitbake xxxx-image -c rootfs you end up having to fetch and unpack all the do_package data which is usually large and inefficient. It also means rm_work has to leave all the do_package data lying around so rootfs works. This patch splits the actual creation of the pkgdata directory off into a separate task, "packagedata" which happens immediately after do_package. We can then remap the dependencies so this task is depended upon, not do_package. Sstate can then be programmed not to require do_package at the appropriate times. Whilst this patch doesn't do so, it opens the possibility of rm_work wiping out the do_package output from WORKDIR as long as it also removed the do_package stamp (both normal and setscene variants) and allowing more space savings with rm_work which has been regularly requested. (From OE-Core rev: 6107ee294afde395e39d084c33e8e94013c625a9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Do not add the --no-run-if-empty arguement to xargs when on Darwin, ↵Martin Ertsaas2013-01-151-3/+7
| | | | | | | | | as it is not supported. (From OE-Core rev: 73b34d43633717b99e4f2f669939939cfa59eecb) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass:specify function dirs to avoid raceHongxu Jia2013-01-091-0/+5
| | | | | | | | | | | | | Specify dirs in which the shell function "sstate_create_package" and "sstate_unpack_package" are executed and don't use ${B} as default dirs to avoid possible race with task do_rootfs at deb image creation time. [YOCTO #3674] (From OE-Core rev: ccef1cf783669a4683eda9d4b44dbe6bcf426259) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Improve stamp-extra-info task handling to avoid warningsRichard Purdie2012-12-171-4/+7
| | | | | | | | | | | | | | | If you change a machine to a different package architecture, you will see sstate errors about overwriting files as the code stands today. Instead it should clean out the files safely and correctly. This patch changes the naming of stamp-extra-info manifest files to avoid this problem. It will potentially trigger warnings during builds in existing TMPDIRs until the system adjusts to the new naming, these are harmless. [YOCTO #3521] (From OE-Core rev: 2cc8ee57f8148844bb7bcd4aaf34f6891cf3d410) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Remove unused/uneeded variableRichard Purdie2012-12-171-2/+1
| | | | | | (From OE-Core rev: 33ddf788c04044c8fe7ffbadab8787a5b6603186) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Simplify overcomplicated cleanall functionRichard Purdie2012-12-171-15/+6
| | | | | | | | | The code was written before SSTATETASKNAMES existed. Since it does exist, lets simply the code. (From OE-Core rev: 9817e2efdb94395655d711f5eadedcd249c8cffe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: fix typoSaul Wold2012-12-061-1/+1
| | | | | | | (From OE-Core rev: 17d27fd6e2750e6455f656159da56c3350c4b3cd) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: fix typoRichard Purdie2012-12-061-1/+1
| | | | | | (From OE-Core rev: 10cceb3854acd5c619d81011bac02da11ed580d2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: fetch .siginfo files from SSTATE_MIRRORSaul Wold2012-12-061-0/+2
| | | | | | | | | | | | | | This would be useful for doing siginfo compares to understand why a build is not reusing something when using SSTATE_MIRROR. No error will be reported if it fails to find the .siginfo file [YOCTO #2898] [RP: Small tweaks] (From OE-Core rev: 6d86690330f0d43839b904fced4b4b02cb27b8c6) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: fix detection of owners matching sstate filesMartin Jansa2012-12-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * without this patch: Python 2.7.3 >>> sstate_search_cmd = "grep -rl /OE/jansa-test/shr-core/tmp-eglibc/pkgdata/armv7a-vfp-neon-oe-linux-gnueabi/runtime-reverse/vim-common /OE/jansa-test/shr-core/tmp-eglibc/sstate-control --exclude=master.list | sed -e 's:^.*/::' -e 's:\.populate-sysroot::'" >>> cmd_array = sstate_search_cmd.split(' ') >>> search_output = subprocess.Popen(cmd_array, stdout=subprocess.PIPE).communicate()[0] grep: |: No such file or directory grep: sed: No such file or directory * Adding shell=True and using cmd string instead of array makes it work: >>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] >>> print search_output manifest-armv7a-vfp-neon-gvim.package manifest-armv7a-vfp-neon-vim-tiny.package manifest-armv7a-vfp-neon-vim.package But still isn't 100% reliable, I guess it's caused by some other package being removed from sstate while grep is already running. So sometimes grep can show error on STDERR >>> search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0] grep: /OE/jansa-test/shr-core/tmp-eglibc/sstate-control/manifest-armv7a-vfp-neon-systemtap.package: No such file or directory (From OE-Core rev: d84f7d7a12b4271f7b2bfde9fb356d750abff15d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: fixed file-conflict checkEnrico Scholz2012-12-051-1/+1
| | | | | | | | | | | The value of subprocess.Popen().communicate()[0] is a string. Checking for '!= None' will always match causing bogus warnings regarding already staged files. (From OE-Core rev: acdd76482efc3caf80e9e0b7359be7ca724ae09a) Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagegroup/allarch: Convert to use allarch classRichard Purdie2012-11-261-1/+1
| | | | | | | | | | | | | | | | | Currently there is some odd behaviour of the packagegroup class in relation to sstate since it sets PACKAGE_ARCH = "all" but does not use the allarch class leading to it being undetected by sstate. Previously it was not possible to use allarch as the recipe couldn't "undo" settings made by the allarch class. Since this no longer happens when PACKAGE_ARCH != all, we can use the allarch class. This patch also fixes up one case we need to preserve TRANSLATED_TARGET_ARCH and ensures sstate only assumes allarch when PACKAGE_ARCH is "all". (From OE-Core rev: 591fa7c1ab9e9ff75fdce602c77ecdeda3a255d9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Explicitly define populate_sysroot task relationshipsRichard Purdie2012-11-241-9/+16
| | | | | | | | | | | Clean up and clarify the populate_sysroot task dependencies. Target sysroot packages do need their dependencies installed, as do some target/cross relationships. We can whitelist the *-initial dependencies as these are never needed indirectly. (From OE-Core rev: eeec307917234d97be2674beeadef71599fb1487) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add a rule for target sysroot requirements from cross dependenciesRichard Purdie2012-11-241-0/+4
| | | | | | | | | For example gcc-cross depends on linux-libc-headers and needs it to be present to build/work correctly. (From OE-Core rev: 43ce7a1d86bf82d976ad241057a4207b1a340b3b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Implement a setscene dependency validation routine to allow skipping ↵Richard Purdie2012-11-201-0/+52
| | | | | | | | | | | | | | | of some sstate installation This is a first attempt at logic to determine when a sstate dependency needs to be installed and when it does not. Its a start at the logic and errs on the side of caution, as it gets wider testing, we can refine the logic as needed. This code should allow a significant performance speedup to certain workflows, for example "bitbake xxx-image -c rootfs" will not populate the target sysroot. (From OE-Core rev: b43faba37816817edc5240a139361d16e07c6131) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Drop now unneeded python whitelist entriesRichard Purdie2012-11-181-2/+0
| | | | | | (From OE-Core rev: 2a9a3e5e3e9229eb11f20eeabef7929014bccd11) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Bump version number to deal with layout fixesRichard Purdie2012-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The recent preveeding sstate directory layout fixes made the code do what it was originally intended to do, as can be clearly seen from the code. Unfortunately this changed the contents and layout of the sstate files themselves since the bug was leading to a directory prefix being missing. This is now resulting in chaotic messages on the console since things are getting confused with the two different layouts. The simplest way to resolve this is to bump the version number, hence moving the new layout into its own new namespace. Its worth noting that whilst the failure messages are scary, the failure mode is relatively harmless since it will just fall back to building the data rather than installing from sstate. Usually I'd give more notice of a change like this but under the circumstances, I'm just going to push this in to resolve the failures people are seeing. Initially I thought the problem was limited to some of the -cross packages and therefore of low impact but that is clearly not the case. (From OE-Core rev: b53ea6687b6201c8c5ab5cb0d2a845ef7e7b2abe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Fix various path manipulation issuesRichard Purdie2012-11-141-3/+5
| | | | | | | | | Fix missing parameter to endswith and pass paths through normpath to remove any duplicate "/" characters which would corrupt other calls like basename. (From OE-Core rev: 172a74c540378149eec493c37c030e9f42f9603d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Be consistent about sstate-inputdirs/outputdirs ending with '/'Richard Purdie2012-11-141-0/+4
| | | | | | | | | | The manifest file can become corrupted if sstate-inputdirs and sstate-outputdirs don't have matching endings. This patch ensures that even if set incorrectly, the code functions as intended, thereby handling manifest corruption safely. (From OE-Core rev: 0109a3623a19f9ae289952a4f054e53c3eca4eaa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: add manifest info for shared file matchesSaul Wold2012-10-271-1/+7
| | | | | | | | | | | | | | Present the manifest file that contains the matches for files being installed to a location that already contains that file. This will help to determine which is the correct recipe to fix when this occurs. [YOCTO #3191] (From OE-Core rev: 56268f6e4ed1fc11143173bb1717a8be78c728a5) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Improve handling of machine specific manifestsRichard Purdie2012-10-221-7/+8
| | | | | | | | | | | | | | Now do_package isn't machine specific, we're only left with do_populate_sysroot as a machine specific task. This change marks only the machine specific manifests as machine specific, defaulting to PACKAGE_ARCH for everything else. This means we do less work where there are multiple machines using the same core package architecture and we can start to clean up the sstate duplicate files whitelist. (From OE-Core rev: febeaf3d1b8917b660c7279b008d8b03337568e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: when warnings about sysroot overwrites, say what the recipe wasRoss Burton2012-10-181-1/+1
| | | | | | | (From OE-Core rev: 936e2868bb9973213630477ab9c880dbdf4aac09) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Use -m option to tar when unpacking sstateRichard Purdie2012-10-181-1/+1
| | | | | | | | | | | | | | | | We've noticed failures on the project autobuilders where a shared sstate directory is used across multiple builders and the clocks become skewed. Most of the time this causes harmless building but if this happens where an environment is changed (make install vs make in qt4-x11-free for example), the build can fail. This avoids modification times in the future and should make builds safer in shared environments sstate was designed for. (From OE-Core rev: 8f1bdb4f4afd7f5f4c121be8ba82f4675f73e300) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Also add datadir/sgl to sstate whitelist to avoid openjade warningRichard Purdie2012-10-081-1/+1
| | | | | | (From OE-Core rev: e0ff54db5a5ab171ee1d0dbcf7f267235c21e601) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Add extra entries to the sstate duplicate files whitelistRichard Purdie2012-10-051-2/+8
| | | | | | | | | | | | | | This avoids errors where gcc/binutils get installed to the native sysroot in the same location for multiple package architectures. Ultimately making these native recipes with ${PACKAGE_ARCH} appended to PN will resolve this but hide the warnings until this gets sorted out. Also hide the python and docbook catalog warnings since they're known about, nothing to worry about and we'll aim to clean them up properly in the 1.4 cycle. (From OE-Core rev: 5bae58a5b59c04d8947f4842f19837a914c29b52) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Normalise paths before comparing with the whitelistRichard Purdie2012-10-051-0/+1
| | | | | | | | | Without this, path components like // could break comparisions with the whitelist leading to warnings being displayed to the user unintentionally. (From OE-Core rev: d3c46ca56fab2f07bf16b61514f30765543a8747) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Relax the duplicate file whitelist for nowRichard Purdie2012-09-281-1/+5
| | | | | | | | | | | | | | | | | do_package is a machine specific task at the moment due to packagedata. This means do_package tasks and their dependencies rerun between different machines with various duplicate file installations. There are plans to fix this but they're too invasive before release. This patch relaxes the whitelist for sstate duplicate file detection to account for this. Post-release, we re-enable stricter settings once do_package is not machine specific. (From OE-Core rev: c858259ce1881c6284f1fc2790c225c81e4a751e) 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>
* sstate: Remove master manifest usageRichard Purdie2012-09-261-28/+3
| | | | | | | | | | | | | | This was added to allow detection of duplicate files being installed by sstate. There is a much simpler way, just check if the file already exists. This effectively uses the kernel VFS as the cache which is much more efficient. This resolves a significant performance bottleneck (lock contention on a single file) when running builds that are just being generated from sstate cache files. (From OE-Core rev: 603daf343ad3f18c8adb799e3625ae2a18d94f56) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>