From: "Benjamin Robin (Schneider Electric)" <benjamin.robin@bootlin.com>
To: openembedded-core@lists.openembedded.org
Cc: richard.purdie@linuxfoundation.org, ross.burton@arm.com,
antonin.godard@bootlin.com, mathieu.dubois-briand@bootlin.com,
thomas.petazzoni@bootlin.com,
"Benjamin Robin (Schneider Electric)"
<benjamin.robin@bootlin.com>
Subject: [PATCH] devtool-source: set S variable to a sub dir of UNPACKDIR
Date: Thu, 16 Apr 2026 10:14:26 +0200 [thread overview]
Message-ID: <20260416-fix-devtool-source-v1-1-3a9b689fbe16@bootlin.com> (raw)
If a recipe set UNPACKDIR to a directory that is not contained within
WORKDIR, before this modification, this generates the following error:
"S should be set relative to UNPACKDIR."
S should not be updated, otherwise the recipe may not find the extracted
sources. In all recipes, S should reference the UNPACKDIR variable.
There is an exception for the kernel to prevent infinite recursion
when expanding the STAGING_KERNEL_DIR variable.
So, only updates UNPACKDIR to be within the DEVTOOL_TEMPDIR directory.
Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
---
I have done various testing, but since I don't know all the requirements
of devtool, and all the impacts of this change, I may have broken some
stuff (I hope not).
This patch fixes the following command:
- devtool upgrade sbom-cve-check-update-cvelist-native
It does not break the following commands:
- devtool upgrade linux-yocto
- devtool upgrade python3-sbom-cve-check
---
meta/classes/devtool-source.bbclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass
index 2e0070486b46..fcc053120343 100644
--- a/meta/classes/devtool-source.bbclass
+++ b/meta/classes/devtool-source.bbclass
@@ -37,12 +37,11 @@ python() {
workdir = os.path.join(tempdir, 'workdir')
d.setVar('WORKDIR', workdir)
if not d.getVar('S').startswith(workdir):
+ d.setVar('UNPACKDIR', os.path.join(workdir, 'sources'))
# Usually a shared workdir recipe (kernel, gcc)
# Try to set a reasonable default
if bb.data.inherits_class('kernel', d):
- d.setVar('S', '${WORKDIR}/source')
- else:
- d.setVar('S', '${WORKDIR}/%s' % os.path.basename(d.getVar('S')))
+ d.setVar('S', '${UNPACKDIR}/source')
if bb.data.inherits_class('kernel', d):
# We don't want to move the source to STAGING_KERNEL_DIR here
d.setVar('STAGING_KERNEL_DIR', '${S}')
---
base-commit: 8b5f530fc57ba0e04c47b2d7338f5c0f862b084f
change-id: 20260416-fix-devtool-source-a76f6eb22c11
Best regards,
--
Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
next reply other threads:[~2026-04-16 8:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 8:14 Benjamin Robin (Schneider Electric) [this message]
2026-04-16 10:31 ` [PATCH] devtool-source: set S variable to a sub dir of UNPACKDIR Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260416-fix-devtool-source-v1-1-3a9b689fbe16@bootlin.com \
--to=benjamin.robin@bootlin.com \
--cc=antonin.godard@bootlin.com \
--cc=mathieu.dubois-briand@bootlin.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
--cc=ross.burton@arm.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.