From 316333ec91a3f5b8db2b198bd45807f93ac95246 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 2 Feb 2021 23:45:18 +0000 Subject: opkg: Fix build reproducibility issue A build date was leaking into the generated docs and makefile used for ptests leading to reproducibility issues each time the month changed. Add a patch to use SOURCE_DATE_EPOCH to derive it if available. (From OE-Core rev: 8ca725351bbb9a8909bb2345118c6f261d1e152e) Signed-off-by: Richard Purdie (cherry picked from commit 6a9ca7aec4991eabd425e32fdf85f51bb1686b8b) Signed-off-by: Anuj Mittal Signed-off-by: Richard Purdie --- .../opkg/opkg/sourcedateepoch.patch | 25 ++++++++++++++++++++++ meta/recipes-devtools/opkg/opkg_0.4.3.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch diff --git a/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch b/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch new file mode 100644 index 0000000000..285d258c63 --- /dev/null +++ b/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch @@ -0,0 +1,25 @@ +Having CLEAN_DATE come from the current date doesn't allow for build +reproducibility. Add the option of using SOURCE_DATE_EPOCH if set +which for OE, it will be. + +Upstream-Status: Pending +RP 2021/2/2 + +Index: opkg-0.4.4/configure.ac +=================================================================== +--- opkg-0.4.4.orig/configure.ac ++++ opkg-0.4.4/configure.ac +@@ -281,7 +281,12 @@ AC_FUNC_UTIME_NULL + AC_FUNC_VPRINTF + AC_CHECK_FUNCS([memmove memset mkdir regcomp strchr strcspn strdup strerror strndup strrchr strstr strtol strtoul sysinfo utime]) + +-CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` ++1607446883 ++if [ ! -z "$SOURCE_DATE_EPOCH" ]; then ++ CLEAN_DATE=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH +"%B %Y" | tr -d '\n'` ++else ++ CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` ++fi + + AC_SUBST([CLEAN_DATE]) + diff --git a/meta/recipes-devtools/opkg/opkg_0.4.3.bb b/meta/recipes-devtools/opkg/opkg_0.4.3.bb index 46b7aa2523..ea01d473fc 100644 --- a/meta/recipes-devtools/opkg/opkg_0.4.3.bb +++ b/meta/recipes-devtools/opkg/opkg_0.4.3.bb @@ -14,6 +14,7 @@ PE = "1" SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ file://opkg.conf \ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ + file://sourcedateepoch.patch \ file://run-ptest \ " -- cgit v1.2.3-54-g00ecf