From 9ac94576bb9a71bb3a6af2ceac46106d460f3403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E7=A9=86=E7=A9=86?= Date: Mon, 10 Jul 2017 08:35:20 +0000 Subject: [PATCH] opkg.py/__init__: Compatible for ipk which outer is tar Signed-off-by: Zhu Mumu Signed-off-by: Alejandro del Castillo --- opkg.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opkg.py b/opkg.py index 2ecac8a..4d6f020 100644 --- a/opkg.py +++ b/opkg.py @@ -164,8 +164,12 @@ class Package(object): ## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,)) - ar = arfile.ArFile(f, fn) - tarStream = ar.open("control.tar.gz") + if tarfile.is_tarfile(fn): + tar = tarfile.open(fn, "r", f) + tarStream = tar.extractfile("./control.tar.gz") + else: + ar = ArFile(f, fn) + tarStream = ar.open("control.tar.gz") tarf = tarfile.open("control.tar.gz", "r", tarStream) try: control = tarf.extractfile("control")