maint: Update "maint.mk"

* maint.mk (gpg_key_ID, gnu_rel_host, noteworthy_changes)
(gnu_ftp_host-alpha, gnu_ftp_host-beta)
(gnu_ftp_host-stable): New macros.
(release, upload, web-manual, web-manual-update): New rules.
This commit is contained in:
Mathieu Lirzin 2018-04-08 16:54:49 +02:00
commit a2d93e3b75
No known key found for this signature in database
GPG key ID: 0ADEE10094604D37

View file

@ -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)