reliably recreate the same tar-ball from the same content

if the content of the tree is the same, we now create the same
tarballs with the same and sha1sums. We do this, by fixing the mtime of
all objects in the tarball to that of our ./configure.ac

In order for the content to be the same, we no longer rely on simply
calling $(MAKE) asf-dist-sign with a different version, but rather have
special targets, which simply inject the $(RC) variable.

These targets are entirely convinience wrappers for Release managers.

NOTE the GPG signature will always different, because it's a cryptographic
signature. In order to release 4.2.16-rc7 as 4.2.16, we can either call

    make release

or, simply rename the tar-ball. The content of the tar-ball will be the
same, regardless.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/de710cb9
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/de710cb9
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/de710cb9

Branch: refs/heads/4.1.x
Commit: de710cb9b33375abbb4dfae5ac078bc8daefb540
Parents: 01c4872
Author: Igor Galić <[email protected]>
Authored: Thu Nov 14 10:38:05 2013 +0100
Committer: Igor Galić <[email protected]>
Committed: Thu Dec 5 23:08:00 2013 +0100

----------------------------------------------------------------------
 Makefile.am | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/de710cb9/Makefile.am
----------------------------------------------------------------------
diff --git a/Makefile.am b/Makefile.am
index 68d421a..ad42a8e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -62,7 +62,11 @@ asf-distdir:
        rm -rf -- $(distdir)/autom4te.cache $(distdir)/.git 
$(distdir)/.gitignore $(distdir)/ci
 
 asf-dist: asf-distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       tardir=$(distdir) && $(am__tar) --mtime=./configure.ac | bzip2 -9 -c 
>$(distdir).tar.bz2
+       @$(am__remove_distdir)
+
+asf-dist-rc: asf-distdir
+       tardir=$(distdir) && $(am__tar) --mtime=./configure.ac | bzip2 -9 -c 
>$(distdir)-rc$(RC).tar.bz2
        @$(am__remove_distdir)
 
 asf-dist-sign: asf-dist
@@ -70,11 +74,15 @@ asf-dist-sign: asf-dist
        sha1sum -b $(distdir).tar.bz2 >$(distdir).tar.bz2.sha1
        gpg --armor --output $(distdir).tar.bz2.asc  --detach-sig 
$(distdir).tar.bz2
 
+asf-dist-sign-rc: asf-dist-rc
+       md5sum -b $(distdir)-rc$(RC).tar.bz2 >$(distdir)-rc$(RC).tar.bz2.md5
+       sha1sum -b $(distdir)-rc$(RC).tar.bz2 >$(distdir)-rc$(RC).tar.bz2.sha1
+       gpg --armor --output $(distdir)-rc$(RC).tar.bz2.asc  --detach-sig 
$(distdir)-rc$(RC).tar.bz2
+
 release: asf-dist-sign
        git tag -fs -m "Release $(VERSION)" $(VERSION)
 
-rel-candidate:
-       $(MAKE) asf-dist-sign VERSION=$(VERSION)-rc$(RC)
+rel-candidate: asf-dist-sign-rc
        git tag -fs -m "Release Candidate $(VERSION)-rc$(RC)" $(VERSION)-rc$(RC)
 
 examples: all

Reply via email to