summaryrefslogtreecommitdiff
path: root/cfg.mk
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2020-09-03 11:40:50 -0400
committerZack Weinberg <zackw@panix.com>2020-09-03 11:40:50 -0400
commit8af9e92c9126813680e668a4a84ae62784d596ab (patch)
tree33c6cb393d8811cb32d93989bc8c412ff38dce57 /cfg.mk
parent41edf99f9515f3f83398428c39d79e11266a5a0d (diff)
downloadautoconf-8af9e92c9126813680e668a4a84ae62784d596ab.tar.gz
Fetch gnulib files from gitweb.
‘make fetch’ pulls the files maintained by Automake from gitweb, so we always get the HEAD revision at the time of the operation. The files maintained by Gnulib, on the other hand, are just copied from whatever local gnulib checkout you happen to have on your hard drive at the time, which might not have been updated recently and might not even be checked out from gnulib trunk. This patch makes us use the same logic for Gnulib that we do for Automake. It also pulls all of the code out of cfg.mk to a separate shell script. The lists of files to update from each repository are also moved to that file. * build-aux/fetch.sh: New script. Lists of files to fetch from Gnulib and Automake are now kept here. * cfg.mk (fetch): Run fetch.sh, it does all the work. (gnulib-update, autom4te-update, WGETFLAGS, automake_gitweb) (autom4te_files, move_if_change): Delete.
Diffstat (limited to 'cfg.mk')
-rw-r--r--cfg.mk60
1 files changed, 6 insertions, 54 deletions
diff --git a/cfg.mk b/cfg.mk
index b9401f11..e6dc4996 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -46,62 +46,14 @@ To: $(announcement_mail-$(RELEASE_TYPE)) \
CC: $(announcement_Cc_) \
Mail-Followup-To: autoconf@gnu.org
-# Update files from gnulib.
-.PHONY: fetch gnulib-update autom4te-update
-fetch: gnulib-update autom4te-update
-
-gnulib-update:
- cp $(gnulib_dir)/build-aux/announce-gen $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/config.guess $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/config.sub $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/gendocs.sh $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/git-version-gen $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/gitlog-to-changelog $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/gnupload $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/install-sh $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/mdate-sh $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/move-if-change $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/texinfo.tex $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/update-copyright $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/useless-if-before-free $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/vc-list-files $(srcdir)/build-aux
- cp $(gnulib_dir)/doc/fdl.texi $(srcdir)/doc
- cp $(gnulib_dir)/doc/gendocs_template $(srcdir)/doc
- cp $(gnulib_dir)/doc/gnu-oids.texi $(srcdir)/doc
- cp $(gnulib_dir)/doc/make-stds.texi $(srcdir)/doc
- cp $(gnulib_dir)/doc/standards.texi $(srcdir)/doc
- cp $(gnulib_dir)/m4/autobuild.m4 $(srcdir)/m4
- cp $(gnulib_dir)/top/GNUmakefile $(srcdir)
- cp $(gnulib_dir)/top/maint.mk $(srcdir)
+# Update files maintained in gnulib and autom4te.
+.PHONY: fetch
WGET = wget
-WGETFLAGS = -C off
-
-## Fetch the latest versions of files we care about.
-automake_gitweb = \
- https://git.savannah.gnu.org/gitweb/?p=automake.git;a=blob_plain;hb=HEAD;
-autom4te_files = \
- Autom4te/Channels.pm \
- Autom4te/FileUtils.pm \
- Autom4te/Getopt.pm \
- Autom4te/XFile.pm
-
-move_if_change = '$(abs_srcdir)'/build-aux/move-if-change
-
-autom4te-update:
- rm -fr Fetchdir > /dev/null 2>&1
- mkdir -p Fetchdir/Autom4te
- for file in $(autom4te_files); do \
- infile=`echo $$file | sed 's/Autom4te/Automake/g'`; \
- $(WGET) $(WGET_FLAGS) \
- "$(automake_gitweb)f=lib/$$infile" \
- -O "Fetchdir/$$file" || exit; \
- done
- perl -pi -e 's/Automake::/Autom4te::/g' Fetchdir/Autom4te/*.pm
- for file in $(autom4te_files); do \
- $(move_if_change) Fetchdir/$$file $(srcdir)/lib/$$file || exit; \
- done
- rm -fr Fetchdir > /dev/null 2>&1
+
+fetch:
+ WGET="$(WGET)" PERL="$(PERL)" \
+ $(SHELL) $(srcdir)/build-aux/fetch.sh "$(abs_top_srcdir)"
# Tests not to run.
local-checks-to-skip ?= \