Skip to contentSkip to conversation

Add unzip DEPENDS for .zip SRC_URI files

PATCH In review Tom Rini 2 participants 4 messages Jul 18, 2011 – Jul 19, 2011

lore
Share & tools
lore

Tom Rini

author
#0 lore raw

v3 cover Add unzip DEPENDS for .zip SRC_URI files

Hey all,

In doing some world builds I ran into "oops, we don't make .zip files depend on unzip-native". So this is a port of the commit from oe.dev that does this.

v2: Don brown paper bag, s/do_populate_staging/do_populate_sysroot, test
v3: Drop NEED_UNZIP_FOR_UNPACK at Richard's request (on IRC)
The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
Saul Wold (1):
libx11: ensure nativesdk uses correct DEPENDS and XCB flags

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib trini/add-zip-native-check-v3
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/add-zip-native-check-v3

Ihar Hrachyshka (1):
Fixed concurrency problem for ZIP packed recipes.

 meta/classes/base.bbclass |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
author
#1 lore raw

PATCH v3 1/1 Fixed concurrency problem for ZIP packed recipes.

From: Ihar Hrachyshka <[email protected]>

The problem occured when unzip-native is not yet staged, and ZIP archive unpacking already started resulting in failed do_unpack task.

(oe.dev has a NEED_UNZIP_FOR_UNPACK variable we did not bring over)

---
 meta/classes/base.bbclass |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
meta/classes/base.bbclass +8 -0
index 0c2c546..0347b90 100644
@@ -354,6 +354,14 @@ python () {
         depends = depends + " xz-native:do_populate_sysroot"
         bb.data.setVarFlag('do_unpack', 'depends', depends, d)
 
+    # unzip-native should already be staged before unpacking ZIP recipes
+    src_uri = bb.data.getVar('SRC_URI', d, 1)
+
+    if ".zip" in src_uri:
+        depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
+        depends = depends + " unzip-native:do_populate_sysroot"
+        bb.data.setVarFlag('do_unpack', 'depends', depends, d)
+
     # 'multimachine' handling
     mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
     pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
Signature · 1 line
1.7.0.4
#2 lore raw

Re: [PATCH v3 1/1] Fixed concurrency problem for ZIP packed recipes.

Quoted 23 lines · Tom Rini

From: Ihar Hrachyshka <[email protected]>

The problem occured when unzip-native is not yet staged, and ZIP archive unpacking already started resulting in failed do_unpack task.

(oe.dev has a NEED_UNZIP_FOR_UNPACK variable we did not bring over)

---
 meta/classes/base.bbclass |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
meta/classes/base.bbclass +1 -0
index 0c2c546..0347b90 100644
@@ -354,6 +354,14 @@ python () {
         depends = depends + " xz-native:do_populate_sysroot"
         bb.data.setVarFlag('do_unpack', 'depends', depends, d)
 
+    # unzip-native should already be staged before unpacking ZIP recipes

meta/classes/base.bbclass python () { · line 367

Quoted 10 lines
meta/classes/base.bbclass +7 -0
+    src_uri = bb.data.getVar('SRC_URI', d, 1)
+
+    if ".zip" in src_uri:
+        depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
+        depends = depends + " unzip-native:do_populate_sysroot"
+        bb.data.setVarFlag('do_unpack', 'depends', depends, d)
+
     # 'multimachine' handling
     mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
     pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)

Any reason we can't use the value of SRC_URI we already have in the srcuri variable a few lines above this? :)

Assuming you're ok with the change I can just fix this to save it bouncing around the lists further...

Cheers,

Richard

#3 lore raw

Re: [PATCH v3 1/1] Fixed concurrency problem for ZIP packed recipes.

In reply to Tom Rini
Quoted 23 lines · Tom Rini

From: Ihar Hrachyshka <[email protected]>

The problem occured when unzip-native is not yet staged, and ZIP archive unpacking already started resulting in failed do_unpack task.

(oe.dev has a NEED_UNZIP_FOR_UNPACK variable we did not bring over)

---
 meta/classes/base.bbclass |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
meta/classes/base.bbclass +1 -0
index 0c2c546..0347b90 100644
@@ -354,6 +354,14 @@ python () {
         depends = depends + " xz-native:do_populate_sysroot"
         bb.data.setVarFlag('do_unpack', 'depends', depends, d)
 
+    # unzip-native should already be staged before unpacking ZIP recipes

meta/classes/base.bbclass python () { · line 367

Quoted 10 lines
meta/classes/base.bbclass +7 -0
+    src_uri = bb.data.getVar('SRC_URI', d, 1)
+
+    if ".zip" in src_uri:
+        depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
+        depends = depends + " unzip-native:do_populate_sysroot"
+        bb.data.setVarFlag('do_unpack', 'depends', depends, d)
+
     # 'multimachine' handling
     mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
     pkg_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)

I merged this with a tweak to use the already existing srcuri variable after talking to Tom on irc.

Cheers,

Richard