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 | ||
