Not every image necessarily wants a timestamp file, and even if it does, it's possible to create filesystem images that do not have a /etc directory or where some other location for the file is more appropriate. So add a ROOTFS_TIMESTAMP_FILE variable weakly defaulting to /etc/timestamp - setting that to the empty string opts out of creating the timestamp file.
I wasn't sure whether to spell /etc as ${sysconfdir}, but chose /etc to stay completely backwards compatible. Signed-off-by: Rasmus Villemoes <rasmus.villem...@prevas.dk> --- meta/classes/rootfs-postcommands.bbclass | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index 984730ebe8..cf54f22566 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass @@ -12,6 +12,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}' # Create /etc/timestamp during image construction to give a reasonably sane default time setting +ROOTFS_TIMESTAMP_FILE ??= "/etc/timestamp" ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; " # Tweak the mount options for rootfs in /etc/fstab if read-only-rootfs is enabled @@ -275,14 +276,18 @@ python write_image_manifest () { # Can be used to create /etc/timestamp during image construction to give a reasonably # sane default time setting rootfs_update_timestamp () { + if [ -z "${ROOTFS_TIMESTAMP_FILE}" ]; then + return + fi if [ "${REPRODUCIBLE_TIMESTAMP_ROOTFS}" != "" ]; then # Convert UTC into %4Y%2m%2d%2H%2M%2S sformatted=`date -u -d @${REPRODUCIBLE_TIMESTAMP_ROOTFS} +%4Y%2m%2d%2H%2M%2S` else sformatted=`date -u +%4Y%2m%2d%2H%2M%2S` fi - echo $sformatted > ${IMAGE_ROOTFS}/etc/timestamp - bbnote "rootfs_update_timestamp: set /etc/timestamp to $sformatted" + mkdir -p $(dirname ${IMAGE_ROOTFS}${ROOTFS_TIMESTAMP_FILE}) + echo $sformatted > ${IMAGE_ROOTFS}${ROOTFS_TIMESTAMP_FILE} + bbnote "rootfs_update_timestamp: set ${ROOTFS_TIMESTAMP_FILE} to $sformatted" } # Prevent X from being started -- 2.23.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#142182): https://lists.openembedded.org/g/openembedded-core/message/142182 Mute This Topic: https://lists.openembedded.org/mt/76624850/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-