]> code.ossystems Code Review - openembedded-core.git/commitdiff
do_image_cpio: Improve reproducibility
authorErnst Sjöstrand <ernst.sjostrand@verisure.com>
Mon, 25 Nov 2019 05:41:41 +0000 (05:41 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 27 Nov 2019 13:23:27 +0000 (13:23 +0000)
Find lists files in the order that the filesystem has registered them,
which can vary. Adding a sort should have minimal performance impact.
Also use the --reproducible option to cpio.

Signed-off-by: Ernst Sjöstrand <ernst.sjostrand@verisure.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image_types.bbclass

index 2eeffbb366ade8df665bd140c7c59730404629bc..c7af8890752939eedd2366c8b442f363e4e8c937 100644 (file)
@@ -128,7 +128,7 @@ IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NA
 
 do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
 IMAGE_CMD_cpio () {
-       (cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc >${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
+       (cd ${IMAGE_ROOTFS} && find . | sort | cpio --reproducible -o -H newc >${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
        # We only need the /init symlink if we're building the real
        # image. The -dbg image doesn't need it! By being clever
        # about this we also avoid 'touch' below failing, as it