Skip to contentSkip to conversation

multilib.bbclass: fix faulty redefinition of STAGING_KERNEL_DIR

PATCH Superseded Petter Mabäcker 1 participant 2 messages Dec 11, 2016

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover multilib.bbclass: fix faulty redefinition of STAGING_KERNEL_DIR

The following changes since commit 36e178a62f04e7f2611b26964efe46b9af97189a:

linux-yocto: Update genericx86* SRCREVs for linux-yocto 4.8 (2016-12-09 08:54:07 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib petmab/staging_dir_kernel_fix
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=petmab/staging_dir_kernel_fix

Petter Mabäcker (1):
multilib.bbclass: fix faulty redefinition of STAGING_KERNEL_DIR

 meta/classes/multilib.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 multilib.bbclass: fix faulty redefinition of STAGING_KERNEL_DIR

Due to the problem fixed in
'56c677a multilib: Move redefinition of STAGING_DIR_KERNEL' STAGING_KERNEL_DIR must be redefined for lib32 in multilib.bbclass. However this redefinition expanded STAGING_KERNEL_DIR to an absolute path. This unconsciously added the TMPDIR path in the sstate object, causing packages depended on STAGING_KERNEL_DIR being rebuild if the TMPDIR was changed.

Solve this by forcing the unexpanded TMPDIR variable to remain in the beginning of STAGING_DIR_KERNEL (as default). Since TMPDIR is included in BB_HASHBASE_WHITELIST, the sstate object will not be depended on the expanded path anymore.

---
 meta/classes/multilib.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/classes/multilib.bbclass +3 -1
index d5a3128..eba666d 100644
@@ -4,7 +4,9 @@ python multilib_virtclass_handler () {
     if cls != "multilib" or not variant:
         return
 
-    e.data.setVar('STAGING_KERNEL_DIR', e.data.getVar('STAGING_KERNEL_DIR', True))
+    localdata = bb.data.createCopy(e.data)
+    localdata.delVar('TMPDIR')
+    e.data.setVar('STAGING_KERNEL_DIR', localdata.getVar('STAGING_KERNEL_DIR', True))
 
     # There should only be one kernel in multilib configs
     # We also skip multilib setup for module packages.
Signature · 1 line
1.9.1