diff options
author | Clemens Lang <clemens.lang@bmw-carit.de> | 2015-08-17 10:37:47 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-19 18:05:36 +0100 |
commit | 76d7e8e9c9881afefafed3acfd1a72d97b025d75 (patch) | |
tree | 001bccb2833115aff46848c8316956d22e41fe3e | |
parent | d6eb9cceb3079d0512535f8e5e32fe3a28fdf9b2 (diff) | |
download | poky-76d7e8e9c9881afefafed3acfd1a72d97b025d75.tar.gz |
archiver.bbclass: Run deploy_archives in $WORKDIR
In recipes that are exempt from source code archiving due to
COPYLEFT_LICENSE_EXCLUDE, do_deploy_archives does not have a transitive
dependency on do_unpack. Given enough parallelism, this means
do_deploy_archives can run at the same time or before do_unpack.
Because do_deploy_archives did not specify a working directory, its
working directory was ${B}, which defaults to ${S}, which may be set by
a recipe to a directory that is created by do_unpack.
In this case, do_deploy_archives can fail because do_unpack deletes and
re-creates the directory and do_deploy_archives cannot change into the
non-existent directory. Avoid this problem by explicitly specifying
a working directory for do_deploy_archives (and for
do_deploy_all_archives as well for good measure).
(From OE-Core rev: e22685ff11af6d54c939aa8f327a0aaa1557fbbc)
Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/archiver.bbclass | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index d908d162b1..089d70748c 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass | |||
@@ -45,6 +45,8 @@ ARCHIVER_WORKDIR = "${WORKDIR}/archiver-work/" | |||
45 | do_dumpdata[dirs] = "${ARCHIVER_OUTDIR}" | 45 | do_dumpdata[dirs] = "${ARCHIVER_OUTDIR}" |
46 | do_ar_recipe[dirs] = "${ARCHIVER_OUTDIR}" | 46 | do_ar_recipe[dirs] = "${ARCHIVER_OUTDIR}" |
47 | do_ar_original[dirs] = "${ARCHIVER_OUTDIR} ${ARCHIVER_WORKDIR}" | 47 | do_ar_original[dirs] = "${ARCHIVER_OUTDIR} ${ARCHIVER_WORKDIR}" |
48 | do_deploy_archives[dirs] = "${WORKDIR}" | ||
49 | do_deploy_all_archives[dirs] = "${WORKDIR}" | ||
48 | 50 | ||
49 | # This is a convenience for the shell script to use it | 51 | # This is a convenience for the shell script to use it |
50 | 52 | ||