From c991f9d603127d2b72a464974f0c5dfcc25727bf Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 29 Aug 2022 16:10:22 -0700 Subject: [PATCH] image_types: Set SOURCE_DATE_EPOCH for squashfs We want to use the reproducible timestamp for all of the files that is set rootfs-postcommands.bbclass, derived from REPRODUCIBLE_TIMESTAMP_ROOTFS. Without this, we use a hardcoded time that is built into the squashfs sources. Signed-off-by: William A. Kennington III Signed-off-by: Alexandre Belloni --- meta/classes-recipe/image_types.bbclass | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/meta/classes-recipe/image_types.bbclass b/meta/classes-recipe/image_types.bbclass index a731e585b2b..764e6a5574c 100644 --- a/meta/classes-recipe/image_types.bbclass +++ b/meta/classes-recipe/image_types.bbclass @@ -109,11 +109,19 @@ IMAGE_CMD:btrfs () { mkfs.btrfs ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.btrfs } -IMAGE_CMD:squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend" -IMAGE_CMD:squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz" -IMAGE_CMD:squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo" -IMAGE_CMD:squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4" -IMAGE_CMD:squashfs-zst = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-zst ${EXTRA_IMAGECMD} -noappend -comp zstd" +oe_mksquashfs () { + local comp=$1 + local suffix=$2 + + # Use the bitbake reproducible timestamp instead of the hardcoded squashfs one + export SOURCE_DATE_EPOCH=$(stat -c '%Y' ${IMAGE_ROOTFS}) + mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs${comp:+-}${suffix:-$comp} ${EXTRA_IMAGECMD} -noappend ${comp:+-comp }$comp +} +IMAGE_CMD:squashfs = "oe_mksquashfs" +IMAGE_CMD:squashfs-xz = "oe_mksquashfs xz" +IMAGE_CMD:squashfs-lzo = "oe_mksquashfs lzo" +IMAGE_CMD:squashfs-lz4 = "oe_mksquashfs lz4" +IMAGE_CMD:squashfs-zst = "oe_mksquashfs zstd zst" IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}" IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}" -- 2.47.3