From 6fab3e6d91bff843dcb289172c8b7a5dd54062ac Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 30 May 2020 06:59:07 +0200 Subject: [PATCH] SCRIPTS: publish-release: pass -n to gzip to remove timestamp It just appeared that the tar.gz we put online are not reproducible because a timestamp is put by default into the archive. Passing "-n" to gzip is sufficient to remove this timestamp, so let's do it, and also make the gzip command configurable for more flexibility. Now issuing the commands multiple times finally results in the same archives being produced. This should be backported to supported stable branches. --- scripts/publish-release | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/publish-release b/scripts/publish-release index 5a9a5cead..4938049a3 100755 --- a/scripts/publish-release +++ b/scripts/publish-release @@ -9,6 +9,7 @@ # - shows a listing of the final file USAGE="Usage: ${0##*/} [-a] [-q] [-y] [-b branch] [-n newver] DIR" +CMD_GZIP="${CMD_GZIP:-gzip -nc9}" TARGET_DIR= OUTPUT= SAYYES= @@ -161,7 +162,7 @@ fi echo "Archiving sources for version $NEW ..." rm -f "${TARGET_DIR}/src${DEVEL}/haproxy-${NEW}.tar.gz"{,.md5,.sha256} if ! git archive --format=tar --prefix="haproxy-${NEW}/" "v$NEW" | \ - gzip -9 > "${TARGET_DIR}/src${DEVEL}/haproxy-${NEW}.tar.gz"; then + $CMD_GZIP > "${TARGET_DIR}/src${DEVEL}/haproxy-${NEW}.tar.gz"; then die "Failed to produce the tar.gz archive" fi @@ -174,7 +175,7 @@ git show "v$NEW:CHANGELOG" > "$TARGET_DIR/src/CHANGELOG" for i in "${DOC[@]}"; do git show "v$NEW:$i" > "$TARGET_DIR/doc/${i#doc/}" - gzip -c9 < "$TARGET_DIR/doc/${i#doc/}" > "$TARGET_DIR/doc/${i#doc/}.gz" + $CMD_GZIP < "$TARGET_DIR/doc/${i#doc/}" > "$TARGET_DIR/doc/${i#doc/}.gz" done echo "Done : ls -l ${TARGET_DIR}"