From: Etienne Cordonnier <[email protected]>

The function do_symlink_kernsrc is not reentrant in the case where S is defined
to a non-default value. This causes build-failures e.g. when building 
linux-yocto, then updating
poky to a commit which modifies kernel.bbclass, and then building linux-yocto 
again.

Bugzilla: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15325

Signed-off-by: Etienne Cordonnier <[email protected]>
---
 meta/classes-recipe/kernel.bbclass | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/classes-recipe/kernel.bbclass 
b/meta/classes-recipe/kernel.bbclass
index 9ff37f5c38..cdd5f8e9a1 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -183,6 +183,11 @@ python do_symlink_kernsrc () {
     s = d.getVar("S")
     kernsrc = d.getVar("STAGING_KERNEL_DIR")
     if s != kernsrc:
+        if os.path.islink(s):
+            # this happens for instance when a poky update modifies this class,
+            # forcing symlink_kernsrc to run again after s was already moved 
to kernsrc
+            bb.info("%s is already a symlink! Not symlinking kernel sources" % 
s)
+            return 0
         bb.utils.mkdirhier(kernsrc)
         bb.utils.remove(kernsrc, recurse=True)
         if s[-1] == '/':
-- 
2.36.1.vfs.0.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192636): 
https://lists.openembedded.org/g/openembedded-core/message/192636
Mute This Topic: https://lists.openembedded.org/mt/103240937/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

  • [OE-core] [PATCH v3] kernel.... Etienne Cordonnier via lists.openembedded.org

Reply via email to