Patchwork opkg-utils: handle 6 digit UID fields properly

login
register
mail settings
Submitter Koen Kooi
Date Nov. 26, 2011, 9:47 a.m.
Message ID <1322300849-28059-1-git-send-email-koen@dominion.thruhere.net>
Download mbox | patch
Permalink /patch/15439/
State Accepted
Commit 529d45a3daaeb60ecee8b15778c3b70d7992cd1f
Headers show

Comments

Koen Kooi - Nov. 26, 2011, 9:47 a.m.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 .../opkg-utils/arfile_header_split.patch           |   27 ++++++++++++++++++++
 meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb |    3 +-
 2 files changed, 29 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch
Paul Eggleton - Nov. 26, 2011, 3:57 p.m.
On Saturday 26 November 2011 10:47:29 Koen Kooi wrote:
> +Upsteam-status: Pending (there is no upstream after openmoko imploded)

Not an issue with the patch, but I don't think this is completely true. AFAIK 
Graham Gower is still maintaining opkg.

Cheers,
Paul
Koen Kooi - Nov. 26, 2011, 4:04 p.m.
Op 26 nov. 2011, om 16:57 heeft Paul Eggleton het volgende geschreven:

> On Saturday 26 November 2011 10:47:29 Koen Kooi wrote:
>> +Upsteam-status: Pending (there is no upstream after openmoko imploded)
> 
> Not an issue with the patch, but I don't think this is completely true. AFAIK 
> Graham Gower is still maintaining opkg.

Opkg yes,  opkg-utils no. Speaking of opkg, when are the OE-core patches to opkg getting pushed upstream?

regards,

Koen
Saul Wold - Nov. 29, 2011, 3:50 p.m.
On 11/26/2011 01:47 AM, Koen Kooi wrote:
> Signed-off-by: Koen Kooi<koen@dominion.thruhere.net>
> ---
>   .../opkg-utils/arfile_header_split.patch           |   27 ++++++++++++++++++++
>   meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb |    3 +-
>   2 files changed, 29 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch
>
> 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
> index 0000000..435e74e
> --- /dev/null
> +++ b/meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch
> @@ -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]
> diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
> index e04b74a..9b94aff 100644
> --- a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
> +++ b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
> @@ -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"

Merged into OE-Core

Thanks
	Sau!

Patch

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
index 0000000..435e74e
--- /dev/null
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils/arfile_header_split.patch
@@ -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]
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
index e04b74a..9b94aff 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
@@ -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"