From: Peter Marko <[email protected]>

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: 61a9b1b1cb618ce90ba7886036f41263075c07df)

Signed-off-by: Jonas Gorski <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
Signed-off-by: Peter Marko <[email protected]>
---
 meta/classes/rootfs-postcommands.bbclass | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/classes/rootfs-postcommands.bbclass 
b/meta/classes/rootfs-postcommands.bbclass
index f7517c66dc..83bf265a68 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -377,6 +377,10 @@ rootfs_reproducible () {
                        find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name 
'%gconf.xml' -print0 | xargs -0r \
                        sed -i -e 
's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g'
                fi
+
+               if [ -f ${IMAGE_ROOTFS}${localstatedir}/lib/opkg/status ]; then
+                       sed -i 's/^Installed-Time: .*/Installed-Time: 
${REPRODUCIBLE_TIMESTAMP_ROOTFS}/' 
${IMAGE_ROOTFS}${localstatedir}/lib/opkg/status
+               fi
        fi
 }
 
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#208439): 
https://lists.openembedded.org/g/openembedded-core/message/208439
Mute This Topic: https://lists.openembedded.org/mt/109964257/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to