Older ar versions do not support 'D' flag, so fall back to not using 'D' flag
if ar fails.

Signed-off-by: Jon Ringle <[email protected]>
---
 .../0010-ipkg-make-ar-deterministic.patch          |   27 +++++++++++++------
 patches/ipkg-utils-050831/series                   |    2 +-
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/patches/ipkg-utils-050831/0010-ipkg-make-ar-deterministic.patch 
b/patches/ipkg-utils-050831/0010-ipkg-make-ar-deterministic.patch
index 58990a9..b18c870 100644
--- a/patches/ipkg-utils-050831/0010-ipkg-make-ar-deterministic.patch
+++ b/patches/ipkg-utils-050831/0010-ipkg-make-ar-deterministic.patch
@@ -1,5 +1,6 @@
-From: Darren Hutchinson <[email protected]>
-Date: Mon, 8 Nov 2010 13:21:56 +0100
+From a319fdbca37a6d584192746adda73b784eff428d Mon Sep 17 00:00:00 2001
+From: Jon Ringle <[email protected]>
+Date: Sun, 22 May 2011 13:54:50 -0400
 Subject: [PATCH] ipkg: make ar deterministic
 
 I had a strange problem when I tried to create an image.
@@ -22,28 +23,36 @@ There is no real need to use the actual UID in the ar 
header, and GNU AR has a
 I have put together a quick patch that tells ptxdist to patch ipkg-build to use
 the 'D' option when invoking AR.
 
+Older ar versions do not support 'D' flag, so fall back to not using 'D' flag
+if ar fails.
+
 Signed-off-by: Darren Hutchinson <[email protected]>
 Signed-off-by: Marc Kleine-Budde <[email protected]>
+Signed-off-by: Jon Ringle <[email protected]>
 ---
- ipkg-build |    5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
+ ipkg-build |    9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
 
 diff --git a/ipkg-build b/ipkg-build
-index 77367ac..27e4868 100755
+index 77367ac..1d46a48 100755
 --- a/ipkg-build
 +++ b/ipkg-build
-@@ -235,7 +235,10 @@ echo "2.0" > $tmp_dir/debian-binary
+@@ -235,7 +235,14 @@ echo "2.0" > $tmp_dir/debian-binary
  pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk
  rm -f $pkg_file
  if [ "$outer" = "ar" ] ; then
 -  ( cd $tmp_dir && ar -crf $pkg_file ./debian-binary ./data.tar.gz 
./control.tar.gz )
 +  # Add 'D' flag to ar. This forces UID 0 to be used when creating ipkg
 +  # files. This is needed as high UID values (> 99999) cause problems when
-+  # parsing ar file headers
-+  ( cd $tmp_dir && ar -crDf $pkg_file ./debian-binary ./data.tar.gz 
./control.tar.gz )
++  # parsing ar file headers.
++  # Older ar versions do not support 'D' flag, so fall back to not using 'D'
++  # flag if ar fails.
++  ( cd $tmp_dir &&
++      ( ar -crDf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ||
++        ar -crf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) )
  else
    ( cd $tmp_dir && tar -zcf $pkg_file ./debian-binary ./data.tar.gz 
./control.tar.gz )
  fi
 -- 
-1.7.2.3
+1.7.0.4
 
diff --git a/patches/ipkg-utils-050831/series b/patches/ipkg-utils-050831/series
index 687aa30..96fc5fe 100644
--- a/patches/ipkg-utils-050831/series
+++ b/patches/ipkg-utils-050831/series
@@ -8,5 +8,5 @@
 0007-ipkg-env.patch
 0008-ipkg.py-don-t-use-wildcards.patch
 0009-Makefile-add-prefix-to-python-install.patch
-#0010-ipkg-make-ar-deterministic.patch
+0010-ipkg-make-ar-deterministic.patch
 # 15e754b052c20bbbef97578c9ec3e691  - git-ptx-patches magic
-- 
1.7.0.4


-- 
ptxdist mailing list
[email protected]

Reply via email to