From patchwork Sun Sep 2 04:08:51 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel,1/1] fetch2: unpack rpm, ipk and deb binary package Date: Sun, 02 Sep 2012 04:08:51 -0000 From: Robert Yang X-Patchwork-Id: 35625 Message-Id: <2b3b5cbd804f6d0d1949c7f15970be301a6900f4.1346558600.git.liezhi.yang@windriver.com> To: Cc: Zhenfeng.Zhao@windriver.com * Unpack the ".rpm" binary package (only .src.rpm in the past) * Unpack the .deb and .ipk binary package, their unpack commands are the same. * This is useful for binary package recipe. [YOCTO #1592] Signed-off-by: Robert Yang --- bitbake/lib/bb/fetch2/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 12ebce2..00fafb6 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -938,7 +938,7 @@ class FetchMethod(object): if dos: cmd = '%s -a' % cmd cmd = "%s '%s'" % (cmd, file) - elif file.endswith('.src.rpm') or file.endswith('.srpm'): + elif file.endswith('.rpm') or file.endswith('.srpm'): if 'extract' in urldata.parm: unpack_file = urldata.parm.get('extract') cmd = 'rpm2cpio.sh %s | cpio -i %s' % (file, unpack_file) @@ -946,6 +946,8 @@ class FetchMethod(object): iterate_file = unpack_file else: cmd = 'rpm2cpio.sh %s | cpio -i' % (file) + elif file.endswith('.deb') or file.endswith('.ipk'): + cmd = 'ar -p %s data.tar.gz | zcat | tar --no-same-owner -xpf -' % file if not unpack or not cmd: # If file == dest, then avoid any copies, as we already put the file into dest!