diff --git a/pisi/archive.py b/pisi/archive.py index f80697f0..387f0946 100644 --- a/pisi/archive.py +++ b/pisi/archive.py @@ -74,9 +74,10 @@ class ArchiveTar(ArchiveBase): def unpack(self, target_dir, clean_dir = False): """Unpack tar archive to a given target directory(target_dir).""" -# FIX: do we need this for tar archives? -# super(ArchiveTar, self).unpack(target_dir, clean_dir) + super(ArchiveTar, self).unpack(target_dir, clean_dir) + self.unpack_dir(target_dir) + def unpack_dir(self, target_dir): rmode = "" if self.type == 'tar': rmode = 'r:' diff --git a/pisi/package.py b/pisi/package.py index b232fb57..03407864 100644 --- a/pisi/package.py +++ b/pisi/package.py @@ -120,7 +120,7 @@ class Package: def extract_install(self, outdir): self.extract_file('install.tar.lzma', ctx.config.tmp_dir()) tar = archive.ArchiveTar(join(ctx.config.tmp_dir(), 'install.tar.lzma'), 'tarlzma') - tar.unpack(outdir) + tar.unpack_dir(outdir) def extract_dir_flat(self, dir, outdir): """Extract directory recursively, this function