From 4a115f89bba023724e662b5e6959f2292f1ab103 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Mon, 7 Sep 2009 03:10:13 +0000 Subject: 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 Signed-off-by: Koen Kooi --- classes/base.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index cda9b8f293..e8657387a3 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -392,6 +392,15 @@ python () { 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) -- cgit 1.2.3-korg