diff options
-rw-r--r-- | HACKING | 2 | ||||
-rwxr-xr-x | build-aux/gnu-fetch | 97 | ||||
-rw-r--r-- | maint.mk | 43 |
3 files changed, 44 insertions, 98 deletions
@@ -55,7 +55,7 @@ follows. * Updating auxilary scripts Fetch new versions of the files that are maintained in other GNU - repositories by running "cd build-aux; ./gnu-fetch". In case any file in the + repositories by running "make fetch". In case any file in the Mcron repository has been updated, commit and re-run the testsuite. * Code coverage diff --git a/build-aux/gnu-fetch b/build-aux/gnu-fetch deleted file mode 100755 index 5655b16..0000000 --- a/build-aux/gnu-fetch +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# Fetch files maintained in other GNU repositories. - -scriptversion=2018-03-24.21; # UTC - -# Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -set -e - -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/gitlog-to-changelog - ${sv_git_gl}build-aux/do-release-commit-and-tag - ${sv_git_gl}build-aux/gnu-web-doc-update - ${sv_git_gl}build-aux/gnupload -" - -usage="Usage: $0 - -fetch files maintained in other GNU repositories -" - -while test -n "$1" -do - case $1 in - -*) - case $1 in - --help) - echo "$usage" - exit $? - ;; - --version) - echo "gnu-fetch $scriptversion" - exit $? - ;; - --) - shift - break - ;; - -*) - echo "$0: Unknown option '$1', try '$0 --help'" 1>&2 - exit 1 - ;; - esac - ;; - esac - shift -done - -rm -rf Fetchdir -mkdir Fetchdir -for url in ${FETCHFILES} -do - file=`printf '%s\n' "$url" | sed 's|^.*/||; s|^.*=||'` - "$WGET" -nv "$url" -O "Fetchdir/$file" || exit 1 - if cmp "Fetchdir/$file" "$file" >/dev/null; then - : Nothing to do - else - echo "$0: updating file $file" - cp "Fetchdir/$file" "$file" || exit 1 - fi -done -rm -rf Fetchdir - -exit 0 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: @@ -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 |