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