lib/oe/unpack.py: fix uncompressing .gz .bz2 or .xz
authorEric Bénard <eric@eukrea.com>
Mon, 6 Sep 2010 17:23:56 +0000 (19:23 +0200)
committerEric Bénard <eric@eukrea.com>
Mon, 6 Sep 2010 21:11:26 +0000 (23:11 +0200)
* Actually, the uncompressed file is written into the source
path instead of the destination path.
* By also removing the source path, this patch should fix this problem.
* An other fix could be to not uncompress to stdout but let gunzip|bunzip2|
xz uncompress directly to the file.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Acked-by: Chris Larson <chris_larson@mentor.com>
lib/oe/unpack.py

index 34569aa..6d24c5e 100644 (file)
@@ -63,16 +63,16 @@ def unpack_file(file, destdir, dos=False, env=None):
     elif file.endswith('.tbz') or file.endswith('.tbz2') or file.endswith('.tar.bz2'):
         cmd = 'bzip2 -dc %s | tar x --no-same-owner -f -' % file
     elif file.endswith('.gz') or file.endswith('.Z') or file.endswith('.z'):
-        base, ext = os.path.splitext(file)
-        cmd = 'gzip -dc %s > %s' % (file, base)
+        root, ext = os.path.splitext(file)
+        cmd = 'gzip -dc %s > %s' % (file, os.path.basename(root))
     elif file.endswith('.bz2'):
-        base, ext = os.path.splitext(file)
-        cmd = 'bzip2 -dc %s > %s' % (file, base)
+        root, ext = os.path.splitext(file)
+        cmd = 'bzip2 -dc %s > %s' % (file, os.path.basename(root))
     elif file.endswith('.tar.xz'):
         cmd = 'xz -dc %s | tar x --no-same-owner -f -' % file
     elif file.endswith('.xz'):
-        base, ext = os.path.splitext(file)
-        cmd = 'xz -dc %s > %s' % (file, base)
+        root, ext = os.path.splitext(file)
+        cmd = 'xz -dc %s > %s' % (file, os.path.basename(root))
     elif file.endswith('.zip') or file.endswith('.jar'):
         cmd = 'unzip -q -o'
         if dos: