install: Read install.tar.lzma without extracting it
Do not waste time/space for extracting it from ZIP archive.
This commit is contained in:
+5
-10
@@ -120,17 +120,12 @@ class Package:
|
|||||||
|
|
||||||
|
|
||||||
if self.impl.has_file(ctx.const.install_tar_lzma):
|
if self.impl.has_file(ctx.const.install_tar_lzma):
|
||||||
lzmafile = os.path.join(ctx.config.tmp_dir(), ctx.const.install_tar_lzma)
|
lzmafile = self.impl.open(ctx.const.install_tar_lzma)
|
||||||
self.extract_file(ctx.const.install_tar_lzma, ctx.config.tmp_dir())
|
tar = archive.ArchiveTar(fileobj=lzmafile,
|
||||||
tar = archive.ArchiveTar(lzmafile, 'tarlzma', False, False)
|
arch_type="tarlzma",
|
||||||
|
no_same_permissions=False,
|
||||||
|
no_same_owner=False)
|
||||||
tar.unpack_dir(outdir, callback=callback)
|
tar.unpack_dir(outdir, callback=callback)
|
||||||
|
|
||||||
# cleanup install.tar.lzma and install.tar after installing
|
|
||||||
if os.path.exists(lzmafile):
|
|
||||||
os.unlink(lzmafile)
|
|
||||||
lzmafile = util.remove_suffix(ctx.const.lzma_suffix, lzmafile)
|
|
||||||
if os.path.exists(lzmafile):
|
|
||||||
os.unlink(lzmafile)
|
|
||||||
else:
|
else:
|
||||||
self.extract_dir_flat('install', outdir)
|
self.extract_dir_flat('install', outdir)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user