From: Joshua Watt Date: Wed, 18 Sep 2019 21:21:32 +0000 (-0500) Subject: classes/archiver: Fix WORKDIR for shared source X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~13204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3caee8f86f2cca1d052f1f1b233018a3d4baa97;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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" Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 13b05bb5f2f..093e2d95af5 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -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) }