diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-02 23:45:18 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-03 21:45:49 +0000 |
commit | 0960f15dd8fc49c35f1abba29ce87373559381e0 (patch) | |
tree | 1a5ab1794a9b2c90c031aa00f072d86d231a491e | |
parent | 77c56e8c78c38ccbb6d15a114fadcf9e834503da (diff) | |
download | poky-0960f15dd8fc49c35f1abba29ce87373559381e0.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.
(From OE-Core rev: 6a9ca7aec4991eabd425e32fdf85f51bb1686b8b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch | 25 | ||||
-rw-r--r-- | meta/recipes-devtools/opkg/opkg_0.4.4.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 @@ | |||
1 | Having CLEAN_DATE come from the current date doesn't allow for build | ||
2 | reproducibility. Add the option of using SOURCE_DATE_EPOCH if set | ||
3 | which for OE, it will be. | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | RP 2021/2/2 | ||
7 | |||
8 | Index: opkg-0.4.4/configure.ac | ||
9 | =================================================================== | ||
10 | --- opkg-0.4.4.orig/configure.ac | ||
11 | +++ opkg-0.4.4/configure.ac | ||
12 | @@ -281,7 +281,12 @@ AC_FUNC_UTIME_NULL | ||
13 | AC_FUNC_VPRINTF | ||
14 | AC_CHECK_FUNCS([memmove memset mkdir regcomp strchr strcspn strdup strerror strndup strrchr strstr strtol strtoul sysinfo utime]) | ||
15 | |||
16 | -CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` | ||
17 | +1607446883 | ||
18 | +if [ ! -z "$SOURCE_DATE_EPOCH" ]; then | ||
19 | + CLEAN_DATE=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH +"%B %Y" | tr -d '\n'` | ||
20 | +else | ||
21 | + CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` | ||
22 | +fi | ||
23 | |||
24 | AC_SUBST([CLEAN_DATE]) | ||
25 | |||
diff --git a/meta/recipes-devtools/opkg/opkg_0.4.4.bb b/meta/recipes-devtools/opkg/opkg_0.4.4.bb index f8034ca5fa..548e81962d 100644 --- a/meta/recipes-devtools/opkg/opkg_0.4.4.bb +++ b/meta/recipes-devtools/opkg/opkg_0.4.4.bb | |||
@@ -15,6 +15,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz | |||
15 | file://opkg.conf \ | 15 | file://opkg.conf \ |
16 | file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ | 16 | file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ |
17 | file://0001-tests-let-the-OS-negotiate-relative-package-dirs.patch \ | 17 | file://0001-tests-let-the-OS-negotiate-relative-package-dirs.patch \ |
18 | file://sourcedateepoch.patch \ | ||
18 | file://run-ptest \ | 19 | file://run-ptest \ |
19 | " | 20 | " |
20 | 21 | ||