summaryrefslogtreecommitdiffstats
path: root/support/download
diff options
context:
space:
mode:
Diffstat (limited to 'support/download')
-rwxr-xr-xsupport/download/bzr18
1 files changed, 17 insertions, 1 deletions
diff --git a/support/download/bzr b/support/download/bzr
index a8a8887151..e18b01f39c 100755
--- a/support/download/bzr
+++ b/support/download/bzr
@@ -32,6 +32,22 @@ _bzr() {
eval ${BZR} "${@}"
}
+# --per-file-timestamps comes with bzr-2.2 (released August 2010),
+# so only pass it if bzr is recent enough. We compute versions as:
+# major*1000 + minor
+bzr_min_version=2002
+bzr_version=$(($(bzr --version |
+ sed -r -n 's/^Bazaar \(bzr\) ([[:digit:]]+)\.([[:digit:]]+)\..*$/\1*1000+\2/p')
+ ))
+
+# If the version is recent enough, we can generate reproducible
+# archives; otherwise, we just hope for the best (as it would
+# be downloaded from the BR mirror if what we generate here does
+# not match the hash we have for it).
+if [ ${bzr_version} -ge ${bzr_min_version} ]; then
+ timestamp_opt="--per-file-timestamps"
+fi
+
_bzr export ${verbose} --root="'${basename}/'" --format=tgz \
- --per-file-timestamps - "'${repo}'" -r "'${rev}'" \
+ ${timestamp_opt} - "'${repo}'" -r "'${rev}'" \
>"${output}"
OpenPOWER on IntegriCloud