diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2018-03-25 22:55:01 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2018-03-26 01:46:44 +0200 |
commit | e66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead (patch) | |
tree | 8bb6d5bd71d68749dc433bcf215f72e338afc5a9 /maint.mk | |
parent | 6c4f93371c7d0cd846c4b318e86f3761bf3e6e8c (diff) | |
download | mcron-e66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead.tar.gz mcron-e66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead.tar.bz2 mcron-e66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead.zip |
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.
Diffstat (limited to 'maint.mk')
-rw-r--r-- | maint.mk | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -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 |