The appended file 'version' has the same timestamp as the files added
by `git archive`.

The original file name and time stamp are no longer saved to the
gzip header in resulting $(PACKAGE)-$(VERSION).tar.gz file.

When build environment is close enough to another, this may
provide mutually reproducible release archive files.
---

The best way to realize improvements in a patch set is to send it >;/

V2 of id:20171211173102.6279-1-tomi.oll...@iki.fi

Replaces file touch with --mtime= GNU tar(1) option (diffdiff with V1):

: +++ b/Makefile.local
: @@ -34,6 +34,5 @@ $(TAR_FILE):
:         ct=`git --no-pager log -1 --pretty=format:%ct $$ref` ; \
: -       touch -d @$$ct version.tmp
:         tar --owner root --group root --append -f $(TAR_FILE).tmp \
:                 --transform s_^_$(PACKAGE)-$(VERSION)/_  \
: -               --transform 's_.tmp$$__' version.tmp
: +               --transform 's_.tmp$$__' --mtime=@$$ct version.tmp
:         rm version.tmp


 Makefile.local | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile.local b/Makefile.local
index 9505b7fee70b..1535c2ae8a7b 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -31,11 +31,12 @@ $(TAR_FILE):
        fi ; \
        git archive --format=tar --prefix=$(PACKAGE)-$(VERSION)/ $$ref > 
$(TAR_FILE).tmp
        echo $(VERSION) > version.tmp
+       ct=`git --no-pager log -1 --pretty=format:%ct $$ref` ; \
        tar --owner root --group root --append -f $(TAR_FILE).tmp \
                --transform s_^_$(PACKAGE)-$(VERSION)/_  \
-               --transform 's_.tmp$$__' version.tmp
+               --transform 's_.tmp$$__' --mtime=@$$ct version.tmp
        rm version.tmp
-       gzip < $(TAR_FILE).tmp > $(TAR_FILE)
+       gzip -n < $(TAR_FILE).tmp > $(TAR_FILE)
        @echo "Source is ready for release in $(TAR_FILE)"
 
 $(SHA256_FILE): $(TAR_FILE)
-- 
2.13.3

_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to