diff options
| author | Jonas Gorski <jonas.gorski@bisdn.de> | 2024-09-26 17:41:35 +0200 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-10-29 05:51:03 -0700 |
| commit | 5d72a3a770b7c41da831fa09d28ec0cb0facbf19 (patch) | |
| tree | d83cfbd207e11585ce3e0971136bc5b4b9944d8e /meta | |
| parent | c3de683380dbcf49e22ff7e1656164619b312e1b (diff) | |
| download | poky-5d72a3a770b7c41da831fa09d28ec0cb0facbf19.tar.gz | |
rootfs-postcommands.bbclass: make opkg status reproducible
opkg stores the current time as Installed-Time in its status file when
installing packages to the rootfs. Make this reproducible by replacing
Installed-Time with ${REPRODUCIBLE_TIMESTAMP_ROOTFS}, which then also
matches the files' datestamps.
Based on OpenWrt's approach for the issue [1].
[1] https://github.com/openwrt/openwrt/blob/main/include/rootfs.mk#L103
(From OE-Core rev: 80b279f18230208c6cc258ddf6a6e6dd3f8c9d79)
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 61a9b1b1cb618ce90ba7886036f41263075c07df)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/classes-recipe/rootfs-postcommands.bbclass | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass index 920da94ba2..5f4d67f93c 100644 --- a/meta/classes-recipe/rootfs-postcommands.bbclass +++ b/meta/classes-recipe/rootfs-postcommands.bbclass | |||
| @@ -487,6 +487,10 @@ rootfs_reproducible () { | |||
| 487 | find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name '%gconf.xml' -print0 | xargs -0r \ | 487 | find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name '%gconf.xml' -print0 | xargs -0r \ |
| 488 | sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g' | 488 | sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g' |
| 489 | fi | 489 | fi |
| 490 | |||
| 491 | if [ -f ${IMAGE_ROOTFS}${localstatedir}/lib/opkg/status ]; then | ||
| 492 | sed -i 's/^Installed-Time: .*/Installed-Time: ${REPRODUCIBLE_TIMESTAMP_ROOTFS}/' ${IMAGE_ROOTFS}${localstatedir}/lib/opkg/status | ||
| 493 | fi | ||
| 490 | fi | 494 | fi |
| 491 | } | 495 | } |
| 492 | 496 | ||
