Add unzip DEPENDS for .zip SRC_URI files
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(-)
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
@@ -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
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_unpacktask.(oe.dev has a
NEED_UNZIP_FOR_UNPACKvariable we did not bring over)Signed-off-by Ihar Hrachyshka <[email protected]>Signed-off-by Koen Kooi <[email protected]>Signed-off-by Tom Rini <[email protected]>--- meta/classes/base.bbclass | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)meta/classes/base.bbclass +1
-0@@ -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
Re: [PATCH v3 1/1] Fixed concurrency problem for ZIP packed recipes.
In reply to Tom RiniQuoted 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_unpacktask.(oe.dev has a
NEED_UNZIP_FOR_UNPACKvariable we did not bring over)Signed-off-by Ihar Hrachyshka <[email protected]>Signed-off-by Koen Kooi <[email protected]>Signed-off-by Tom Rini <[email protected]>--- meta/classes/base.bbclass | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)meta/classes/base.bbclass +1
-0@@ -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