bitbake: fetch2/__init__.py: Add support for 7-Zip

7-Zip is a file archiver claiming the highest compression ratio.
This patch allows using 7-Zip commpressed files in bitbake recipes.
Two common formats are supported:

SRC_URI = "file://abc.tar.7z"
SRC_URI = "file://abc.7z"

(Bitbake rev: 7120f5bfaae54e91bc95da5667831424724ce613)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Juro Bystricky 2016-01-04 10:51:43 -08:00 committed by Richard Purdie
parent f5bfc1cc26
commit 763506d49b
1 changed files with 4 additions and 0 deletions

View File

@ -1407,6 +1407,10 @@ class FetchMethod(object):
cmd = 'rpm2cpio.sh %s | cpio -id' % (file)
elif file.endswith('.deb') or file.endswith('.ipk'):
cmd = 'ar -p %s data.tar.gz | zcat | tar --no-same-owner -xpf -' % file
elif file.endswith('.tar.7z'):
cmd = '7z x -so %s | tar xf - ' % file
elif file.endswith('.7z'):
cmd = '7za x -y %s 1>/dev/null' % file
if not unpack or not cmd:
# If file == dest, then avoid any copies, as we already put the file into dest!