2010-01-05 Eric Blake <ebb9@byu.net>
+ Improve release automation.
+ * maint.mk (gnulib_dir, gnulib-version, bootstrap-tools)
+ (announcement): Copy from latest gnulib maint.mk.
+ * cfg.mk (announce_gen, gpg_key_ID): Delete.
+ (bootstrap-tools): Override the default.
+
Update upstream files.
* GNUmakefile: Update via 'make fetch'.
* build-aux/announce-gen: Likewise.
# Remove the autoreconf-provided INSTALL, so that we regenerate it.
_autoreconf = autoreconf -i -v && rm -f INSTALL
-# Version management.
-announce_gen = $(srcdir)/build-aux/announce-gen
-
# Used in maint.mk's web-manual rule
manual_title = Creating Automatic Configuration Scripts
-# The GnuPG ID of the key used to sign the tarballs.
-gpg_key_ID = F4850180
-
# The local directory containing the checked-out copy of gnulib used in this
-# release.
+# release (override the default).
gnulib_dir = '$(abs_srcdir)'/../gnulib
+# The bootstrap tools (override the default).
+bootstrap-tools = automake
+
# Update files from gnulib.
.PHONY: fetch gnulib-update autom4te-update
fetch: gnulib-update autom4te-update
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
rel-files = $(DIST_ARCHIVES)
+
+gnulib_dir ?= $(srcdir)/gnulib
+gnulib-version = $$(cd $(gnulib_dir) && git describe)
+bootstrap-tools ?= autoconf,automake,gnulib
+
+# If it's not already specified, derive the GPG key ID from
+# the signed tag we've just applied to mark this release.
+gpg_key_ID ?= \
+ $$(git cat-file tag v$(VERSION) > .ann-sig \
+ && gpgv .ann-sig - < /dev/null 2>&1 \
+ | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig)
+
announcement: NEWS ChangeLog $(rel-files)
- @$(announce_gen) \
+ @$(build_aux)/announce_gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
--prev=$(PREV_VERSION) \
--curr=$(VERSION) \
--gpg-key-id=$(gpg_key_ID) \
--news=$(srcdir)/NEWS \
- --bootstrap-tools=automake \
+ --bootstrap-tools=$(bootstrap-tools) \
+ --gnulib-version=$(gnulib-version) \
+ --no-print-checksums \
$(addprefix --url-dir=, $(url_dir_list))
## ---------------- ##