From: Juro Bystricky Date: Mon, 4 Jan 2016 18:51:43 +0000 (-0800) Subject: fetch2/__init__.py: Add support for 7-Zip X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7120f5bfaae54e91bc95da5667831424724ce613;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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" Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie --- diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 68ebf8b8d20..0f9c6436952 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -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!