build: More release creation automation.
* Makefile.am: Add release and sign-release targets. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
969700bc56
commit
d11bec5ef5
59
Makefile.am
59
Makefile.am
@ -19,6 +19,16 @@
|
|||||||
|
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
# Location of the released tarball archives. Note that this is an
|
||||||
|
# internal archive and before uploading this to the public server,
|
||||||
|
# manual tests should be run and the git release tat set and pushed.
|
||||||
|
# Adjust as needed.
|
||||||
|
RELEASE_ARCHIVE_DIR = wk@vigenere:tarballs/gpgme/
|
||||||
|
|
||||||
|
# The key used to sign the released sources. Adjust as needed.
|
||||||
|
RELEASE_SIGNING_KEY = D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
|
||||||
|
|
||||||
|
# Autoconf flags
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS =
|
DISTCHECK_CONFIGURE_FLAGS =
|
||||||
@ -57,9 +67,9 @@ distcheck-hook:
|
|||||||
esac;\
|
esac;\
|
||||||
done ) | tee $(distdir).swdb
|
done ) | tee $(distdir).swdb
|
||||||
|
|
||||||
|
.PHONY: gen-ChangeLog release sign-release
|
||||||
|
|
||||||
gen_start_date = 2011-12-01T00:00:00
|
gen_start_date = 2011-12-01T00:00:00
|
||||||
.PHONY: gen-ChangeLog
|
|
||||||
gen-ChangeLog:
|
gen-ChangeLog:
|
||||||
if test -d $(top_srcdir)/.git; then \
|
if test -d $(top_srcdir)/.git; then \
|
||||||
(cd $(top_srcdir) && \
|
(cd $(top_srcdir) && \
|
||||||
@ -70,3 +80,50 @@ gen-ChangeLog:
|
|||||||
rm -f $(distdir)/ChangeLog; \
|
rm -f $(distdir)/ChangeLog; \
|
||||||
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Macro to help the release target.
|
||||||
|
RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
||||||
|
|
||||||
|
release:
|
||||||
|
+(set -e;\
|
||||||
|
if [ "$(abs_top_builddir)" = "$(abs_top_srcdir)" ]; then \
|
||||||
|
echo "error: build directory must not be the source directory" >&2;\
|
||||||
|
exit 2;\
|
||||||
|
fi ;\
|
||||||
|
echo "/* Build started at $$(date -uIseconds) */" ;\
|
||||||
|
cd $(top_srcdir); \
|
||||||
|
./autogen.sh --force; \
|
||||||
|
cd $(abs_top_builddir); \
|
||||||
|
rm -rf dist; mkdir dist ; cd dist ; \
|
||||||
|
$(abs_top_srcdir)/configure --enable-maintainer-mode; \
|
||||||
|
$(MAKE) distcheck TESTFLAGS=--parallel; \
|
||||||
|
echo "/* Build finished at $$(date -uIseconds) */" ;\
|
||||||
|
echo "/*" ;\
|
||||||
|
echo " * Please run the final step interactivly:" ;\
|
||||||
|
echo " * make sign-release" ;\
|
||||||
|
echo " */" ;\
|
||||||
|
) 2>&1 | tee "$(RELEASE_NAME).buildlog"
|
||||||
|
|
||||||
|
sign-release:
|
||||||
|
+(set -e; \
|
||||||
|
cd dist; \
|
||||||
|
files1="$(RELEASE_NAME).tar.bz2" ;\
|
||||||
|
files2="$(RELEASE_NAME).tar.bz2.sig \
|
||||||
|
$(RELEASE_NAME).swdb \
|
||||||
|
$(RELEASE_NAME).buildlog" ;\
|
||||||
|
echo "/* Signing the source tarball ..." ;\
|
||||||
|
gpg -sbu $(RELEASE_SIGNING_KEY) $(RELEASE_NAME).tar.bz2 ;\
|
||||||
|
cat $(RELEASE_NAME).swdb >swdb.snippet;\
|
||||||
|
echo >>swdb.snippet ;\
|
||||||
|
sha1sum $${files1} >>swdb.snippet ;\
|
||||||
|
cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
|
||||||
|
| gzip >$(RELEASE_NAME).buildlog ;\
|
||||||
|
echo "Copying to local archive ..." ;\
|
||||||
|
scp -p $${files1} $${files2} $(RELEASE_ARCHIVE_DIR)/ || true;\
|
||||||
|
echo "Uploading documentation ..." ;\
|
||||||
|
$(MAKE) -C doc online; \
|
||||||
|
echo '/*' ;\
|
||||||
|
echo ' * All done; for checksums see dist/swdb.snippet' ;\
|
||||||
|
echo ' */' ;\
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user