diff options
| author | Alexander Kanavin <alex@linutronix.de> | 2025-06-16 11:49:57 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-06-20 12:07:26 +0100 |
| commit | 4547232c71590797af75b59a9890d38b61ff7890 (patch) | |
| tree | 08bca7ab0b51548a003a27df6866375b166a8735 /scripts/lib/recipetool | |
| parent | efb0410d388cb389a18e299b87fdb3554d527b39 (diff) | |
| download | poky-4547232c71590797af75b59a9890d38b61ff7890.tar.gz | |
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>
Diffstat (limited to 'scripts/lib/recipetool')
| -rw-r--r-- | scripts/lib/recipetool/append.py | 8 | ||||
| -rw-r--r-- | scripts/lib/recipetool/create.py | 4 |
2 files changed, 6 insertions, 6 deletions
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): | |||
| 317 | import oe.recipeutils | 317 | import oe.recipeutils |
| 318 | 318 | ||
| 319 | srcdir = rd.getVar('S') | 319 | srcdir = rd.getVar('S') |
| 320 | workdir = rd.getVar('WORKDIR') | 320 | unpackdir = rd.getVar('UNPACKDIR') |
| 321 | 321 | ||
| 322 | import bb.fetch | 322 | import bb.fetch |
| 323 | simplified = {} | 323 | simplified = {} |
| @@ -336,10 +336,10 @@ def appendsrc(args, files, rd, extralines=None): | |||
| 336 | src_destdir = os.path.dirname(srcfile) | 336 | src_destdir = os.path.dirname(srcfile) |
| 337 | if not args.use_workdir: | 337 | if not args.use_workdir: |
| 338 | if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'): | 338 | if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'): |
| 339 | srcdir = os.path.join(workdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX')) | 339 | srcdir = os.path.join(unpackdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX')) |
| 340 | if not bb.data.inherits_class('kernel-yocto', rd): | 340 | if not bb.data.inherits_class('kernel-yocto', rd): |
| 341 | logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${WORKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}') | 341 | logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}') |
| 342 | src_destdir = os.path.join(os.path.relpath(srcdir, workdir), src_destdir) | 342 | src_destdir = os.path.join(os.path.relpath(srcdir, unpackdir), src_destdir) |
| 343 | src_destdir = os.path.normpath(src_destdir) | 343 | src_destdir = os.path.normpath(src_destdir) |
| 344 | 344 | ||
| 345 | if src_destdir and src_destdir != '.': | 345 | if src_destdir and src_destdir != '.': |
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 7080558beb..edb6467103 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py | |||
| @@ -735,7 +735,7 @@ def create_recipe(args): | |||
| 735 | if srcsubdir and not args.binary: | 735 | if srcsubdir and not args.binary: |
| 736 | # (for binary packages we explicitly specify subdir= when fetching to | 736 | # (for binary packages we explicitly specify subdir= when fetching to |
| 737 | # match the default value of S, so we don't need to set it in that case) | 737 | # match the default value of S, so we don't need to set it in that case) |
| 738 | lines_before.append('S = "${WORKDIR}/%s"' % srcsubdir) | 738 | lines_before.append('S = "${UNPACKDIR}/%s"' % srcsubdir) |
| 739 | lines_before.append('') | 739 | lines_before.append('') |
| 740 | 740 | ||
| 741 | if pkgarch: | 741 | if pkgarch: |
| @@ -839,7 +839,7 @@ def create_recipe(args): | |||
| 839 | line = line.replace(realpv, '${PV}') | 839 | line = line.replace(realpv, '${PV}') |
| 840 | if pn: | 840 | if pn: |
| 841 | line = line.replace(pn, '${BPN}') | 841 | line = line.replace(pn, '${BPN}') |
| 842 | if line == 'S = "${WORKDIR}/${BPN}-${PV}"' or 'tmp-recipetool-' in line: | 842 | if line == 'S = "${UNPACKDIR}/${BPN}-${PV}"' or 'tmp-recipetool-' in line: |
| 843 | skipblank = True | 843 | skipblank = True |
| 844 | continue | 844 | continue |
| 845 | elif line.startswith('SRC_URI = '): | 845 | elif line.startswith('SRC_URI = '): |
