Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Phil Reid <preid@electromag.com.au>
To: openembedded-core@lists.openembedded.org
Cc: Phil Reid <preid@electromag.com.au>
Subject: [OE-core] [PATCH] archiver.bbclass: Fix archiver interaction with kernel recipes
Date: Thu, 10 Oct 2024 13:25:29 +0800	[thread overview]
Message-ID: <20241010052529.18502-1-preid@electromag.com.au> (raw)

Changes to the logic of is_work_shared where made in
commit: 5fbb4ca8da4f4f1ea426275c45634802dcb5a575
"archiver.bbclass: Improve work-shared checking"

The resuled in a change of the logic (simplifed here) from:
  inherits(gcc-source) or inherits(kernel) or (inherits(kernelsrc) and srcin(work-shared))
to just
  srcin(work-shared)

With INHERIT += "archiver" in the local.conf and a kernel recipe that uses
KERNEL_PACKAGE_NAME. When KERNEL_PACKAGE_NAME is defined the kernel
source is not placed into work-shared, but the archiver ends up
deleting the source folder in the work dir, and the build subsequently fails.

Restore the previous logic while also mainting the referenced commits intent
to consider all recipes that use work-shared. Logic is now
  inherits(gcc-source) or inherits(kernel) or srcin(work-shared)

Signed-off-by: Phil Reid <preid@electromag.com.au>
---
 meta/classes/archiver.bbclass | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 9d286224d6..2112b696ce 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -472,9 +472,12 @@ def create_diff_gz(d, src_orig, src, ar_outdir):
         os.chdir(cwd)
 
 def is_work_shared(d):
+    pn = d.getVar('PN')
     sharedworkdir = os.path.join(d.getVar('TMPDIR'), 'work-shared')
     sourcedir = os.path.realpath(d.getVar('S'))
-    return sourcedir.startswith(sharedworkdir)
+    return sourcedir.startswith(sharedworkdir) or \
+      pn.startswith('gcc-source') or bb.data.inherits_class('kernel', d)
+
 
 # Run do_unpack and do_patch
 python do_unpack_and_patch() {
-- 
2.34.1



             reply	other threads:[~2024-10-10  5:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-10  5:25 Phil Reid [this message]
2024-10-10  7:17 ` [OE-core] [PATCH] archiver.bbclass: Fix archiver interaction with kernel recipes Richard Purdie
2024-10-10 23:40   ` Phil Reid
2024-10-11 11:57     ` Richard Purdie
2024-11-01 12:02       ` Robert Yang

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=20241010052529.18502-1-preid@electromag.com.au \
    --to=preid@electromag.com.au \
    --cc=openembedded-core@lists.openembedded.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox