From 657fe121c3cb26ff5bc714c2679659017caaf15c Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Sun, 3 Oct 2010 21:57:04 -0700 Subject: [PATCH] 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. Signed-off-by: Scott Anderson Acked-by: Tom Rini Conflicts: recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb --- .../ipkg-utils/arfile_header_split.patch | 16 ++++++++++++++++ recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 recipes/ipkg-utils/ipkg-utils/arfile_header_split.patch diff --git a/recipes/ipkg-utils/ipkg-utils/arfile_header_split.patch b/recipes/ipkg-utils/ipkg-utils/arfile_header_split.patch new file mode 100644 index 0000000000..ce1993be0d --- /dev/null +++ b/recipes/ipkg-utils/ipkg-utils/arfile_header_split.patch @@ -0,0 +1,16 @@ +--- 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 +- 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/recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb index cdb8355833..54ed52fd65 100644 --- a/recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb +++ b/recipes/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb @@ -5,7 +5,7 @@ LICENSE = "GPL" CONFLICTS = "ipkg-link" RDEPENDS_${PN} = "python" SRCDATE = "20050930" -PR = "r27" +PR = "r28" TARGET_CC_ARCH += "${LDFLAGS}" @@ -17,6 +17,7 @@ SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \ file://ipkg-make-index-track-stamps.patch;patch=1 \ file://fields_tweaks.patch;patch=1 \ file://ipkg-env.patch;patch=1 \ + file://arfile_header_split.patch;patch=1 \ " S = "${WORKDIR}/ipkg-utils" -- 2.39.5