From: Sven Eckelmann Date: Thu, 6 Dec 2018 10:09:18 +0000 (+0100) Subject: build: Use stable file ordering in sysupgrade.tar X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=894bcf59dc5b11ff38259a43cf4a0a3e9acada96;p=openwrt%2Fstaging%2Fdangole.git build: Use stable file ordering in sysupgrade.tar The file ordering in the current sysupgrade depends on the order of file in a filesystem. This is often already in a sane (alphabetical order) but this is not always the case. For example, the OpenWrt build servers return a different ordering. This breaks the reproducibility of the sysupgrade tarballs significantly and also resulted in images which cannot be used for upgrades on devices like the OpenMesh A42/A62. Signed-off-by: Sven Eckelmann --- diff --git a/scripts/sysupgrade-tar.sh b/scripts/sysupgrade-tar.sh index 45b17daccd..ca5577387d 100755 --- a/scripts/sysupgrade-tar.sh +++ b/scripts/sysupgrade-tar.sh @@ -61,7 +61,7 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then mtime="--mtime=@${SOURCE_DATE_EPOCH}" fi -(cd "$tmpdir"; tar cvf sysupgrade.tar sysupgrade-${board} ${mtime}) +(cd "$tmpdir"; tar --sort=name -cvf sysupgrade.tar sysupgrade-${board} ${mtime}) err="$?" if [ -e "$tmpdir/sysupgrade.tar" ]; then cp "$tmpdir/sysupgrade.tar" "$outfile"