[oe-commits] Ihar Hrachyshka : Fixed concurrency problem for ZIP packed recipes.

git version control git at git.openembedded.org
Sat Mar 27 15:12:52 UTC 2010


Module: openembedded.git
Branch: shr/unstable
Commit: 4a115f89bba023724e662b5e6959f2292f1ab103
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=4a115f89bba023724e662b5e6959f2292f1ab103

Author: Ihar Hrachyshka <ihar.hrachyshka at gmail.com>
Date:   Mon Sep  7 03:10:13 2009 +0000

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 at gmail.com>
Signed-off-by: Koen Kooi <koen at openembedded.org>

---

 classes/base.bbclass |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/classes/base.bbclass b/classes/base.bbclass
index cda9b8f..e865738 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)





More information about the Openembedded-commits mailing list