]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
opkg-utils: Do not use -D option to binutils archiver kraj/busybox-ar
authorKhem Raj <raj.khem@gmail.com>
Wed, 24 Jun 2020 22:29:52 +0000 (15:29 -0700)
committerKhem Raj <raj.khem@gmail.com>
Wed, 24 Jun 2020 22:29:52 +0000 (15:29 -0700)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
meta/recipes-devtools/opkg-utils/opkg-utils/no_deterministic_archives.patch [new file with mode: 0644]
meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb

diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/no_deterministic_archives.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/no_deterministic_archives.patch
new file mode 100644 (file)
index 0000000..3048315
--- /dev/null
@@ -0,0 +1,23 @@
+busybox ar is not able to handle deterministic archives produced with  binutils archiver
+since it alters the archive headers by shunting certain fields, busybox ar operates on fixed
+bytes which gets then confused in parsing the file header.
+
+This is a workaround until busybox is fixed for
+
+https://bugs.busybox.net/show_bug.cgi?id=13036
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/opkg-build
++++ b/opkg-build
+@@ -324,7 +324,7 @@ fi
+ rm -f $pkg_file
+ if [ "$outer" = "ar" ] ; then
+-  ( cd $tmp_dir && ar -crfD $pkg_file ./debian-binary ./control.tar.gz ./data.tar.$cext )
++  ( cd $tmp_dir && ar -crfU $pkg_file ./debian-binary ./control.tar.gz ./data.tar.$cext )
+ else
+   ( cd $tmp_dir && tar -c $tsortargs --mtime=@$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
+ fi
index 9315240190f20d6ca643dcb519278d34162aae6e..201206664ac85e2d22bcd0077ba9004e8525280a 100644 (file)
@@ -9,6 +9,7 @@ PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtu
 
 SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ 
            file://fix-reproducibility.patch \
+           file://no_deterministic_archives.patch \
 "
 UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"