diff options
author | Ihar Hrachyshka <ihar.hrachyshka@gmail.com> | 2009-09-07 03:10:13 +0000 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-01-28 14:20:34 +0100 |
commit | c4a989b7084655e744a853c39d87e7219027b318 (patch) | |
tree | 18c5ad1934939fa654d34c2327e46aeb14641818 | |
parent | a592221d473c00362bd1264d92d432c8b8ceebb8 (diff) | |
download | openembedded-c4a989b7084655e744a853c39d87e7219027b318.tar.gz |
Fixed concurrency problem for ZIP packed recipes.
The problem occured when unzip-native is not yet staged, and ZIP
archive unpacking already started resulting in failed do_unpack task.
Added NEED_UNZIP_FOR_UNPACK variable to use in recipes which do_unpack
with unzip utility but doesn't have '.zip' in SRC_URI (f.e. .EXE
windows self-extraction binaries).
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
-rw-r--r-- | classes/base.bbclass | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 846528618a..277b4e2b8e 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -1263,6 +1263,15 @@ def base_after_parse(d): depends = depends + " git-native:do_populate_staging" bb.data.setVarFlag('do_fetch', 'depends', depends, d) + # unzip-native should already be staged before unpacking ZIP recipes + need_unzip = bb.data.getVar('NEED_UNZIP_FOR_UNPACK', d, 1) + src_uri = bb.data.getVar('SRC_URI', d, 1) + + if ".zip" in src_uri or need_unzip == "1": + depends = bb.data.getVarFlag('do_unpack', 'depends', d) or "" + depends = depends + " unzip-native:do_populate_staging" + 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) |