]> code.ossystems Code Review - openembedded-core.git/commitdiff
opkg-utils: handle 6 digit UID fields properly
authorKoen Kooi <koen@dominion.thruhere.net>
Sat, 26 Nov 2011 09:47:29 +0000 (10:47 +0100)
committerSaul Wold <sgw@linux.intel.com>
Tue, 29 Nov 2011 08:20:06 +0000 (00:20 -0800)
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch [new file with mode: 0644]
meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb

diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch
new file mode 100644 (file)
index 0000000..435e74e
--- /dev/null
@@ -0,0 +1,27 @@
+From: Scott Anderson <o2e@saaworld.com>
+Subject: ipkg-utils: Make arfile.py handle six digit UIDs
+    
+    Essentially, the problem is that arfile.py is splitting the ar header with
+    white-space instead of fixed-width fields, so two fields would get treated
+    as a single field.  This makes things better than before as it now honors
+    the fixed field widths.
+    
+Upsteam-status: Pending (there is no upstream after openmoko imploded)
+
+--- ipkg-utils/arfile.py.orig  2010-09-29 13:38:15.000000000 -0700
++++ ipkg-utils/arfile.py       2010-10-01 16:06:00.000000000 -0700
+@@ -74,7 +74,12 @@
+             if l == "\n":
+                 l = self.f.readline()
+                 if not l: break
+             l = l.replace('`', '')
+-            descriptor = l.split()
++            # Field lengths from /usr/include/ar.h:
++            ar_field_lens = [ 16, 12, 6, 6, 8, 10, 2 ]
++            descriptor = []
++            for field_len in ar_field_lens:
++                descriptor.append(l[:field_len].strip())
++                l = l[field_len:]
+ #            print descriptor
+             size = int(descriptor[5])
+             memberName = descriptor[0][:-1]
index e04b74ace5885879c82ff786a177dd7e6ed1b6da..9b94aff0238bb50be4adfdf6fb256a1add4e2dae 100644 (file)
@@ -8,12 +8,13 @@ RDEPENDS_${PN} = "python"
 RDEPENDS_${PN}_virtclass-native = ""
 SRCREV = "4747"
 PV = "0.1.8+svnr${SRCPV}"
-PR = "r5"
+PR = "r6"
 
 SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=opkg-utils;proto=http \
            file://index-ignore-filenotfound.patch \
            file://mtime-int.patch \
            file://add-license-field.patch \
+           file://arfile_header_split.patch \
            "
 
 S = "${WORKDIR}/opkg-utils"