autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix `make update'


From: Ralf Wildenhues
Subject: Re: Fix `make update'
Date: Mon, 10 Apr 2006 22:12:27 +0200
User-agent: Mutt/1.5.9i

Hi Paul,

* Paul Eggert wrote on Mon, Apr 10, 2006 at 09:55:17PM CEST:
> Ralf Wildenhues <address@hidden> writes:
> 
> > -     grep 'enum { COPYRIGHT_YEAR = 2005 };' $(v_etc_file) \
> > +     grep 'enum { COPYRIGHT_YEAR = 2006 };' $(v_etc_file) \
> 
> This should use "date +%Y" rather than hardwiring the year.

Definitely.

> (There may be problems near 00:00 on January 1, but if that turns into
> an issue, we can standardize on the time zone used in Cambridge,
> Massachusetts.  :-)

People should not spend New Year's Eve near a computer..  ;-)

> > -   test "$$fail" && exit 1
> > +   if test "$$fail"; then exit 1; else :; fi
> 
> That last line is confusing and should be just "exit $$status",
> reworking the earlier code accordingly.  The code should probably also
> check the status of the other CVS command in that loop.  Something
> like this, perhaps:

Yes, good except using `$status' is not portable, and even if this file
does not need to be portable, I like to avoid such pitfalls when that is
easy to do.

Updated patch below.  OK?

Cheers, and thanks for the super-quick review!
Ralf

        * Makefile.maint (cvs-sv): New macro, to be used..
        (config.guess-url_prefix, config.sub-url_prefix)
        (texinfo.tex-url_prefix, standards.texi-url_prefix): ..here;
        point to CVS text checkout of Gnulib files.
        (copyright-check): Bump current year.
        (announcement): Do not hard-wire `./announce-gen'.
        (cvs-update): Propagate failures of `cvs' and `move-if-change'
        correctly.
        * Makefile.cfg (executable-update): Use `chmod a+x' instead of
        `chmod +x'.
        (wget_files): Update config.guess, config.sub, texinfo.tex by
        `wget-update', now that their URLs work again.

Index: Makefile.cfg
===================================================================
RCS file: /cvsroot/autoconf/autoconf/Makefile.cfg,v
retrieving revision 1.8
diff -u -r1.8 Makefile.cfg
--- Makefile.cfg        14 May 2005 07:00:39 -0000      1.8
+++ Makefile.cfg        10 Apr 2006 20:08:19 -0000
@@ -1,5 +1,5 @@
 # Customize Makefile.maint for Autoconf.            -*- Makefile -*-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
 
 # 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
@@ -34,11 +34,10 @@
 # Files to update automatically.
 wget_files = \
   $(srcdir)/doc/standards.texi \
-  $(srcdir)/doc/make-stds.texi
-#Currently done by hand:
-# $(srcdir)/config/config.guess
-# $(srcdir)/config/config.sub
-# $(srcdir)/config/texinfo.tex
+  $(srcdir)/doc/make-stds.texi \
+  $(srcdir)/config/config.guess \
+  $(srcdir)/config/config.sub \
+  $(srcdir)/config/texinfo.tex
 
 cvs_files = \
   $(srcdir)/config/elisp-comp \
@@ -53,7 +52,7 @@
 .PHONY: executable-update
 # autom4te-update is defined in Makefile.am.
 executable-update: wget-update cvs-update autom4te-update
-       chmod +x $(cvs_files)   \
+       chmod a+x $(cvs_files)   \
                 $(srcdir)/config/config.guess \
                 $(srcdir)/config/config.sub
 
Index: Makefile.maint
===================================================================
RCS file: /cvsroot/autoconf/autoconf/Makefile.maint,v
retrieving revision 1.35
diff -u -r1.35 Makefile.maint
--- Makefile.maint      6 Apr 2006 17:43:52 -0000       1.35
+++ Makefile.maint      10 Apr 2006 20:08:20 -0000
@@ -382,7 +382,7 @@
 # Make sure that the copyright date in $(v_etc_file) is up to date.
 copyright-check:
        @if test -f $(v_etc_file); then \
-         grep 'enum { COPYRIGHT_YEAR = 2005 };' $(v_etc_file) \
+         grep "enum { COPYRIGHT_YEAR = `date +%Y` };" $(v_etc_file) \
            >/dev/null \
          || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
               exit 1; }; \
@@ -484,7 +484,7 @@
 
 rel-files = $(xd-delta) $(DIST_ARCHIVES)
 announcement: NEWS ChangeLog $(rel-files)
-       @./announce-gen                                                 \
+       @$(announce_gen)                                                \
            --release-type=$(RELEASE_TYPE)                              \
            --package=$(PACKAGE)                                        \
            --prev=$(PREV_VERSION)                                      \
@@ -500,6 +500,7 @@
 
 ftp-gnu = ftp://ftp.gnu.org/gnu
 www-gnu = http://www.gnu.org
+cvs-sv  = http://cvs.savannah.gnu.org/viewcvs/~checkout~
 
 # Use mv, if you don't have/want move-if-change.
 move_if_change ?= move-if-change
@@ -550,14 +551,14 @@
 
 get-targets = $(patsubst %, get-%, $(wget_files))
 
-config.guess-url_prefix = $(ftp-gnu)/build-aux/
-config.sub-url_prefix = $(ftp-gnu)/build-aux/
+config.guess-url_prefix = $(cvs-sv)/config/config/
+config.sub-url_prefix = $(cvs-sv)/config/config/
 
 ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
 
-texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
+texinfo.tex-url_prefix = $(cvs-sv)/gnulib/gnulib/build-aux/
 
-standards.texi-url_prefix = $(www-gnu)/prep/
+standards.texi-url_prefix = $(cvs-sv)/gnulib/gnulib/doc/
 make-stds.texi-url_prefix = $(standards.texi-url_prefix)
 
 target = $(patsubst get-%, %, $@)
@@ -580,18 +581,19 @@
 
 .PHONY: cvs-update
 cvs-update:
-       fail=;                                                          \
+       exit_status=0;                                                  \
        for f in $(cvs_files); do                                       \
          test -f $$f || { echo "*** skipping $$f" 1>&2; continue; };   \
          cvs diff $$f > /dev/null                                      \
-           || { echo "*** $$f is locally modified; skipping it" 1>&2;  \
-                fail=yes; continue; };                                 \
+           || { exit_status=$$?;                                       \
+                echo "*** $$f is locally modified; skipping it" 1>&2;  \
+                continue; };                                           \
          file=$$(basename $$f);                                        \
          echo checking out $$file...;                                  \
          $(CVS) -d $(automake_repo) co -p automake/lib/$$file> $$f.t   \
-           && $(move_if_change) $$f.t $$f;                             \
+           && $(move_if_change) $$f.t $$f || exit_status=$$?;          \
        done;                                                           \
-       test "$$fail" && exit 1
+       exit $$exit_status
 
 emit_upload_commands:
        @echo =====================================




reply via email to

[Prev in Thread] Current Thread [Next in Thread]