summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-10-13 10:54:32 -0400
committerPaul Smith <psmith@gnu.org>2013-10-13 16:48:22 -0400
commit4792e154b68005f85ea0e63c6724a8c8751ece23 (patch)
tree019e0fa5ea3c43eda58aaa89cbb6752816a88038
parent188b2a0f23f45a63cfdac1c7316500458afb2062 (diff)
downloadgunmake-4792e154b68005f85ea0e63c6724a8c8751ece23.tar.gz
Convert to auto-generated ChangeLog files.
Rename existing ChangeLog files so they won't be distributed. Add targets to maintMakefile to generate ChangeLog from the Git repository. This will require a version of gnulib be available. Because ChangeLog is auto-generated, we have to switch our automake mode to "foreign" or it will complain and fail.
-rw-r--r--.gitignore2
-rw-r--r--ChangeLog.3 (renamed from ChangeLog)0
-rw-r--r--Makefile.am7
-rw-r--r--README.git14
-rw-r--r--config/ChangeLog.1 (renamed from config/ChangeLog)0
-rw-r--r--configure.ac3
-rw-r--r--doc/Makefile.am11
-rw-r--r--maintMakefile38
-rw-r--r--po/ChangeLog93
-rw-r--r--tests/ChangeLog.1 (renamed from tests/ChangeLog)0
10 files changed, 43 insertions, 125 deletions
diff --git a/.gitignore b/.gitignore
index 0173826..24db930 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,8 @@ make
# Distribution artifacts
.dep_segment
+.check-git-HEAD
+ChangeLog
Makefile.DOS
NMakefile
README
diff --git a/ChangeLog b/ChangeLog.3
index 5fcf273..5fcf273 100644
--- a/ChangeLog
+++ b/ChangeLog.3
diff --git a/Makefile.am b/Makefile.am
index 5156f47..8cbfe7e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -90,13 +90,6 @@ EXTRA_DIST = README build.sh.in $(man_MANS) \
DISTCLEANFILES = build.sh
-# Forward targets
-
-html:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-
-.PHONY: html
-
# --------------- Internationalization Section
localedir = $(datadir)/locale
diff --git a/README.git b/README.git
index 8af5815..b83ae32 100644
--- a/README.git
+++ b/README.git
@@ -31,12 +31,16 @@ make source code via Git from the FSF's Savannah project
Changes using Git
-----------------
-For non-developers, please continue to provide patches as before, or if you
+For non-developers, you can continue to provide patches as before, or if you
make a public repository I can pull from that if you prefer.
-For developers, I'm still new to Git myself, so I don't have a ton of advice.
-In this release we will continue to create ChangeLog files by hand so please
-don't forget to update the ChangeLog.
+Starting with GNU make 4.0 we no longer keep a separate ChangeLog file in
+source control. We use the Gnulib git-to-changelog conversion script to
+convert the Git comments into ChangeLog-style entries for release. As a
+result, please format your Git comments carefully so they will look clean
+after conversion. In particular, each line of your comment will have a TAB
+added before it so be sure your comment lines are not longer than 72
+characters; prefer 70 or less.
Rule #1: Don't rewrite pushed history (don't use "git push --force").
@@ -73,7 +77,7 @@ Building From Git
To build GNU make from Git, you will need Autoconf, Automake, and
Gettext, and any tools that those utilities require (GNU m4, Perl,
etc.). See the configure.ac file to find the minimum versions of each
-of these tools. You will also need a copy of wget.
+of these tools. You will also need a copy of wget and gnulib.
When building from Git you must build in the source directory: "VPATH
builds" from remote directories are not supported. Once you've created
diff --git a/config/ChangeLog b/config/ChangeLog.1
index 4e3155b..4e3155b 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog.1
diff --git a/configure.ac b/configure.ac
index c5b8b6b..7bf9ccc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,8 @@ AC_CONFIG_SRCDIR([vpath.c])
AC_CONFIG_HEADERS([config.h])
# Automake setup
-AM_INIT_AUTOMAKE([1.11.1 silent-rules])
+# We have to enable "foreign" because ChangeLog is auto-generated
+AM_INIT_AUTOMAKE([1.11.1 silent-rules foreign -Wall -Werror])
# Checks for programs.
AC_PROG_CC
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ed519a1..2242259 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -22,14 +22,3 @@ info_TEXINFOS = make.texi
make_TEXINFOS = fdl.texi make-stds.texi
CLEANFILES = make*.html
-
-## ----------------------------- ##
-## Other documentation formats. ##
-## ----------------------------- ##
-
-html: make_1.html
-
-make_1.html: $(info_TEXINFOS) $(make_TEXINFOS)
- $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi
-
-.PHONY: html
diff --git a/maintMakefile b/maintMakefile
index 12150a8..da5361f 100644
--- a/maintMakefile
+++ b/maintMakefile
@@ -2,7 +2,14 @@
# only if you have the full copy of the GNU make sources from the Git
# tree, not a dist copy.
+BUGLIST := bug-make@gnu.org
+
+# These are related to my personal setup.
GPG_FINGERPRINT := 6338B6D4
+SRCROOTDIR := $(HOME)/src
+GNULIBDIR := $(SRCROOTDIR)/gnulib
+MAKEWEBDIR := $(SRCROOTDIR)/make/make-web
+GNUWEBDIR := $(SRCROOTDIR)/gnu-www
# We like mondo-warnings!
AM_CFLAGS += -Wall -Wextra -Wdeclaration-after-statement -Wshadow -Wpointer-arith -Wbad-function-cast
@@ -99,10 +106,27 @@ git-very-clean: git-clean
-$(GIT) clean -fd
-# ----------------------------------------------------------------------
-#
-# The sections below were stolen from the Makefile.maint used by fileutils,
-# sh-utils, textutils, CPPI, Bison, and Autoconf.
+
+## ---------------------- ##
+## Generating ChangeLog. ##
+## ---------------------- ##
+
+gl2cl-date := 2013-10-10
+gl2cl := $(GNULIBDIR)/build-aux/gitlog-to-changelog
+
+# Rebuild the changelog whenever a new commit is added
+ChangeLog: .check-git-HEAD
+ if test -f '$(gl2cl)'; then \
+ '$(gl2cl)' --since='$(gl2cl-date)' > '$@'; \
+ else \
+ echo "WARNING: $(gl2cl) is not available. No $@ generated."; \
+ fi
+
+.PHONY: .check-git-HEAD
+.check-git-HEAD:
+ sha="`git rev-parse HEAD`"; \
+ [ -f '$@' ] && [ "`cat '$@' 2>/dev/null`" = "$$sha" ] \
+ || echo "$$sha" > '$@'
## ---------------- ##
@@ -210,10 +234,6 @@ checkcfg.%: distdir
&& $(MAKE) $(AM_MAKEFLAGS) check
-.PHONY: update
-update: po-update scm-update
-
-
## --------------- ##
## Sanity checks. ##
## --------------- ##
@@ -221,6 +241,8 @@ update: po-update scm-update
# Before we build a distribution be sure we run our local checks
#distdir: local-check
+.PHONY: local-check po-check changelog-check
+
# Checks that don't require Git. Run 'changelog-check' last as
# previous test may reveal problems requiring new ChangeLog entries.
local-check: po-check changelog-check
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644
index cd7de0c..0000000
--- a/po/ChangeLog
+++ /dev/null
@@ -1,93 +0,0 @@
-2013-01-06 Paul Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new load.c file.
-
-2012-01-12 Paul Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new guile.c file.
-
-2011-09-26 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation file for Czech (cs).
-
-2009-09-16 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Italian (it).
-
-2008-05-17 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Lithuanian (lt).
-
-2007-08-15 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: The Kinyarwanda (rw) translation has disappeared from
- the translation site, so remove it.
-
-2006-01-28 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Vietnamese (vi).
-
-2005-07-14 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Indonesian (id).
-
-2005-05-09 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new file vmsjobs.c.
-
-2005-04-06 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Kinywarwanda (rw).
-
-2005-02-09 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Irish (ga).
-
-2005-02-01 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Finnish (fi).
-
-2003-10-18 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Belarusian (be).
-
-2002-12-19 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Ukrainian (uk).
-
-2002-10-05 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add variable.h as it has a translatable string.
-
-2002-08-08 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN).
-
-2002-08-02 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Swedish (sv).
-
-2002-04-21 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS, hr.po: Added new translation: Croatian.
-
- * da.po, de.po, es.po, fr.po, gl.po, he.po, ja.po, ko.po, nl.po,
- pl.po, pt_BR.po, ru.po, tr.po: Moved from i18n to here.
- * .cvsignore: Moved from i18n to here.
-
- * POTFILES.in, LINGUAS, Makevars: Created.
-
-Copyright (C) 2002-2013 Free Software Foundation, Inc.
-This file is part of GNU Make.
-
-GNU Make 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 3 of the License, or (at your option) any later
-version.
-
-GNU Make 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 <http://www.gnu.org/licenses/>.
diff --git a/tests/ChangeLog b/tests/ChangeLog.1
index 653c5a7..653c5a7 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog.1