Drop ipkg-utils
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4864 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
d12df5427a
commit
382427b65d
|
@ -1,17 +0,0 @@
|
|||
require ipkg-utils_${PV}.bb
|
||||
|
||||
RDEPENDS = ""
|
||||
PR = "r15"
|
||||
|
||||
inherit native
|
||||
|
||||
# Avoid circular dependencies from package_ipk.bbclass
|
||||
PACKAGES = ""
|
||||
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-utils"
|
||||
INSTALL += "arfile.py"
|
||||
|
||||
do_stage() {
|
||||
for i in ${INSTALL}; do
|
||||
install -m 0755 $i ${STAGING_BINDIR}
|
||||
done
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
---
|
||||
Makefile | 2 ++
|
||||
ipkg-list-fields | 13 +++++++++++++
|
||||
ipkg.py | 8 +++++++-
|
||||
3 files changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: ipkg-utils/Makefile
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/Makefile 2007-06-13 22:45:47.000000000 +0100
|
||||
+++ ipkg-utils/Makefile 2007-06-13 22:46:50.000000000 +0100
|
||||
@@ -15,6 +15,8 @@ install: ${UTILS}
|
||||
python setup.py install
|
||||
chmod agu+rx ipkg-make-index
|
||||
cp -f ipkg-make-index $(PREFIX)/bin
|
||||
+ chmod agu+rx ipkg-list-fields
|
||||
+ cp -f ipkg-list-fields $(PREFIX)/bin
|
||||
|
||||
binary: build
|
||||
mkdir -p ipkg-build-binary/usr/bin
|
||||
Index: ipkg-utils/ipkg-list-fields
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ ipkg-utils/ipkg-list-fields 2007-06-13 22:43:32.000000000 +0100
|
||||
@@ -0,0 +1,13 @@
|
||||
+#!/usr/bin/python
|
||||
+
|
||||
+import sys, ipkg
|
||||
+
|
||||
+def usage():
|
||||
+ sys.stderr.write("%s ipk\n" % (sys.argv[0],))
|
||||
+ sys.exit(-1)
|
||||
+
|
||||
+if (len(sys.argv) < 2):
|
||||
+ usage()
|
||||
+
|
||||
+print ipkg.Package(sys.argv[1])
|
||||
+
|
||||
Index: ipkg-utils/ipkg.py
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/ipkg.py 2007-06-13 22:44:50.000000000 +0100
|
||||
+++ ipkg-utils/ipkg.py 2007-06-13 22:39:44.000000000 +0100
|
||||
@@ -139,6 +139,9 @@ class Package:
|
||||
self.installed_size = None
|
||||
self.filename = None
|
||||
self.isdeb = 0
|
||||
+ self.homepage = None
|
||||
+ self.oe = None
|
||||
+ self.priority = None
|
||||
self.fn = fn
|
||||
|
||||
if fn:
|
||||
@@ -211,7 +214,7 @@ class Package:
|
||||
elif self.__dict__.has_key(name):
|
||||
self.__dict__[name] = value
|
||||
else:
|
||||
- #print "Lost field %s, %s" % (name,value)
|
||||
+ print "Lost field %s, %s" % (name,value)
|
||||
pass
|
||||
|
||||
if line and line[0] == '\n':
|
||||
@@ -402,6 +405,9 @@ class Package:
|
||||
if self.filename: out = out + "Filename: %s\n" % (self.filename)
|
||||
if self.source: out = out + "Source: %s\n" % (self.source)
|
||||
if self.description: out = out + "Description: %s\n" % (self.description)
|
||||
+ if self.oe: out = out + "OE: %s\n" % (self.oe)
|
||||
+ if self.homepage: out = out + "HomePage: %s\n" % (self.homepage)
|
||||
+ if self.priority: out = out + "Priority: %s\n" % (self.priority)
|
||||
out = out + "\n"
|
||||
|
||||
return out
|
|
@ -1,97 +0,0 @@
|
|||
---
|
||||
ipkg-make-index | 31 +++++++++++++++++++++++++++----
|
||||
1 file changed, 27 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: ipkg-utils/ipkg-make-index
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/ipkg-make-index 2007-05-26 23:45:56.000000000 +0100
|
||||
+++ ipkg-utils/ipkg-make-index 2007-05-26 23:47:25.000000000 +0100
|
||||
@@ -40,6 +40,7 @@ def to_locale(filename, locale):
|
||||
old_filename = None
|
||||
packages_filename = None
|
||||
filelist_filename = "Packages.filelist"
|
||||
+stamplist_filename = "Packages.stamps"
|
||||
opt_s = 0
|
||||
opt_m = 0
|
||||
(opts, remaining_args) = getopt.getopt(sys.argv[1:], "hl:p:vsmr:L:")
|
||||
@@ -50,6 +51,7 @@ for (optkey, optval) in opts:
|
||||
opt_s = 1
|
||||
if optkey == '-p':
|
||||
packages_filename = optval
|
||||
+ stamplist_filename = optval + ".stamps"
|
||||
if optkey == '-l':
|
||||
filelist_filename = optval
|
||||
if optkey == '-v':
|
||||
@@ -72,6 +74,7 @@ old_pkg_hash = {}
|
||||
if packages_filename and not old_filename and os.path.exists(packages_filename):
|
||||
old_filename = packages_filename
|
||||
|
||||
+pkgsStamps = {}
|
||||
if old_filename:
|
||||
if (verbose):
|
||||
sys.stderr.write("Reading package list from " + old_filename + "\n")
|
||||
@@ -80,6 +83,14 @@ if old_filename:
|
||||
for k in old_packages.packages.keys():
|
||||
p = old_packages.packages[k]
|
||||
old_pkg_hash[p.filename] = p
|
||||
+ try:
|
||||
+ f = open(stamplist_filename, "r")
|
||||
+ for l in f:
|
||||
+ l = l.strip()
|
||||
+ s, f = l.split(" ", 1)
|
||||
+ pkgsStamps[f] = int(s)
|
||||
+ except IOError:
|
||||
+ pass
|
||||
|
||||
if (verbose):
|
||||
sys.stderr.write("Reading in all the package info from %s\n" % (pkg_dir, ))
|
||||
@@ -87,11 +98,17 @@ files=glob(pkg_dir + '/*.ipk') + glob(pk
|
||||
files.sort()
|
||||
for filename in files:
|
||||
basename = os.path.basename(filename)
|
||||
+ pkg = None
|
||||
+ fnameStat = os.stat(filename)
|
||||
if old_pkg_hash.has_key(basename):
|
||||
- if (verbose):
|
||||
+ if pkgsStamps.has_key(basename) and fnameStat.st_mtime == pkgsStamps[basename]:
|
||||
+ if (verbose):
|
||||
sys.stderr.write("Found %s in Packages\n" % (filename,))
|
||||
- pkg = old_pkg_hash[basename]
|
||||
- else:
|
||||
+ pkg = old_pkg_hash[basename]
|
||||
+ else:
|
||||
+ sys.stderr.write("Found %s in Packages, but mtime differs - re-reading\n" % (filename,))
|
||||
+
|
||||
+ if not pkg:
|
||||
if (verbose):
|
||||
sys.stderr.write("Reading info for package %s\n" % (filename,))
|
||||
pkg = ipkg.Package(filename)
|
||||
@@ -101,6 +118,7 @@ for filename in files:
|
||||
else:
|
||||
old_filename = ""
|
||||
s = packages.add_package(pkg)
|
||||
+ pkgsStamps[basename] = fnameStat.st_mtime
|
||||
if s == 0:
|
||||
if old_filename:
|
||||
# old package was displaced by newer
|
||||
@@ -114,6 +132,11 @@ for filename in files:
|
||||
if opt_s:
|
||||
print filename
|
||||
|
||||
+pkgsStampsFile = open(stamplist_filename, "w")
|
||||
+for f in pkgsStamps.keys():
|
||||
+ pkgsStampsFile.write("%d %s\n" % (pkgsStamps[f], f))
|
||||
+pkgsStampsFile.close()
|
||||
+
|
||||
if opt_s:
|
||||
sys.exit(0)
|
||||
|
||||
@@ -154,7 +177,7 @@ if packages_filename:
|
||||
os.rename(tmp_packages_filename, packages_filename)
|
||||
os.rename(tmp_gzip_filename, gzip_filename)
|
||||
|
||||
-if verbose:
|
||||
+if verbose:
|
||||
sys.stderr.write("Generate Packages.filelist file\n")
|
||||
files = {}
|
||||
names = packages.packages.keys()
|
|
@ -1,51 +0,0 @@
|
|||
Only in ipkg-utils: ipkg-py-sane-vercompare.patch
|
||||
diff -ur ipkg-utils.org/ipkg.py ipkg-utils/ipkg.py
|
||||
--- ipkg-utils.org/ipkg.py 2005-01-08 18:08:52.000000000 +0000
|
||||
+++ ipkg-utils/ipkg.py 2007-04-04 11:52:46.000000000 +0000
|
||||
@@ -48,9 +48,9 @@
|
||||
self.epoch = epoch
|
||||
self.version = version
|
||||
|
||||
- def _versioncompare(self, ref):
|
||||
- selfversion = self.version
|
||||
- refversion = ref.version
|
||||
+ def _versioncompare(self, selfversion, refversion):
|
||||
+ if not selfversion: selfversion = ""
|
||||
+ if not refversion: refversion = ""
|
||||
while 1:
|
||||
## first look for non-numeric version component
|
||||
selfm = re.match('([^0-9]*)(.*)', selfversion)
|
||||
@@ -89,7 +89,18 @@
|
||||
elif (self.epoch < ref.epoch):
|
||||
return -1
|
||||
else:
|
||||
- return self._versioncompare(ref)
|
||||
+ self_ver_comps = re.match(r"(.+?)(-r.+)?$", self.version)
|
||||
+ ref_ver_comps = re.match(r"(.+?)(-r.+)?$", ref.version)
|
||||
+ #print (self_ver_comps.group(1), self_ver_comps.group(2))
|
||||
+ #print (ref_ver_comps.group(1), ref_ver_comps.group(2))
|
||||
+ r = self._versioncompare(self_ver_comps.group(1), ref_ver_comps.group(1))
|
||||
+ if r == 0:
|
||||
+ r = self._versioncompare(self_ver_comps.group(2), ref_ver_comps.group(2))
|
||||
+ #print "compare: %s vs %s = %d" % (self, ref, r)
|
||||
+ return r
|
||||
+
|
||||
+ def __str__(self):
|
||||
+ return str(self.epoch) + ":" + self.version
|
||||
|
||||
def parse_version(versionstr):
|
||||
epoch = 0
|
||||
@@ -445,6 +456,13 @@
|
||||
return self.packages[key]
|
||||
|
||||
if __name__ == "__main__":
|
||||
+
|
||||
+ assert Version(0, "1.2.2-r1").compare(Version(0, "1.2.3-r0")) == -1
|
||||
+ assert Version(0, "1.2.2-r0").compare(Version(0, "1.2.2+cvs20070308-r0")) == -1
|
||||
+ assert Version(0, "1.2.2+cvs20070308").compare(Version(0, "1.2.2-r0")) == 1
|
||||
+ assert Version(0, "1.2.2-r0").compare(Version(0, "1.2.2-r0")) == 0
|
||||
+ assert Version(0, "1.2.2-r5").compare(Version(0, "1.2.2-r0")) == 1
|
||||
+
|
||||
package = Package()
|
||||
|
||||
package.set_package("FooBar")
|
|
@ -1,310 +0,0 @@
|
|||
---
|
||||
arfile.py | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
ipkg.py | 106 ++++++++++++++++++++++++++---------------------------
|
||||
setup.py | 2 -
|
||||
3 files changed, 177 insertions(+), 55 deletions(-)
|
||||
|
||||
Index: ipkg-utils/arfile.py
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ ipkg-utils/arfile.py 2007-05-26 23:46:59.000000000 +0100
|
||||
@@ -0,0 +1,125 @@
|
||||
+"""
|
||||
+arfile - A module to parse GNU ar archives.
|
||||
+
|
||||
+Copyright (c) 2006-7 Paul Sokolovsky
|
||||
+This file is released under the terms
|
||||
+of GNU General Public License v2 or later.
|
||||
+"""
|
||||
+import sys
|
||||
+import os
|
||||
+import tarfile
|
||||
+
|
||||
+
|
||||
+class FileSection:
|
||||
+ "A class which allows to treat portion of file as separate file object."
|
||||
+
|
||||
+ def __init__(self, f, offset, size):
|
||||
+ self.f = f
|
||||
+ self.offset = offset
|
||||
+ self.size = size
|
||||
+ self.seek(0, 0)
|
||||
+
|
||||
+ def seek(self, offset, whence = 0):
|
||||
+# print "seek(%x, %d)" % (offset, whence)
|
||||
+ if whence == 0:
|
||||
+ return self.f.seek(offset + self.offset, whence)
|
||||
+ elif whence == 1:
|
||||
+ return self.f.seek(offset, whence)
|
||||
+ elif whence == 2:
|
||||
+ return self.f.seek(self.offset + self.size + offset, 0)
|
||||
+ else:
|
||||
+ assert False
|
||||
+
|
||||
+ def tell(self):
|
||||
+# print "tell()"
|
||||
+ return self.f.tell() - self.offset
|
||||
+
|
||||
+ def read(self, size = -1):
|
||||
+# print "read(%d)" % size
|
||||
+ return self.f.read(size)
|
||||
+
|
||||
+class ArFile:
|
||||
+
|
||||
+ def __init__(self, f):
|
||||
+ self.f = f
|
||||
+ self.directory = {}
|
||||
+ self.directoryRead = False
|
||||
+
|
||||
+ signature = self.f.readline()
|
||||
+ assert signature == "!<arch>\n"
|
||||
+ self.directoryOffset = self.f.tell()
|
||||
+
|
||||
+ def open(self, fname):
|
||||
+ if self.directory.has_key(fname):
|
||||
+ return FileSection(self.f, self.directory[fname][-1], int(self.directory[fname][5]))
|
||||
+
|
||||
+ if self.directoryRead:
|
||||
+ raise IOError, (2, "AR member not found: " + fname)
|
||||
+
|
||||
+ f = self._scan(fname)
|
||||
+ if f == None:
|
||||
+ raise IOError, (2, "AR member not found: " + fname)
|
||||
+ return f
|
||||
+
|
||||
+
|
||||
+ def _scan(self, fname):
|
||||
+ self.f.seek(self.directoryOffset, 0)
|
||||
+
|
||||
+ while True:
|
||||
+ l = self.f.readline()
|
||||
+ if not l:
|
||||
+ self.directoryRead = True
|
||||
+ return None
|
||||
+
|
||||
+ if l == "\n":
|
||||
+ l = self.f.readline()
|
||||
+ if not l: break
|
||||
+ l = l.replace('`', '')
|
||||
+ descriptor = l.split()
|
||||
+# print descriptor
|
||||
+ size = int(descriptor[5])
|
||||
+ memberName = descriptor[0][:-1]
|
||||
+ self.directory[memberName] = descriptor + [self.f.tell()]
|
||||
+# print "read:", memberName
|
||||
+ if memberName == fname:
|
||||
+ # Record directory offset to start from next time
|
||||
+ self.directoryOffset = self.f.tell() + size
|
||||
+ return FileSection(self.f, self.f.tell(), size)
|
||||
+
|
||||
+ # Skip data and loop
|
||||
+ data = self.f.seek(size, 1)
|
||||
+# print hex(f.tell())
|
||||
+
|
||||
+
|
||||
+if __name__ == "__main__":
|
||||
+ if None:
|
||||
+ f = open(sys.argv[1], "rb")
|
||||
+
|
||||
+ ar = ArFile(f)
|
||||
+ tarStream = ar.open("data.tar.gz")
|
||||
+ print "--------"
|
||||
+ tarStream = ar.open("data.tar.gz")
|
||||
+ print "--------"
|
||||
+ tarStream = ar.open("control.tar.gz")
|
||||
+ print "--------"
|
||||
+ tarStream = ar.open("control.tar.gz2")
|
||||
+
|
||||
+ sys.exit(0)
|
||||
+
|
||||
+
|
||||
+ dir = "."
|
||||
+ if len(sys.argv) > 1:
|
||||
+ dir = sys.argv[1]
|
||||
+ for f in os.listdir(dir):
|
||||
+ if not f.endswith(".ipk"): continue
|
||||
+
|
||||
+ print "=== %s ===" % f
|
||||
+ f = open(dir + "/" + f, "rb")
|
||||
+
|
||||
+ ar = ArFile(f)
|
||||
+ tarStream = ar.open("control.tar.gz")
|
||||
+ tarf = tarfile.open("control.tar.gz", "r", tarStream)
|
||||
+ #tarf.list()
|
||||
+
|
||||
+ f2 = tarf.extractfile("control")
|
||||
+ print f2.read()
|
||||
Index: ipkg-utils/setup.py
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/setup.py 2007-05-26 23:45:55.000000000 +0100
|
||||
+++ ipkg-utils/setup.py 2007-05-26 23:46:59.000000000 +0100
|
||||
@@ -16,6 +16,6 @@ distutils.core.setup( name = 'ipkg-utils
|
||||
platforms = 'POSIX',
|
||||
keywords = 'ipkg familiar',
|
||||
url = 'http://www.handhelds.org/sources.html/',
|
||||
- py_modules = [ 'ipkg' ],
|
||||
+ py_modules = [ 'ipkg', 'arfile' ],
|
||||
scripts = ['ipkg-compare-indexes', 'ipkg-make-index', 'ipkg-update-index', 'ipkg-build', 'ipkg-unbuild', 'ipkg-upload']
|
||||
)
|
||||
Index: ipkg-utils/ipkg.py
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/ipkg.py 2007-05-26 23:46:55.000000000 +0100
|
||||
+++ ipkg-utils/ipkg.py 2007-05-26 23:45:20.000000000 +0100
|
||||
@@ -41,6 +41,8 @@ import re
|
||||
import string
|
||||
import commands
|
||||
from stat import ST_SIZE
|
||||
+import arfile
|
||||
+import tarfile
|
||||
|
||||
class Version:
|
||||
"""A class for holding parsed package version information."""
|
||||
@@ -131,78 +133,61 @@ class Package:
|
||||
self.section = None
|
||||
self.filename_header = None
|
||||
self.file_list = []
|
||||
- self.md5 = None
|
||||
+ # md5 is lazy attribute, computed on demand
|
||||
+ #self.md5 = None
|
||||
self.size = None
|
||||
self.installed_size = None
|
||||
self.filename = None
|
||||
self.isdeb = 0
|
||||
+ self.fn = fn
|
||||
|
||||
if fn:
|
||||
# see if it is deb format
|
||||
- f = open(fn, "r")
|
||||
+ f = open(fn, "rb")
|
||||
magic = f.read(4)
|
||||
- f.close()
|
||||
+ f.seek(0, 0)
|
||||
if (magic == "!<ar"):
|
||||
self.isdeb = 1
|
||||
|
||||
- # compute the MD5.
|
||||
- f = open(fn, "r")
|
||||
- sum = md5.new()
|
||||
- while 1:
|
||||
- data = f.read(1024)
|
||||
- if not data: break
|
||||
- sum.update(data)
|
||||
- f.close()
|
||||
- if sys.version[:1] > '2':
|
||||
- # when using Python 2.0 or newer
|
||||
- self.md5 = sum.hexdigest()
|
||||
- else:
|
||||
- self.md5 = string.join(map((lambda x:"%02x" % ord(x)),sum.digest()),'')
|
||||
- stat = os.stat(fn)
|
||||
- self.size = stat[ST_SIZE]
|
||||
+
|
||||
self.filename = os.path.basename(fn)
|
||||
+ assert self.isdeb == 1, "Old ipk format (non-deb) is unsupported"
|
||||
+
|
||||
## 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")
|
||||
- else:
|
||||
- control = os.popen("tar xfzO "+fn+" 'control.tar.gz' | tar xfzO - './control'","r")
|
||||
- line = control.readline()
|
||||
- while 1:
|
||||
- if not line: break
|
||||
- line = string.rstrip(line)
|
||||
- lineparts = re.match(r'([\w-]*?):\s*(.*)', line)
|
||||
- if lineparts:
|
||||
- name = string.lower(lineparts.group(1))
|
||||
- value = lineparts.group(2)
|
||||
- while 1:
|
||||
- line = control.readline()
|
||||
- if not line: break
|
||||
- if line[0] != ' ': break
|
||||
- line = string.rstrip(line)
|
||||
- value = value + '\n' + line
|
||||
- # don't allow package to override its own filename
|
||||
- if name == "filename":
|
||||
- self.filename_header = value
|
||||
- else:
|
||||
- if self.__dict__.has_key(name):
|
||||
- self.__dict__[name] = value
|
||||
- else:
|
||||
- line = control.readline()
|
||||
+
|
||||
+ ar = arfile.ArFile(f)
|
||||
+ tarStream = ar.open("control.tar.gz")
|
||||
+ tarf = tarfile.open("control.tar.gz", "r", tarStream)
|
||||
+
|
||||
+ try:
|
||||
+ control = tarf.extractfile("control")
|
||||
+ except KeyError:
|
||||
+ control = tarf.extractfile("./control")
|
||||
+ self.read_control(control)
|
||||
control.close()
|
||||
- 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")
|
||||
- while 1:
|
||||
- line = data.readline()
|
||||
- if not line: break
|
||||
- self.file_list.append(string.rstrip(line))
|
||||
- data.close()
|
||||
|
||||
self.scratch_dir = None
|
||||
self.file_dir = None
|
||||
self.meta_dir = None
|
||||
|
||||
+ def __getattr__(self, name):
|
||||
+ if name == "md5":
|
||||
+ self._computeFileMD5()
|
||||
+ return self.md5
|
||||
+ else:
|
||||
+ raise AttributeError, name
|
||||
+
|
||||
+ def _computeFileMD5(self):
|
||||
+ # compute the MD5.
|
||||
+ f = open(self.fn, "rb")
|
||||
+ sum = md5.new()
|
||||
+ while 1:
|
||||
+ data = f.read(1024)
|
||||
+ if not data: break
|
||||
+ sum.update(data)
|
||||
+ f.close()
|
||||
+ self.md5 = sum.hexdigest()
|
||||
+
|
||||
def read_control(self, control):
|
||||
import os
|
||||
|
||||
@@ -221,9 +203,15 @@ class Package:
|
||||
value = value + '\n' + line
|
||||
if name == 'size':
|
||||
self.size = int(value)
|
||||
+ elif name == 'md5sum':
|
||||
+ self.md5 = value
|
||||
elif self.__dict__.has_key(name):
|
||||
self.__dict__[name] = value
|
||||
- if line[0] == '\n':
|
||||
+ else:
|
||||
+ #print "Lost field %s, %s" % (name,value)
|
||||
+ pass
|
||||
+
|
||||
+ if line and line[0] == '\n':
|
||||
return # consumes one blank line at end of package descriptoin
|
||||
else:
|
||||
line = control.readline()
|
||||
@@ -314,6 +302,16 @@ class Package:
|
||||
return self.section
|
||||
|
||||
def get_file_list(self):
|
||||
+ if not self.fn:
|
||||
+ return []
|
||||
+ f = open(self.fn, "rb")
|
||||
+ ar = arfile.ArFile(f)
|
||||
+ tarStream = ar.open("data.tar.gz")
|
||||
+ tarf = tarfile.open("data.tar.gz", "r", tarStream)
|
||||
+ self.file_list = tarf.getnames()
|
||||
+ self.file_list = map(lambda a: ["./", ""][a.startswith("./")] + a, self.file_list)
|
||||
+
|
||||
+ f.close()
|
||||
return self.file_list
|
||||
|
||||
def write_package(self, dirname):
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
ipkg.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: ipkg-utils/ipkg.py
|
||||
===================================================================
|
||||
--- ipkg-utils.orig/ipkg.py 2007-05-26 23:49:05.000000000 +0100
|
||||
+++ ipkg-utils/ipkg.py 2007-05-26 23:49:23.000000000 +0100
|
||||
@@ -152,9 +152,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 xfzO - './control'","r")
|
||||
else:
|
||||
- control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r")
|
||||
+ control = os.popen("tar xfzO "+fn+" 'control.tar.gz' | tar xfzO - './control'","r")
|
||||
line = control.readline()
|
||||
while 1:
|
||||
if not line: break
|
|
@ -1,32 +0,0 @@
|
|||
DESCRIPTION = "Itsy Package Manager utilities"
|
||||
SECTION = "base"
|
||||
PRIORITY = "optional"
|
||||
LICENSE = "GPL"
|
||||
CONFLICTS = "ipkg-link"
|
||||
RDEPENDS = "python"
|
||||
SRCDATE = "20050404"
|
||||
PR = "r17"
|
||||
|
||||
SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \
|
||||
file://ipkg-utils-fix.patch;patch=1 \
|
||||
file://ipkg-py-sane-vercompare.patch;patch=1 \
|
||||
file://ipkg-py-tarfile.patch;patch=1 \
|
||||
file://ipkg-make-index-track-stamps.patch;patch=1 \
|
||||
file://fields_tweaks.patch;patch=1 "
|
||||
|
||||
S = "${WORKDIR}/ipkg-utils"
|
||||
|
||||
INSTALL = "ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload ipkg-make-index ipkg-link ipkg.py ipkg-list-fields"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake ipkg-compare-versions
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
for i in ${INSTALL}
|
||||
do
|
||||
install -m 0755 $i ${D}${bindir}
|
||||
done
|
||||
}
|
||||
|
Loading…
Reference in New Issue