openwrt_deco_e4r/tools/ipkg-utils/patches/130-tar_wildcards.patch

24 lines
1.2 KiB
Diff

--- a/ipkg.py
+++ b/ipkg.py
@@ -93,9 +93,9 @@ class Package:
self.filename = os.path.basename(fn)
## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
if self.isdeb:
- control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - '*control'","r")
+ control = os.popen("ar p "+fn+" control.tar.gz | tar xzO --wildcards -f - '*control'","r")
else:
- control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r")
+ control = os.popen("tar xzO --wildcards -f "+fn+" '*control.tar.gz' | tar xzO --wildcards -f - '*control'","r")
line = control.readline()
while 1:
if not line: break
@@ -122,7 +122,7 @@ class Package:
if self.isdeb:
data = os.popen("ar p "+fn+" data.tar.gz | tar tfz -","r")
else:
- data = os.popen("tar xfzO "+fn+" '*data.tar.gz' | tar tfz -","r")
+ data = os.popen("tar xzO --wildcards -f "+fn+" '*data.tar.gz' | tar tfz -","r")
while 1:
line = data.readline()
if not line: break