Handle .lz/.tar.lz URIs
authorChris Larson <chris_larson@mentor.com>
Tue, 26 Oct 2010 19:14:42 +0000 (12:14 -0700)
committerChris Larson <chris_larson@mentor.com>
Tue, 26 Oct 2010 19:15:40 +0000 (12:15 -0700)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
classes/base.bbclass
lib/oe/unpack.py

index d4d8257..b1159e8 100644 (file)
@@ -386,6 +386,11 @@ python () {
         depends = depends + " unzip-native:do_populate_sysroot"
         bb.data.setVarFlag('do_unpack', 'depends', depends, d)
 
+    if ".lz" in src_uri:
+        depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
+        depends = depends + " lzip-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)
index 5a8334b..e4fe5d8 100644 (file)
@@ -73,6 +73,11 @@ def unpack_file(file, destdir, dos=False, env=None):
     elif file.endswith('.xz'):
         root, ext = os.path.splitext(file)
         cmd = 'xz -dc %s > %s' % (file, os.path.basename(root))
+    elif file.endswith('.tar.lz'):
+        cmd = 'lzip -dc %s | tar x --no-same-owner -f -' % file
+    elif file.endswith('.lz'):
+        root, ext = os.path.splitext(file)
+        cmd = 'lzip -dc %s > %s' % (file, os.path.basename(root))
     elif file.endswith('.zip') or file.endswith('.jar'):
         cmd = 'unzip -q -o'
         if dos: