maint: Replace "build-aux/gnu-fetch" with 'fetch' maintainer rule

Fetching third-party files inside a make rule is convenient and less
error prone since 'make' has access to '$srcdir'.

* build-aux/gnu-fetch: Delete.
* maint.mk (WGET, git_sv_host, sv_git_am, sv_git_gl)
(fetchfiles): New macros.
(fetch): New target.
* HACKING <Updating auxilary scripts>: Update instructions.
This commit is contained in:
Mathieu Lirzin 2018-03-25 22:55:01 +02:00
commit e66f0dcdd6
No known key found for this signature in database
GPG key ID: 0ADEE10094604D37
3 changed files with 44 additions and 98 deletions

View file

@ -18,3 +18,46 @@
# Rebuild Makefile.in if this file is modifed.
Makefile.in: maint.mk
## -------------------- ##
## Third-party files. ##
## ---------------------##
WGET = wget
# Git repositories on Savannah.
git_sv_host = git.savannah.gnu.org
# Some repositories we sync files from.
sv_git_am = 'https://$(git_sv_host)/gitweb/?p=automake.git;a=blob_plain;hb=HEAD;f='
sv_git_gl = 'https://$(git_sv_host)/gitweb/?p=gnulib.git;a=blob_plain;hb=HEAD;f='
# Files that we fetch and which we compare against.
# Note that the 'lib/COPYING' file must still be synced by hand.
fetchfiles = \
$(sv_git_am)contrib/test-driver.scm \
$(sv_git_gl)build-aux/do-release-commit-and-tag \
$(sv_git_gl)build-aux/gitlog-to-changelog \
${sv_git_gl}build-aux/gnu-web-doc-update \
$(sv_git_gl)build-aux/gnupload
# Fetch the latest versions of few scripts and files we care about.
# A retrieval failure or a copying failure usually mean serious problems,
# so we'll just bail out if 'wget' or 'cp' fail.
fetch:
$(AM_V_at)rm -rf Fetchdir
$(AM_V_at)mkdir Fetchdir
$(AM_V_GEN)set -e; \
if $(AM_V_P); then wget_opts=; else wget_opts=-nv; fi; \
for url in $(fetchfiles); do \
file=`printf '%s\n' "$$url" | sed 's|^.*/||; s|^.*=||'`; \
$(WGET) $$wget_opts "$$url" -O Fetchdir/$$file || exit 1; \
if cmp Fetchdir/$$file $(srcdir)/build-aux/$$file >/dev/null; then \
: Nothing to do; \
else \
echo "$@: updating file $$file"; \
cp Fetchdir/$$file $(srcdir)/build-aux/$$file || exit 1; \
fi; \
done
$(AM_V_at)rm -rf Fetchdir
.PHONY: fetch