AboutSummaryRefsLogTreeCommitDiffStats
diff options
context:
space:
mode:
-rw-r--r--maint.mk63
1 files changed, 63 insertions, 0 deletions
diff --git a/maint.mk b/maint.mk
index 115fde6..e45ede1 100644
--- a/maint.mk
+++ b/maint.mk
@@ -61,3 +61,66 @@ fetch:
done
$(AM_V_at)rm -rf Fetchdir
.PHONY: fetch
+
+# 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 = \
+ $$(cd $(srcdir) \
+ && git cat-file tag v$(VERSION) \
+ | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \
+ | awk '/^\[GNUPG:\] ERRSIG / {print $$3; exit}')
+
+# Use alpha.gnu.org for alpha and beta releases.
+# Use ftp.gnu.org for stable releases.
+gnu_ftp_host-alpha = alpha.gnu.org
+gnu_ftp_host-beta = alpha.gnu.org
+gnu_ftp_host-stable = ftp.gnu.org
+gnu_rel_host = $(gnu_ftp_host-$(release-type))
+
+noteworthy_changes = * Noteworthy changes in release ?.? (????-??-??) [?]
+
+.PHONY: release
+release:
+ cd $(srcdir) && rm -rf autom4te.cache && ./bootstrap && ./configure
+ $(AM_V_at)$(MAKE) Makefile
+ $(AM_V_at)$(srcdir)/build-aux/announce-gen \
+ --mail-headers='To: ??? Mail-Followup-To: $(PACKAGE_BUGREPORT)' \
+ --release-type=$(release-type) \
+ --package=$(PACKAGE) \
+ --prev=`cat .prev-version` \
+ --curr=$(VERSION) \
+ --gpg-key-id=$(gpg_key_ID) \
+ --srcdir=$(srcdir) \
+ --news=$(srcdir)/NEWS \
+ --bootstrap-tools=autoconf,automake,help2man \
+ --no-print-checksums \
+ --url-dir=https://ftp.gnu.org/gnu/$(PACKAGE) \
+ > ~/announce-$(PACKAGE)-$(VERSION)
+ $(AM_V_at)echo $(VERSION) > .prev-version
+ $(AM_V_at)perl -pi \
+ -e '$$. == 3 and print "$(noteworthy_changes)\n\n\n"' \
+ $(srcdir)/NEWS
+ $(AM_V_at)msg=`printf '%s\n' 'maint: Post-release administrivia' '' \
+ '* NEWS: Add header line for next release.' \
+ '* .prev-version: Record previous version.'` || exit 1; \
+ git commit -m "$$msg" -a
+
+.PHONY: upload
+upload:
+ $(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \
+ --to $(gnu_rel_host):$(PACKAGE) \
+ $(DIST_ARCHIVES)
+
+.PHONY: web-manual
+web-manual:
+ $(AM_V_at)cd '$(srcdir)/doc'; \
+ $(SHELL) ../build-aux/gendocs.sh \
+ -o '$(abs_builddir)/doc/manual' \
+ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \
+ "$(PACKAGE_STRING) Reference Manual"
+ $(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs."
+
+.PHONY: web-manual-update
+web-manual-update:
+ $(AM_V_GEN)cd $(srcdir) \
+ && build-aux/gnu-web-doc-update -C $(abs_builddir)