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 <sven@narfation.org>
master
Sven Eckelmann 6 years ago committed by Mathias Kresin
parent 15f6351ea3
commit 894bcf59dc
  1. 2
      scripts/sysupgrade-tar.sh

@ -61,7 +61,7 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then
mtime="--mtime=@${SOURCE_DATE_EPOCH}" mtime="--mtime=@${SOURCE_DATE_EPOCH}"
fi fi
(cd "$tmpdir"; tar cvf sysupgrade.tar sysupgrade-${board} ${mtime}) (cd "$tmpdir"; tar --sort=name -cvf sysupgrade.tar sysupgrade-${board} ${mtime})
err="$?" err="$?"
if [ -e "$tmpdir/sysupgrade.tar" ]; then if [ -e "$tmpdir/sysupgrade.tar" ]; then
cp "$tmpdir/sysupgrade.tar" "$outfile" cp "$tmpdir/sysupgrade.tar" "$outfile"

Loading…
Cancel
Save