]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate.bbclass: fix parallel building issue
authorRoy.Li <rongqing.li@windriver.com>
Tue, 13 Aug 2013 08:20:18 +0000 (16:20 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 12 Sep 2013 15:48:38 +0000 (16:48 +0100)
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]

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass

index b088e58d989c5379d88ab214065755bc5a9f031c..37ade3f7a6e21d2e9df3e6b3805f181612ef8ad9 100644 (file)
@@ -566,7 +566,7 @@ sstate_create_package () {
        TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
        # Need to handle empty directories
        if [ "$(ls -A)" ]; then
-               tar -czf $TFILE *
+               tar --ignore-failed-read -czf $TFILE *
        else
                tar -cz --file=$TFILE --files-from=/dev/null
        fi