On OS X (and maybe some other systems) the default provided ar is not a
GNU version and does not understand all the required switches.

To circumvent this fact always use the ar from cross tools which is
proven to be a GNU binutils version (at least with OSELAS.Toolchain).

Signed-off-by: Andreas Bießmann <andr...@biessmann.de>
---
Changes since v2
 * don't use ptx/escape

Changes since v1
 * provide proper patch series

 ...tils-use-env-python-instead-of-fixed-path.patch |    3 --
 .../0002-opkg-make-ar-deterministic.patch          |    3 --
 .../0003-opkg-build-don-t-use-bashism.patch        |    3 --
 .../0004-opkg-Added-sha256-support.patch           |    6 +---
 .../0005-opkg-build-use-CROSS_COMPILE-ar.patch     |   28 ++++++++++++++++++++
 patches/opkg-utils-r4747/series                    |    4 ++-
 rules/post/ptxd_make_xpkg_finish.make              |    3 +-
 7 files changed, 34 insertions(+), 16 deletions(-)
 create mode 100644 
patches/opkg-utils-r4747/0005-opkg-build-use-CROSS_COMPILE-ar.patch

diff --git 
a/patches/opkg-utils-r4747/0001-opkg-utils-use-env-python-instead-of-fixed-path.patch
 
b/patches/opkg-utils-r4747/0001-opkg-utils-use-env-python-instead-of-fixed-path.patch
index 4e64f97..7f2fe24 100644
--- 
a/patches/opkg-utils-r4747/0001-opkg-utils-use-env-python-instead-of-fixed-path.patch
+++ 
b/patches/opkg-utils-r4747/0001-opkg-utils-use-env-python-instead-of-fixed-path.patch
@@ -65,6 +65,3 @@ index 807f8f4..3864fa5 100755
  
  import sys, os
  from glob import glob
--- 
-1.7.5.1
-
diff --git a/patches/opkg-utils-r4747/0002-opkg-make-ar-deterministic.patch 
b/patches/opkg-utils-r4747/0002-opkg-make-ar-deterministic.patch
index 8bca65f..a0d219f 100644
--- a/patches/opkg-utils-r4747/0002-opkg-make-ar-deterministic.patch
+++ b/patches/opkg-utils-r4747/0002-opkg-make-ar-deterministic.patch
@@ -48,6 +48,3 @@ index 012afd3..1c323c3 100755
  else
    ( cd $tmp_dir && tar -zcf $pkg_file ./debian-binary ./data.tar.gz 
./control.tar.gz )
  fi
--- 
-1.7.5.1
-
diff --git a/patches/opkg-utils-r4747/0003-opkg-build-don-t-use-bashism.patch 
b/patches/opkg-utils-r4747/0003-opkg-build-don-t-use-bashism.patch
index 159ad3c..582fe1e 100644
--- a/patches/opkg-utils-r4747/0003-opkg-build-don-t-use-bashism.patch
+++ b/patches/opkg-utils-r4747/0003-opkg-build-don-t-use-bashism.patch
@@ -20,6 +20,3 @@ index 1c323c3..f9251ea 100755
        pkg_file=$dest_dir/${pkg}_${version}_${arch}.opk
  else
        pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk
--- 
-1.7.5.1
-
diff --git a/patches/opkg-utils-r4747/0004-opkg-Added-sha256-support.patch 
b/patches/opkg-utils-r4747/0004-opkg-Added-sha256-support.patch
index 16e35c5..1e94faa 100644
--- a/patches/opkg-utils-r4747/0004-opkg-Added-sha256-support.patch
+++ b/patches/opkg-utils-r4747/0004-opkg-Added-sha256-support.patch
@@ -1,7 +1,6 @@
-From a3c1fe9c1ec7e5257fd186a7720f412fe44440cc Mon Sep 17 00:00:00 2001
 From: George McCollister <george.mccollis...@gmail.com>
 Date: Mon, 11 Jul 2011 12:32:37 -0500
-Subject: [PATCH 4/4] opkg: Added sha256 support.
+Subject: [PATCH] opkg: Added sha256 support.
 
 MD5 and SHA256 hashes are generated for each package now.
 
@@ -88,6 +87,3 @@ index 3fda9b5..b000082 100644
          if self.size: out = out + "Size: %d\n" % int(self.size)
          if self.installed_size: out = out + "InstalledSize: %d\n" % 
int(self.installed_size)
          if self.filename: out = out + "Filename: %s\n" % (self.filename)
--- 
-1.7.1
-
diff --git 
a/patches/opkg-utils-r4747/0005-opkg-build-use-CROSS_COMPILE-ar.patch 
b/patches/opkg-utils-r4747/0005-opkg-build-use-CROSS_COMPILE-ar.patch
new file mode 100644
index 0000000..486eae5
--- /dev/null
+++ b/patches/opkg-utils-r4747/0005-opkg-build-use-CROSS_COMPILE-ar.patch
@@ -0,0 +1,28 @@
+From: =?UTF-8?q?Andreas=20Bie=C3=9Fmann?= <andr...@biessmann.de>
+Date: Fri, 20 Jan 2012 09:03:55 +0100
+Subject: [PATCH] opkg-build: use ${CROSS_COMPILE}ar
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some host systems do not provide proper ar, make it possible to switch
+to cross-ar here.
+
+Signed-off-by: Andreas Bießmann <andr...@biessmann.de>
+---
+ opkg-build |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/opkg-build b/opkg-build
+index f9251ea..425faea 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -250,7 +250,7 @@ if [ "$outer" = "ar" ] ; then
+   # chown the content to "0:0".  files. This is needed as high UID values (>
+   # 99999) cause problems when parsing ar file headers
+   ( cd $tmp_dir && chown 0:0 ./debian-binary ./data.tar.gz ./control.tar.gz &&
+-      ar -crf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz )
++      ${CROSS_COMPILE}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
diff --git a/patches/opkg-utils-r4747/series b/patches/opkg-utils-r4747/series
index d6f32a6..af02bbc 100644
--- a/patches/opkg-utils-r4747/series
+++ b/patches/opkg-utils-r4747/series
@@ -1,6 +1,8 @@
 # generated by git-ptx-patches
+#tag:base --start-number 1
 0001-opkg-utils-use-env-python-instead-of-fixed-path.patch
 0002-opkg-make-ar-deterministic.patch
 0003-opkg-build-don-t-use-bashism.patch
 0004-opkg-Added-sha256-support.patch
-# 84a0f076891d7ac6d8273feb988f63df  - git-ptx-patches magic
+0005-opkg-build-use-CROSS_COMPILE-ar.patch
+# 3a9d9f3edf82a47598bc29fe4458b0fd  - git-ptx-patches magic
diff --git a/rules/post/ptxd_make_xpkg_finish.make 
b/rules/post/ptxd_make_xpkg_finish.make
index 27a74a7..4b50fcb 100644
--- a/rules/post/ptxd_make_xpkg_finish.make
+++ b/rules/post/ptxd_make_xpkg_finish.make
@@ -27,7 +27,8 @@ install_finish = \
 # $1: xpkg label
 #
 xpkg/finish = \
-       $(call xpkg/env, $(1)) \
+       CROSS_COMPILE="$(COMPILER_PREFIX)"      \
+       $(call xpkg/env, $(1))                  \
        ptxd_make_xpkg_finish
 
 # vim: syntax=make
-- 
1.7.8.3


-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to