archiver.bbclass: Fix use of ARCHIVER_WORKDIR and ARCHIVER_OUTDIR

Currently do_unpack_and_patch() and do_ar_configured() are using
the ARCHIVER_OUTDIR as the ARCHIVER_WORKDIR, this lead to have
duplicated files inside the tars when using the archiver class
for patched and configured source.

(From OE-Core rev: 09dfc99a813090043262529beb6d900900e983dc)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez 2016-03-22 14:04:01 +00:00 committed by Richard Purdie
parent 8b7ee6ebeb
commit c29eea0df8
1 changed files with 11 additions and 11 deletions

View File

@ -156,8 +156,9 @@ python do_ar_patched() {
# Get the ARCHIVER_OUTDIR before we reset the WORKDIR
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
ar_workdir = d.getVar('ARCHIVER_WORKDIR', True)
bb.note('Archiving the patched source...')
d.setVar('WORKDIR', ar_outdir)
d.setVar('WORKDIR', ar_workdir)
create_tarball(d, d.getVar('S', True), 'patched', ar_outdir)
}
@ -250,21 +251,20 @@ python do_unpack_and_patch() {
[ 'patched', 'configured'] and \
d.getVarFlag('ARCHIVER_MODE', 'diff', True) != '1':
return
# Change the WORKDIR to make do_unpack do_patch run in another dir.
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
d.setVar('WORKDIR', ar_outdir)
# The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
# possibly requiring of the following tasks (such as some recipes's
# do_patch required 'B' existed).
bb.utils.mkdirhier(d.getVar('B', True))
ar_workdir = d.getVar('ARCHIVER_WORKDIR', True)
# The kernel class functions require it to be on work-shared, so we dont change WORKDIR
if not bb.data.inherits_class('kernel-yocto', d):
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
d.setVar('WORKDIR', ar_outdir)
bb.build.exec_func('do_unpack', d)
# Change the WORKDIR to make do_unpack do_patch run in another dir.
d.setVar('WORKDIR', ar_workdir)
# The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
# possibly requiring of the following tasks (such as some recipes's
# do_patch required 'B' existed).
bb.utils.mkdirhier(d.getVar('B', True))
bb.build.exec_func('do_unpack', d)
# Save the original source for creating the patches
if d.getVarFlag('ARCHIVER_MODE', 'diff', True) == '1':