[OE-core] [PATCH] classes/archiver: Fix WORKDIR for shared source

Joshua Watt jpewhacker at gmail.com
Wed Sep 18 21:21:32 UTC 2019


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 <JPEWhacker at gmail.com>
---
 meta/classes/archiver.bbclass | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

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)
 }
 
-- 
2.21.0



More information about the Openembedded-core mailing list