Message ID | 20170624144810.7363-1-bjorn.forsman@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2017-06-24 23:48 GMT+09:00 Bjørn Forsman <bjorn.forsman@gmail.com>: > kbuild runs "find" on each entry in CONFIG_INITRAMFS_SOURCE that is a > directory. The order of the file listing output by "find" matter for > build reproducability, hence this patch applies "sort" to get > deterministic results. > > Without this patch, two different machines with identical initramfs > directory input may produce differing initramfs cpio archives (different > hash) due to the different order of the files within the archive. > > Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Applied to linux-kbuild/misc. Thanks!
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh index 0055b07b03b6..72f094585cca 100755 --- a/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh @@ -174,7 +174,7 @@ dir_filelist() { ${dep_list}header "$1" srcdir=$(echo "$1" | sed -e 's://*:/:g') - dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n") + dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" | sort) # If $dirlist is only one line, then the directory is empty if [ "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then
kbuild runs "find" on each entry in CONFIG_INITRAMFS_SOURCE that is a directory. The order of the file listing output by "find" matter for build reproducability, hence this patch applies "sort" to get deterministic results. Without this patch, two different machines with identical initramfs directory input may produce differing initramfs cpio archives (different hash) due to the different order of the files within the archive. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> --- scripts/gen_initramfs_list.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)