diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/ipkg-utils | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/ipkg-utils')
11 files changed, 0 insertions, 716 deletions
diff --git a/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch b/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch deleted file mode 100644 index 7f495f9f4c..0000000000 --- a/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- ipkg-utils/ipkg-link.orig 2006-04-05 00:08:28.518992136 +0200 -+++ ipkg-utils/ipkg-link 2006-04-05 00:08:40.399186072 +0200 -@@ -58,6 +58,31 @@ - `ln -s "$PREFIX$line" "$line"` - fi - fi -+ -+ # The next function checks whether the _source_ file (ie: /media/card/something) -+ # does actually exist. If it doesn't, it could by a library symlink (ie: libsomething.0.1 -> libsomething.0) -+ # Since VFAT & friends do not support symlinks, these library links would not exist after installation -+ # and trying to symlink them into the rootfs with ipkg-link results in unconnected symlinks in the rootfs. -+ # So we use the real lib file in /media/card/whatever and create all needed symlinks in the rootfs -+ # using the real file as source. -+ -+ if [ ! -e "$PREFIX$line" ]; then -+ if ( echo "$line" | grep -q "lib" ) ; then -+ libsearchfile=$(echo $line | sed -e "s#[a-z0-9/.]*/##g") -+ libfoundfiles=$(find $PREFIX -name "$libsearchfile*") -+ -+ for liblinkfile in $libfoundfiles; do -+ echo "Linking $line to $liblinkfile" -+ # link will be pointing to nowhere -+ if test -L $line; then -+ rm -f $line -+ fi -+ ln -s $liblinkfile $line -+ done -+ else -+ echo "WARNING: Source file [$PREFIX$line] is missing!" -+ fi -+ fi - done - } - diff --git a/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb b/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb deleted file mode 100644 index 35e5ba1086..0000000000 --- a/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb +++ /dev/null @@ -1,20 +0,0 @@ -SECTION = "base" -DESCRIPTION = "Itsy Package Manager utilities link script" -LICENSE = "GPL" -CONFLICTS = "ipkg-utils" -SRCDATE = "20050404" -PR = "r4" - -SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \ - file://link-vfat-libs.patch;patch=1" - -S = "${WORKDIR}/ipkg-utils" - -do_compile() { - : -} - -do_install() { - install -d ${D}${bindir} - install -m 0755 ipkg-link ${D}${bindir} -} diff --git a/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb b/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb deleted file mode 100644 index 758814fa04..0000000000 --- a/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb +++ /dev/null @@ -1,17 +0,0 @@ -require ipkg-utils_${PV}.bb - -RDEPENDS = "" -PR = "r21" - -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 -} diff --git a/packages/ipkg-utils/ipkg-utils/arfile_even_alignment.patch b/packages/ipkg-utils/ipkg-utils/arfile_even_alignment.patch deleted file mode 100644 index 3ab133fb15..0000000000 --- a/packages/ipkg-utils/ipkg-utils/arfile_even_alignment.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ipkg-utils/arfile.py.orig 2008-06-11 21:07:01.000000000 -0500 -+++ ipkg-utils/arfile.py 2008-06-14 19:56:04.000000000 -0500 -@@ -86,6 +86,8 @@ - return FileSection(self.f, self.f.tell(), size) - - # Skip data and loop -+ if size % 2: -+ size = size + 1 - data = self.f.seek(size, 1) - # print hex(f.tell()) - diff --git a/packages/ipkg-utils/ipkg-utils/fields_tweaks.patch b/packages/ipkg-utils/ipkg-utils/fields_tweaks.patch deleted file mode 100644 index 2b08e47ad0..0000000000 --- a/packages/ipkg-utils/ipkg-utils/fields_tweaks.patch +++ /dev/null @@ -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 diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-env.patch b/packages/ipkg-utils/ipkg-utils/ipkg-env.patch deleted file mode 100644 index 7d3025dc6f..0000000000 --- a/packages/ipkg-utils/ipkg-utils/ipkg-env.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -Nur ipkg-utils.orig/ipkg-list-fields ipkg-utils/ipkg-list-fields ---- ipkg-utils.orig/ipkg-list-fields 2009-01-17 21:52:36.000000000 +0100 -+++ ipkg-utils/ipkg-list-fields 2009-01-17 21:55:08.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - - import sys, ipkg - -diff -Nur ipkg-utils.orig/ipkg-make-index ipkg-utils/ipkg-make-index ---- ipkg-utils.orig/ipkg-make-index 2009-01-17 21:52:36.000000000 +0100 -+++ ipkg-utils/ipkg-make-index 2009-01-17 21:55:13.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - # $Id: ipkg-make-index,v 1.22 2005/03/03 16:39:04 jamey Exp $ - - import sys, os, posixpath -diff -Nur ipkg-utils.orig/ipkg-show-deps ipkg-utils/ipkg-show-deps ---- ipkg-utils.orig/ipkg-show-deps 2009-01-17 21:52:36.000000000 +0100 -+++ ipkg-utils/ipkg-show-deps 2009-01-17 21:55:21.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - # $Id: ipkg-show-deps,v 1.2 2004/03/06 13:08:33 pb Exp $ - - import sys, os, posixpath -diff -Nur ipkg-utils.orig/ipkg-unbuild ipkg-utils/ipkg-unbuild ---- ipkg-utils.orig/ipkg-unbuild 2009-01-17 21:52:35.000000000 +0100 -+++ ipkg-utils/ipkg-unbuild 2009-01-17 21:55:24.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - - import sys, os, re - -diff -Nur ipkg-utils.orig/ipkg-update-index ipkg-utils/ipkg-update-index ---- ipkg-utils.orig/ipkg-update-index 2009-01-17 21:52:36.000000000 +0100 -+++ ipkg-utils/ipkg-update-index 2009-01-17 21:55:29.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python2.1 -+#!/usr/bin/env python - - import sys, os - from glob import glob -diff -Nur ipkg-utils.orig/ipkg-upload ipkg-utils/ipkg-upload ---- ipkg-utils.orig/ipkg-upload 2009-01-17 21:52:36.000000000 +0100 -+++ ipkg-utils/ipkg-upload 2009-01-17 21:55:33.000000000 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - - import sys, os, os.path, re - diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch b/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch deleted file mode 100644 index ad6df4f2e9..0000000000 --- a/packages/ipkg-utils/ipkg-utils/ipkg-make-index-track-stamps.patch +++ /dev/null @@ -1,88 +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) - diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-py-sane-vercompare.patch b/packages/ipkg-utils/ipkg-utils/ipkg-py-sane-vercompare.patch deleted file mode 100644 index 00ee391405..0000000000 --- a/packages/ipkg-utils/ipkg-utils/ipkg-py-sane-vercompare.patch +++ /dev/null @@ -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") diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch b/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch deleted file mode 100644 index 10fdbe3901..0000000000 --- a/packages/ipkg-utils/ipkg-utils/ipkg-py-tarfile.patch +++ /dev/null @@ -1,316 +0,0 @@ -Index: ipkg-utils/arfile.py -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ipkg-utils/arfile.py 2008-05-30 15:33:49.000000000 +0100 -@@ -0,0 +1,124 @@ -+""" -+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 -+ 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 or (memberName.startswith("`") and memberName[1:] == 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/ipkg.py -=================================================================== ---- ipkg-utils.orig/ipkg.py 2008-05-30 15:33:49.000000000 +0100 -+++ ipkg-utils/ipkg.py 2008-05-30 15:35:58.000000000 +0100 -@@ -41,6 +41,8 @@ - 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,63 @@ - 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.size = stat[ST_SIZE] - 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") -- 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() -+ if self.isdeb: -+ 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") -+ else: -+ control = os.popen("tar --wildcards -xzO -f " + fn + " '*control.tar.gz' | tar xfzO - './control'", "r") -+ -+ 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 +208,15 @@ - 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,7 +307,27 @@ - return self.section - - def get_file_list(self): -- return self.file_list -+ if not self.fn: -+ return [] -+ -+ if self.isdeb: -+ 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() -+ f.close() -+ else: -+ f = os.popen("tar xfzO " + self.fn + " '*data.tar.gz' | tar tfz -","r") -+ while 1: -+ line = f.readline() -+ if not line: break -+ self.file_list.append(string.rstrip(line)) -+ f.close() -+ -+ # Make sure that filelist has consistent format regardless of tar version -+ self.file_list = map(lambda a: ["./", ""][a.startswith("./")] + a, self.file_list) -+ return self.file_list - - def write_package(self, dirname): - buf = self.render_control() -Index: ipkg-utils/setup.py -=================================================================== ---- ipkg-utils.orig/setup.py 2005-03-03 16:40:17.000000000 +0000 -+++ ipkg-utils/setup.py 2008-05-30 15:33:49.000000000 +0100 -@@ -16,6 +16,6 @@ - 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'] - ) diff --git a/packages/ipkg-utils/ipkg-utils/ipkg-utils-fix.patch b/packages/ipkg-utils/ipkg-utils/ipkg-utils-fix.patch deleted file mode 100644 index b3e0d62cd9..0000000000 --- a/packages/ipkg-utils/ipkg-utils/ipkg-utils-fix.patch +++ /dev/null @@ -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 diff --git a/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb deleted file mode 100644 index 8baffd24c7..0000000000 --- a/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "Itsy Package Manager utilities" -SECTION = "base" -PRIORITY = "optional" -LICENSE = "GPL" -CONFLICTS = "ipkg-link" -RDEPENDS = "python" -SRCDATE = "20050404" -PR = "r23" - -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://arfile_even_alignment.patch;patch=1 \ - file://ipkg-make-index-track-stamps.patch;patch=1 \ - file://fields_tweaks.patch;patch=1 \ - file://ipkg-env.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 -} - |