From 4547232c71590797af75b59a9890d38b61ff7890 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 16 Jun 2025 11:49:57 +0200 Subject: recipetool/devtool: calculate source paths relative to UNPACKDIR Now that recipes default to S in UNPACKDIR, recipetool and devtool should do the same. There was some discussion about changing devtool to simply setting UNPACKDIR via bbappend to a workspace and running unpack task directly; currently it has a bunch of convoluted path calculations, substitutions, moving source trees around and and special casing (devtool-source.bbclass in particular is an unpleasant hack). This should definitely be done; but right now we can simply tweak existing code which at least doesn't make it worse. (From OE-Core rev: c326ca8aeb2bf0f7719e43921d10efd5dedc7b2a) Signed-off-by: Alexander Kanavin Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- scripts/lib/recipetool/append.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scripts/lib/recipetool/append.py') diff --git a/scripts/lib/recipetool/append.py b/scripts/lib/recipetool/append.py index c18926e56c..041d79f162 100644 --- a/scripts/lib/recipetool/append.py +++ b/scripts/lib/recipetool/append.py @@ -317,7 +317,7 @@ def appendsrc(args, files, rd, extralines=None): import oe.recipeutils srcdir = rd.getVar('S') - workdir = rd.getVar('WORKDIR') + unpackdir = rd.getVar('UNPACKDIR') import bb.fetch simplified = {} @@ -336,10 +336,10 @@ def appendsrc(args, files, rd, extralines=None): src_destdir = os.path.dirname(srcfile) if not args.use_workdir: if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'): - srcdir = os.path.join(workdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX')) + srcdir = os.path.join(unpackdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX')) if not bb.data.inherits_class('kernel-yocto', rd): - logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${WORKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}') - src_destdir = os.path.join(os.path.relpath(srcdir, workdir), src_destdir) + logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}') + src_destdir = os.path.join(os.path.relpath(srcdir, unpackdir), src_destdir) src_destdir = os.path.normpath(src_destdir) if src_destdir and src_destdir != '.': -- cgit v1.2.3-54-g00ecf