diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-02 23:45:18 +0000 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2021-02-11 04:20:06 -1000 |
commit | 61c639fcfdaa0a14e2a6a2bcca3215f99af94634 (patch) | |
tree | cc8bb6c316b081d3ba240fa78108c46d90bdc74a /meta/recipes-devtools/opkg | |
parent | 07a1771c9b2066c2003f285493d9720008b7412b (diff) | |
download | openembedded-core-contrib-61c639fcfdaa0a14e2a6a2bcca3215f99af94634.tar.gz |
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.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 6a9ca7aec4991eabd425e32fdf85f51bb1686b8b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/recipes-devtools/opkg')
-rw-r--r-- | meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch | 25 | ||||
-rw-r--r-- | meta/recipes-devtools/opkg/opkg_0.4.2.bb | 1 |
2 files changed, 26 insertions, 0 deletions
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.2.bb b/meta/recipes-devtools/opkg/opkg_0.4.2.bb index 66a74dc5ed..516982c6f5 100644 --- a/meta/recipes-devtools/opkg/opkg_0.4.2.bb +++ b/meta/recipes-devtools/opkg/opkg_0.4.2.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 \ " |