summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-08-14 15:14:12 -0600
committerEric Blake <ebb9@byu.net>2009-08-17 05:58:38 -0600
commit548145f74620c9deb456c9eec3f20e18968d4da7 (patch)
tree7685eb4b95b68bc13988a98226d7fa5e120ec8b9
parentaaf25cbff75978ab988076898fe54a433373303b (diff)
downloadm4-548145f74620c9deb456c9eec3f20e18968d4da7.tar.gz
Prepare to bulk update copyright year.
* gnulib: Update. * m4/gnulib-cache.m4: Import update-copyright and vc-list-files modules. * maint.mk: Fix copyright. (build_aux, VC_LIST, VC_LIST_EXCEPT, update-copyright): New macros and rules borrowed from gnulib. * cfg.mk (update-copyright-env): Enforce longhand behavior. * .cvsignore: Reflect these changes. * .gitignore: Likewise. * .x-update-copyright: New file. Signed-off-by: Eric Blake <ebb9@byu.net>
-rw-r--r--.x-update-copyright1
-rw-r--r--ChangeLog14
-rw-r--r--build-aux/.cvsignore2
-rw-r--r--build-aux/.gitignore2
-rw-r--r--cfg.mk3
m---------gnulib0
-rw-r--r--m4/gnulib-cache.m44
-rw-r--r--maint.mk27
8 files changed, 51 insertions, 2 deletions
diff --git a/.x-update-copyright b/.x-update-copyright
new file mode 100644
index 00000000..725ba407
--- /dev/null
+++ b/.x-update-copyright
@@ -0,0 +1 @@
+m4/gnulib-cache.m4
diff --git a/ChangeLog b/ChangeLog
index c0379e92..052f019a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-08-17 Eric Blake <ebb9@byu.net>
+
+ Prepare to bulk update copyright year.
+ * gnulib: Update.
+ * m4/gnulib-cache.m4: Import update-copyright and vc-list-files
+ modules.
+ * maint.mk: Fix copyright.
+ (build_aux, VC_LIST, VC_LIST_EXCEPT, update-copyright): New macros
+ and rules borrowed from gnulib.
+ * cfg.mk (update-copyright-env): Enforce longhand behavior.
+ * .cvsignore: Reflect these changes.
+ * .gitignore: Likewise.
+ * .x-update-copyright: New file.
+
2009-08-14 Eric Blake <ebb9@byu.net>
Explicitly request GNU getopt extensions.
diff --git a/build-aux/.cvsignore b/build-aux/.cvsignore
index 8196f1a4..8390c932 100644
--- a/build-aux/.cvsignore
+++ b/build-aux/.cvsignore
@@ -4,3 +4,5 @@ gendocs.sh
git-version-gen
gnupload
link-warning.h
+update-copyright
+vc-list-files
diff --git a/build-aux/.gitignore b/build-aux/.gitignore
index b82803d9..b88d40c6 100644
--- a/build-aux/.gitignore
+++ b/build-aux/.gitignore
@@ -4,3 +4,5 @@
/git-version-gen
/gnupload
/link-warning.h
+/update-copyright
+/vc-list-files
diff --git a/cfg.mk b/cfg.mk
index 3dda9f67..9db25836 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -39,3 +39,6 @@ local-checks-to-skip = changelog-check
# The local directory containing the checked-out copy of gnulib used in this
# release. Used solely to get gnulib's SHA1 for the "announcement" target.
gnulib_dir = $(srcdir)/gnulib
+
+# Always use longhand copyrights.
+update-copyright-env = UPDATE_COPYRIGHT_USE_INTERVALS=0
diff --git a/gnulib b/gnulib
-Subproject 2f5181b1a247323cb2a4a4c6165997674866bb2
+Subproject 077d9afeabe70728bec79f7ea9eff0264a7fccd
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index c808284f..b3bbb7db 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -15,7 +15,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --local-dir=local --lib=libm4 --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --with-tests --avoid=lock-tests --avoid=tls-tests --no-libtool --macro-prefix=M4 announce-gen assert autobuild avltree-oset binary-io c-stack clean-temp cloexec close-stream closein config-h dirname error execute fdl-1.3 fflush filenamecat fopen fopen-safer fseeko gendocs getopt-gnu git-version-gen gnumakefile gnupload gpl-3.0 intprops memchr2 mkstemp obstack pipe progname regex sigaction stdbool stdint stdlib-safer strsignal strstr strtod strtol unlocked-io verror version-etc version-etc-fsf wait-process xalloc xprintf xvasprintf-posix
+# gnulib-tool --import --dir=. --local-dir=local --lib=libm4 --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --with-tests --avoid=lock-tests --avoid=tls-tests --no-libtool --macro-prefix=M4 announce-gen assert autobuild avltree-oset binary-io c-stack clean-temp cloexec close-stream closein config-h dirname error execute fdl-1.3 fflush filenamecat fopen fopen-safer fseeko gendocs getopt-gnu git-version-gen gnumakefile gnupload gpl-3.0 intprops memchr2 mkstemp obstack pipe progname regex sigaction stdbool stdint stdlib-safer strsignal strstr strtod strtol unlocked-io update-copyright vc-list-files verror version-etc version-etc-fsf wait-process xalloc xprintf xvasprintf-posix
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([local])
@@ -62,6 +62,8 @@ gl_MODULES([
strtod
strtol
unlocked-io
+ update-copyright
+ vc-list-files
verror
version-etc
version-etc-fsf
diff --git a/maint.mk b/maint.mk
index 5b3f7cc2..a50c727e 100644
--- a/maint.mk
+++ b/maint.mk
@@ -1,7 +1,7 @@
## maint.mk -- Makefile rules for m4 maintainers -*-Makefile-*-
##
## Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-## Foundation
+## Foundation, Inc.
##
## This file is part of GNU M4.
##
@@ -22,6 +22,9 @@
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
ME := maint.mk
+# Override this in cfg.mk if you use a non-standard build-aux directory.
+build_aux ?= $(srcdir)/build-aux
+
# Do not save the original name or timestamp in the .tar.gz file.
# Use --rsyncable if available.
gzip_rsyncable := \
@@ -32,6 +35,11 @@ GIT = git
VC = $(GIT)
VC-tag = git tag -s -m '$(VERSION)' -u $(gpg_key_ID)
+VC_LIST = $(build_aux)/vc-list-files -C $(srcdir)
+
+VC_LIST_EXCEPT = \
+ $(VC_LIST) | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; else grep -v ChangeLog; fi
+
VERSION_REGEXP = $(subst .,\.,$(VERSION))
my_distdir = $(PACKAGE)-$(VERSION)
@@ -198,3 +206,20 @@ web-manual:
--email $(PACKAGE_BUGREPORT) $(PACKAGE) \
"$(PACKAGE_NAME) - $(manual_title)"
@echo " *** Upload the doc/manual directory to web-cvs."
+
+# If you want to set UPDATE_COPYRIGHT_* environment variables,
+# put the assignments in this variable.
+update-copyright-env ?=
+
+# Run this rule once per year (usually early in January)
+# to update all FSF copyright year lists in your project.
+# If you have an additional project-specific rule,
+# add it in cfg.mk along with a line 'update-copyright: prereq'.
+# By default, exclude all variants of COPYING; you can also
+# add exemptions (such as ChangeLog..* for rotated change logs)
+# in the file .x-update-copyright.
+.PHONY: update-copyright
+update-copyright:
+ grep -l -w Copyright $$($(VC_LIST_EXCEPT)) \
+ $(srcdir)/ChangeLog | grep -v COPYING \
+ | $(update-copyright-env) xargs $(build_aux)/$@