Message ID | 1451747202-21873-1-git-send-email-yann.morin.1998@free.fr |
---|---|
State | Accepted |
Commit | efe7f684a66b54bf133e6b377b19653a163c89e0 |
Headers | show |
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > Similarly to what has previously been done for the Hg download backend, > instruct bzr to generate the archive on stdout, so that we can generate > reproducible archives. > When instructing bzr to generate the output file by itself, it uses a > temporary file that is then fed to gzip, which in turn stores the > timestamp of that file in the generated archive, whereas when the output > is generated on stdout, there is no timestamp, so the archive is then > reproducible. > Bizarely enough, we can tell 'bazaar' not to generate a bazaar in the > archive. Cool, uh? ;-] :P Committed, thanks.
diff --git a/support/download/bzr b/support/download/bzr index cec9ce8..a8a8887 100755 --- a/support/download/bzr +++ b/support/download/bzr @@ -32,4 +32,6 @@ _bzr() { eval ${BZR} "${@}" } -_bzr export ${verbose} --root="'${basename}/'" --format=tgz "'${output}'" "'${repo}'" -r "'${rev}'" +_bzr export ${verbose} --root="'${basename}/'" --format=tgz \ + --per-file-timestamps - "'${repo}'" -r "'${rev}'" \ + >"${output}"
Similarly to what has previously been done for the Hg download backend, instruct bzr to generate the archive on stdout, so that we can generate reproducible archives. When instructing bzr to generate the output file by itself, it uses a temporary file that is then fed to gzip, which in turn stores the timestamp of that file in the generated archive, whereas when the output is generated on stdout, there is no timestamp, so the archive is then reproducible. Bizarely enough, we can tell 'bazaar' not to generate a bazaar in the archive. Cool, uh? ;-] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- support/download/bzr | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)