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 <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2025-06-16 11:49:57 +02:00
committed by Richard Purdie
parent efb0410d38
commit 4547232c71
8 changed files with 31 additions and 31 deletions

View File

@@ -92,9 +92,9 @@ python devtool_post_unpack() {
for fname in local_files:
f.write('%s\n' % fname)
if os.path.dirname(srcsubdir) != workdir:
if srcsubdir.startswith(unpackdir) and os.path.dirname(srcsubdir) != unpackdir:
# Handle if S is set to a subdirectory of the source
srcsubdir = os.path.join(workdir, os.path.relpath(srcsubdir, workdir).split(os.sep)[0])
srcsubdir = os.path.normpath(os.path.join(unpackdir, os.path.relpath(srcsubdir, unpackdir).split(os.sep)[0]))
scriptutils.git_convert_standalone_clone(srcsubdir)