Commit Graph

65 Commits

Author SHA1 Message Date
Jim Meyering
9ae8d7f61f maint: update all copyright dates via "make update-copyright" 2024-01-05 09:11:48 -08:00
Zack Weinberg
d87b2ece37 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2023-12-22 13:45:16 -05:00
Zack Weinberg
6199cff290 Finalize NEWS for release 2.72.
Since 2.72[abcde] did not get widely used, squash all the NEWS entries
since 2.71 together, and delete things that were only of interest to
people going from a,b,c to d to e.  Finalize the release date.
2023-12-22 12:42:09 -05:00
Zack Weinberg
8013f03064 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2023-11-30 16:24:50 -05:00
Zack Weinberg
e0681c50ac
Fix ‘make syntax-check’ complaints.
* cfg.mk (local-checks-to-skip): Add sc_unportable_grep_q, which has
  too many false positives to bother with; for instance, it triggers
  on autoconf.texi’s discussion of why grep -q is unportable, and on
  the code in maint.mk that implements the check!
  (old_NEWS_hash): Update for commit b751bf4949,
  which fixed spelling errors in old NEWS.

* doc/autoconf.texi: Remove a doubled word.
* lib/autoconf/programs.m4: Remove a space immediately before a tab.
* lib/m4sugar/m4sh.m4 (_AS_IF): Rephrase documentation to avoid saying
  “if IF-FALSE” which triggers the prohibit_doubled_word check.
2023-03-12 16:59:27 -04:00
Paul Eggert
cb3ad19ddf make update-copyright 2023-01-20 23:41:13 -06:00
Paul Eggert
31f673434e Port to GNU make 4.4
* cfg.mk (PATH): Assign eagerly, and simplify shell use, avoiding
use of the shell entirely if PWD is set, as it should be.
Problem reported by Sergei Trofimovich in:
https://lists.gnu.org/r/autoconf-patches/2022-09/msg00007.html
2022-09-09 16:57:10 -05:00
Paul Eggert
ef27f692a0 make update-copyright 2022-05-19 13:57:38 -07:00
Eric Blake
c8b84ee327 maint: ensure autoconf-latest.* links stay up-to-date
* cfg.mk (GNUPLOADFLAGS): New.
https://lists.gnu.org/archive/html/autoconf/2021-05/msg00006.html
2021-05-10 15:45:24 -05:00
Zack Weinberg
6d38e9fa2b
trunk post-release administrivia
Matching the commits on the release branch:

* NEWS: Bring over record of release notes.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2021-01-28 17:54:10 -05:00
Zack Weinberg
300349c84b
make update-copyright 2021-01-28 15:19:21 -05:00
Zack Weinberg
29ed3a774d
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2020-12-08 13:04:16 -05:00
Zack Weinberg
93270f112e
Rewrite fetch.sh in Perl.
Using HTTP::Tiny to talk to the network, instead of wget, means that
we can make just one TCP connection to git.savannah.gnu.org to do the
whole job, which is quite a bit faster.  It should also be more
robust against weird characters in filenames / URLs and stuff.

The script has a higher requirement for Perl than is the standard in
autoconf -- 5.14 (first version with HTTP::Tiny), with IO::Socket::SSL
installed -- but that’s ok, I hope, because it’s maintainer-only and
not installed.

fetch.sh was the sole user of move-if-change, and the Perl script does
that job itself, but I left move-if-change in build-aux and on the fetch
list anyway, in case we discover another use for it in the future.

* build-aux/fetch.sh: Replace with...
* build-aux/fetch.pl: ... reimplementation in Perl.
* cfg.mk (fetch): Update to match.
2020-09-11 14:51:00 -04:00
Zack Weinberg
8af9e92c91
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.
2020-09-03 11:40:50 -04:00
Zack Weinberg
a1acd8e66b
Formally obsolete AC_CONFIG_HEADER (#105403)
This macro was replaced by AC_CONFIG_HEADERS many years ago (before
the beginning of the VCS history) and isn’t even documented, but we
never got around to making autoupdate notice it.  Problem reported
*in 2006* by jensseidel@users.sf.net.

There was one use of AC_CONFIG_HEADER in our source tree, which is
converted.  Also, to avoid confusing people reading old NEWS or TODO
entries, all mentions of AC_CONFIG_HEADER therein are also replaced
with AC_CONFIG_HEADERS.

* lib/autoconf/status.m4 (AC_CONFIG_HEADER): Make an AU_ALIAS for
  AC_CONFIG_HEADERS.
2020-07-12 11:59:14 -04:00
Zack Weinberg
8dcc5babcd
Fix `make syntax-check'.
There are two errors caught by make syntax-check currently.

First, the recent make update-copyright
(d78a7dd95f) missed autoconf.texi, I
think because there are a bunch of .texi files in doc/ whose copyright
years should *not* be updated (e.g. standards.texi, fdl.texi) and the
exclusion pattern is too broad.  I can't actually *find* the exclusion
pattern in the twisty maze of .mk files, all alike, so I just manually
updated autoconf.texi.

Second, it objects to an edit to an old section of NEWS.  This is
because of d3dcd5895d, which is a
legitimate change (replacing http:// with https:// in a URL) so the
correct action is to change old_NEWS_hash to match.

	* doc/autoconf.texi: Update copyright year.
	* cfg.mk (old_NEWS_hash): Update to acknowledge commit
	d3dcd5895d.
2020-02-26 10:27:38 -05:00
Jim Meyering
d78a7dd95f maint: make update-copyright 2020-01-01 11:45:50 -08:00
Paul Eggert
d3dcd5895d Prefer HTTPS to FTP and HTTP 2017-09-16 17:48:51 -07:00
Jim Meyering
60460b91d0 maint: update copyright dates for 2017
* all files: Run "make update-copyright".
* doc/autoconf.texi: Update manually.
2017-01-01 05:18:32 -08:00
Paul Eggert
bbfa63cd4a maint: make update-copyright 2016-02-06 17:17:49 -08:00
Paul Eggert
7b13e39a11 maint: bump copyright to 2015
* all files: Run 'make update-copyright'.
2015-01-02 13:03:39 -08:00
Eric Blake
a610501ded maint: bump copyright to 2014
Done via 'make update-copyright', since all files are effectively
modified and distributed this year via public version control.

* all files: Update copyright year.
2014-01-01 16:27:53 -07:00
Stefano Lattarini
f8ac780d14 build: define RELEASE_YEAR with AC_SUBST
Rather than reading it dynamically from the ChangeLog -- that,
remember, is only a dummy in a Git checkout!  To avoid risking
the definition to get out-of-sync, let's enhance the maintainer
target 'update-copyright' to update it automatically (the same
way it's done in the Automake build system).

* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable.
* cfg.mk (update-release-year): New maintainer-specific target
to automatically update the value of that variable.
(update-copyright): Depend on the new target.
* bin/local.mk (RELEASE_YEAR): Drop definition.
(edit): Simplify quoting of $(RELEASE_YEAR).
* lib/Makefile.am (RELEASE_YEAR): Drop definition.
(m4sugar/version.m4): Simplify quoting of $(RELEASE_YEAR).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2013-05-06 12:23:20 +02:00
Eric Blake
fbaee459bf maint: bump copyright to 2013
Done via 'make update-copyright', since all files are effectively
modified and distributed this year via public version control.

* all files: Update copyright year.
2013-01-03 14:58:52 -07:00
Stefano Lattarini
8b328e4ccb maint: don't sync the 'Autom4te::Configure_ac' module from Automake
That file has been removed in the master branch of Automake, since
Automake 1.14 will remove support for 'configure.in' as a name for
Autoconf input files.  See commits 'v1.13-17-gbff57c8' and
'v1.13-21-g7626e63' in the Automake repository.

* cfg.mk (autom4te_files): Remove 'Autom4te/Configure_ac.pm'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-12-29 10:26:47 +01:00
Jim Meyering
32d938eaa7 maint: avoid new syntax-check failure
* cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
Exempt autoconf.texi's test of "#if defined HAVE_DECL_MALLOC".
2012-07-22 12:26:26 +02:00
Eric Blake
4d78ca217d maint: don't sync elisp-comp or missing from gnulib
Automake 1.13 will be changing the semantics of 'missing'; maintaining
our own copy in version control risks problems if our version does
not match automake's expectations.  As a result, gnulib no longer
mirrors 'missing'.  Furthermore, gnulib originally added the
'elisp-comp' module with the explanation that autoconf uses it, but
we don't use it anywhere other than the manner in which automake
will byte-compile our .el files; since we don't document the script,
we should be just fine using the version that was installed by automake.

See more discussion in the thread starting here:
https://lists.gnu.org/archive/html/automake-patches/2012-06/msg00154.html

* cfg.mk (gnulib-update): Drop files installed by automake and no
longer present in gnulib.
* .gitattributes: Delete references to files not in git.
2012-06-27 16:59:21 -06:00
Eric Blake
2d4eb95932 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2012-04-24 21:06:32 -06:00
Eric Blake
f35498d15c doc: fix bad @xref uses
Upstream gnulib maint.mk improvements caught a few issues we
should fix, as well as a few issues in files we copy from
other sources that we will just ignore here.

* doc/autoconf.texi (Generic Programs, Special Shell Variables)
(Limitations of Builtins): Use references correctly.
* cfg.mk
(exclude_file_name_regexp--sc_prohibit_undesirable_word_seq)
(exclude_file_name_regexp--sc_useless_cpp_parens): Add exemptions.
2012-04-24 20:14:19 -06:00
Jim Meyering
eaa96cb8bd maint: avoid "make syntax-check" failure
* cfg.mk (old_NEWS_hash): Update to reflect typo fix in old news.
2012-04-11 12:05:38 +02:00
Stefano Lattarini
20626b671f maint: drop syncing with Automake::Struct
The module Automake::Struct has been removed in automake master
branch (with yesterday's commit v1.11-2055-g74a7f49 "maint: drop
'Automake::Struct' module"): since Automake now requires Perl 5.6,
that module has become obsolete, being basically just a backport
of Perl 5.6's 'Class::Struct' to Perl 5.5.  With this change, we
follow suite in Autoconf, which syncs some of its internal modules
with Automake.

* lib/Autom4te/Struct.pm: Delete.
* lib/Autom4te/Makefile.am (dist_perllib_DATA): Don't list it
anymore.
* cfg.mk: Don't sync it with the Automake repository anymore.
* lib/Autom4te/Request.pm: Use 'Class::Struct' instead of
'Autom4te::Struct'.
2012-03-05 20:52:50 +01:00
Eric Blake
36a229e233 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2012-03-01 21:30:13 -07:00
Jim Meyering
ae930c76c7 maint: convert .x-sc_* into exclude_file_name_regexp--sc_* exemptions
Many of the .x-sc_* exemptions were no long necessary.  Remove those
files and instead, provide exemptions via variable definitions in
cfg.mk to address the few remaining exceptions.
* .x-sc_prohibit_atoi_atof: Remove file.
* .x-sc_space_tab: Likewise.
* .x-sc_sun_os_names: Likewise.
* .x-sc_trailing_blank: Likewise.
* .x-sc_two_space_separator_in_usage: Likewise.
* .x-sc_useless_cpp_parens: Likewise.
* cfg.mk: Add minimal exemptions.
* cfg.mk: Add minimal exemptions.
* doc/standards.texi (Standard C): Address the sole useless-cpp-parens
violation in this file:
-#if defined (__STDC__) || defined (WINDOWSNT)
+#if defined __STDC__ || defined WINDOWSNT
With that, the only remaining offender is config.guess, whose name
is now listed in cfg.mk.
Suggested by Eric Blake.
2012-01-23 09:12:23 +01:00
Jim Meyering
b035df38e0 maint: fix or disable failing syntax-check rules
* cfg.mk (local-checks-to-skip): List failing tests, so we skip
them, for now.
(old_NEWS_hash): Update.
* doc/autoconf.texi: Per suggestion from Eric Blake, obfuscate
the first word of "Filesystem Hierarchy Standard" as File@/system
so it continues to render as one word, yet doesn't trigger the
syntax-check prohibition.
2012-01-21 16:01:35 +01:00
Jim Meyering
d9256c2143 maint: also sync maint.mk and useless-if-before-free from gnulib
* cfg.mk (gnulib-update): Add them to the list.
* maint.mk: Update from gnulib.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/useless-if-before-free: New file, from gnulib.
* doc/gnu-oids.texi: Update.
2012-01-21 15:14:45 +01:00
Jim Meyering
2ca285bdbc maint: placate syntax-check rules: exempt some false positives
* cfg.mk: Exempt maint.mk from the "undesirable word seq" check.
Exempt maint.mk and autoconf.texi from the test_minus_ao check.
2012-01-21 15:13:32 +01:00
Stefano Lattarini
95d927ec16 maint: make position of gnulib checkout configurable
Some gnulib-related tools (most prominently, the gnulib-provided
'bootstrap' script) allow the user to define the position of his
gnulib's repository checkout through the use of the 'GNULIB_SRCDIR'
environment variable.  We should do the same, for consistency and
to easily support slightly unusual layouts in developers' source
trees.

* cfg.mk (gnulib_dir): Define to "$GNULIB_SRCDIR" if that's set,
and to default value of "'$(abs_srcdir)'/../gnulib" otherwise.
Update comments.
2012-01-21 10:48:20 +01:00
Stefano Lattarini
0383261176 getopt: sync from Automake repository
* lib/Autom4te/Getopt.am: The master copy of this file has
been moved to the  Automake repository (see Automake commit
'v1.11-662-g52246cc' 2012-01-18, "cmdline parsing: move into
a dedicated perl module").  So we now we sync it from there,
by listing it ...
* cfg.mk (autom4te_files): ... in this variable.
2012-01-20 18:14:51 +01:00
Stefano Lattarini
6ed5195ee1 maint: generate ChangeLog from git log
Following the practice set by various other GNU projects, we start
to automatically generate the ChangeLog file from the git commit
messages.  This will avoid duplication (as the ChangeLog entries
were always inserted both in the git commit message and in the
version-controlled ChangeLog file), and potential problems with
spurious merge conflicts (which, although greatly mitigated by
Bruno Haible's `git-merge-changelog' helper program, have never
been completely solved).

* ChangeLog: Moved ...
* ChangeLog.3: ... to this.
* build-aux/gitlog-to-changelog: New script, synced from gnulib.
* cfg.mk (gnulib-update): Also sync gitlog-to-changelog.
* Makefile.am (gen-ChangeLog): New .PHONY rule, generate the
ChangeLog for distribution.
(dist-hook): Depend on it.
($(srcdir)/ChangeLog): New dummy rule, to pacify automake "gnu"
strictness.  Creates a dummy ChangeLog, that will be overridden
by the proper one at distribution time.
(gen_start_date): New variable, the date starting from which the
git log entries are to be copied in the generated ChangeLog.
(EXTRA_DIST): Add ChangeLog.3 and gitlog-to-changelog.
* configure.ac (AC_CONFIG_SRCDIR): Use 'lib/autoconf/autoconf.m4'
instead of 'ChangeLog' as the sentinel file.
* .gitignore: Add ChangeLog.
2012-01-17 09:18:58 +01:00
Paul Eggert
b69f4c2834 maint: update copyright year
All files changed to add 2012, via 'make update-copyright'.
2012-01-04 00:20:24 -08:00
Eric Blake
8743e70d2f maint: document use of copyright ranges
* README: Copy coreutils wording for allowing copyright year
ranges.
* cfg.mk (UPDATE_COPYRIGHT_USE_INTERVALS): Now that GNU Coding
Standards permit it, prefer shorthand copyright.
* .x-update-copyright: Exempt an imported file.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-01-04 16:32:25 -07:00
Eric Blake
3c11ae063d post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2010-09-22 16:42:42 -06:00
Eric Blake
842807af6c build: support autobuild
* cfg.mk (gnulib-update): Add autobuild.m4.
* configure.ac (AB_INIT): Output autobuild header.
* m4/autobuild.m4: New file, from gnulib.
* build-aux/config.guess: Resync from upstream.
* build-aux/config.sub: Likewise.
* build-aux/texinfo.tex: Likewise.
* doc/fdl.texi: Likewise.
* doc/gnu-oids.texi: Likewise.
* doc/make-stds.texi: Likewise.
* doc/standards.texi: Likewise.
* build-aux/gendocs.sh: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-09-17 16:58:26 -06:00
Eric Blake
7ab1f403bd post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2010-07-21 16:19:14 -06:00
Eric Blake
6b16d0ac04 Prepare for release.
* maint.mk (PREV_VERSION_REGEXP): New macro, missed when
backporting update-NEWS_hash from gnulib.
* cfg.mk (old_NEWS_hash): Correctly generate.
* build-aux/gendocs.sh: Temporarily break sync from upstream, to
avoid including spurious directories in info source tarball.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-07-21 16:16:39 -06:00
Eric Blake
f2a851cbc5 post-release administrivia
* maint.mk (NEWS_hash): Define.
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2010-07-02 17:23:27 -06:00
Eric Blake
ceb1a26c1a Pick up some maint.mk improvements from gnulib.
* configure.ac (AM_INIT_AUTOMAKE): Require 1.11, and build xz
archives by default now.
* maint.mk (gzip_rsyncable): Avoid non-portable echo.
(VC-tag): Depend on gpg_key_ID.
(PREV_VERSION): Don't parse error as version.
(announcement): Populate email addresses with defaults.
(emit_upload_commands, web-manual): Reflect changes in scripts.
(update-NEWS-hash, emit-commit-log, release-prep): New macros.
* cfg.mk (announcement_Cc_, announcement_mail_headers_): Override
defaults.
* HACKING: Modernize a bit.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-07-02 16:47:58 -06:00
Eric Blake
acf0439102 Improve release automation.
* maint.mk (gnulib_dir, gnulib-version, bootstrap-tools)
(announcement): Copy from latest gnulib maint.mk.
* cfg.mk (announce_gen, gpg_key_ID): Delete.
(bootstrap-tools): Override the default.

Signed-off-by: Eric Blake <ebb9@byu.net>
2010-01-05 21:31:32 -07:00
Eric Blake
2b43774de1 Update upstream files.
* GNUmakefile: Update via 'make fetch'.
* build-aux/announce-gen: Likewise.
* build-aux/config.guess: Likewise.
* build-aux/config.sub: Likewise.
* build-aux/gendocs.sh: Likewise.
* build-aux/gnupload: Likewise.
* build-aux/move-if-change: Likewise.
* build-aux/update-copyright: Likewise.
* build-aux/vc-list-files: Likewise.
* doc/standards.texi: Likewise.
* cfg.mk (update-copyright-env): Enforce wrap column.

Signed-off-by: Eric Blake <ebb9@byu.net>
2010-01-05 21:13:38 -07:00
Eric Blake
b95a1aea40 Update copyright year.
All files changed to add 2010, via 'make update-copyright'.

Signed-off-by: Eric Blake <ebb9@byu.net>
2010-01-05 20:59:55 -07:00