From 212f9ecc18aed653c852d21989093841d063fa44 Mon Sep 17 00:00:00 2001 From: Alejandro del Castillo Date: Tue, 19 Feb 2019 13:44:09 -0600 Subject: opkg-utils: do not set mtime on data.tar.X Suggested-by: Tristan Ramseyer Signed-off-by: Alejandro del Castillo Signed-off-by: Richard Purdie --- ...opkg-build-do-not-set-mtime-on-data.tar.X.patch | 33 ++++++++++++++++++++++ .../opkg-utils/opkg-utils_0.4.0.bb | 1 + 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch new file mode 100644 index 0000000000..6c058c71d7 --- /dev/null +++ b/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch @@ -0,0 +1,33 @@ +From 42afc1f652d28dce3c5b9915d0cd3087a144e445 Mon Sep 17 00:00:00 2001 +From: Alejandro del Castillo +Date: Mon, 18 Feb 2019 11:25:43 -0600 +Subject: [PATCH] opkg-build: do not set mtime on data.tar.X + +Opkg should make sure the binaries it creates are created in a +repoducibe way, but it shouldn't modify the mtime of the binaries it +consumes. Doing so has side effects, for exmaple, Python pyc files are +invalidated. + +Signed-off-by: Alejandro del Castillo + +Upstream-Status: Submitted +--- + opkg-build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/opkg-build b/opkg-build +index 13782ee..363cd01 100755 +--- a/opkg-build ++++ b/opkg-build +@@ -301,7 +301,7 @@ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}" + + ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list ) + ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list ) +-( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) ++( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) + ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz ) + rm $tmp_dir/file_list + rm $tmp_dir/control_list +-- +2.20.1 + diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb index eab74eabd6..9a3e06b92e 100644 --- a/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb +++ b/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb @@ -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://0001-Switch-all-scripts-to-use-Python-3.x.patch \ + file://0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch \ " UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/" -- cgit 1.2.3-korg