classes/archiver: Fix WORKDIR for shared source

When archiving patched source, WORKDIR should only be changed to
${ARCHIVER_WORKDIR} if the recipe doesn't use a shared work directory.
This matches the behavior of do_unpack_and_patch for these recipes.

This fixes kernel recipes that set S = "${WORKDIR}/git"

(From OE-Core rev: e3caee8f86f2cca1d052f1f1b233018a3d4baa97)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Watt
2019-09-18 16:21:32 -05:00
committed by Richard Purdie
parent 9cbfaf790f
commit ec33280c00

View File

@@ -221,9 +221,10 @@ python do_ar_patched() {
# Get the ARCHIVER_OUTDIR before we reset the WORKDIR
ar_outdir = d.getVar('ARCHIVER_OUTDIR')
ar_workdir = d.getVar('ARCHIVER_WORKDIR')
if not is_work_shared(d):
ar_workdir = d.getVar('ARCHIVER_WORKDIR')
d.setVar('WORKDIR', ar_workdir)
bb.note('Archiving the patched source...')
d.setVar('WORKDIR', ar_workdir)
create_tarball(d, d.getVar('S'), 'patched', ar_outdir)
}