From: William A. Kennington III Date: Mon, 29 Aug 2022 23:10:22 +0000 (-0700) Subject: image_types: Set SOURCE_DATE_EPOCH for squashfs X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~3076 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c991f9d603127d2b72a464974f0c5dfcc25727bf;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- 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}"