]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
build: Remove ChangeLogs
authorDaiki Ueno <ueno@gnu.org>
Wed, 14 Oct 2015 01:20:34 +0000 (10:20 +0900)
committerDaiki Ueno <ueno@gnu.org>
Wed, 14 Oct 2015 06:00:09 +0000 (15:00 +0900)
Generate ChangeLog files at "make dist" time, using
gitlog-to-changelog.  We still keep ChangeLog files under "po" and
"intl" directories, since those files are copied as part of gettext
infrastructure and it is still meaningful to have them there.
* .gitignore: Add ChangeLog files.
* Admin/release-steps: Remove mention of running update-changelog
script.
* Admin/update-changelog: Remove.
* Makefile.am (gen-ChangeLog): New rule.
* autogen.sh: Copy gitlog-to-changelog from gnulib.  Create empty
ChangeLog files to suppress Automake errors.
* gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
* gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files.
* */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1.
* HACKING: Add brief guideline to submit patches.

35 files changed:
.gitignore
Admin/release-steps
Admin/update-changelog [deleted file]
ChangeLog.1 [moved from ChangeLog with 100% similarity]
HACKING
Makefile.am
autogen.sh
gettext-runtime/ChangeLog.0 [moved from gettext-runtime/ChangeLog with 100% similarity]
gettext-runtime/doc/ChangeLog.0 [moved from gettext-runtime/doc/ChangeLog with 100% similarity]
gettext-runtime/intl-csharp/ChangeLog.0 [moved from gettext-runtime/intl-csharp/ChangeLog with 100% similarity]
gettext-runtime/intl-java/ChangeLog.0 [moved from gettext-runtime/intl-java/ChangeLog with 100% similarity]
gettext-runtime/libasprintf/ChangeLog.0 [moved from gettext-runtime/libasprintf/ChangeLog with 100% similarity]
gettext-runtime/m4/ChangeLog.0 [moved from gettext-runtime/m4/ChangeLog with 100% similarity]
gettext-runtime/man/ChangeLog.0 [moved from gettext-runtime/man/ChangeLog with 100% similarity]
gettext-runtime/src/ChangeLog.0 [moved from gettext-runtime/src/ChangeLog with 100% similarity]
gettext-runtime/tests/ChangeLog.0 [moved from gettext-runtime/tests/ChangeLog with 100% similarity]
gettext-tools/ChangeLog.0 [moved from gettext-tools/ChangeLog with 100% similarity]
gettext-tools/doc/ChangeLog.1 [moved from gettext-tools/doc/ChangeLog with 100% similarity]
gettext-tools/doc/Makefile.am
gettext-tools/examples/ChangeLog.0 [moved from gettext-tools/examples/ChangeLog with 100% similarity]
gettext-tools/gnulib-tests/ChangeLog.0 [moved from gettext-tools/gnulib-tests/ChangeLog with 100% similarity]
gettext-tools/libgettextpo/ChangeLog.0 [moved from gettext-tools/libgettextpo/ChangeLog with 100% similarity]
gettext-tools/libgrep/ChangeLog.0 [moved from gettext-tools/libgrep/ChangeLog with 100% similarity]
gettext-tools/m4/ChangeLog.0 [moved from gettext-tools/m4/ChangeLog with 100% similarity]
gettext-tools/man/ChangeLog.1 [moved from gettext-tools/man/ChangeLog with 100% similarity]
gettext-tools/man/Makefile.am
gettext-tools/misc/ChangeLog.0 [moved from gettext-tools/misc/ChangeLog with 100% similarity]
gettext-tools/projects/ChangeLog.0 [moved from gettext-tools/projects/ChangeLog with 100% similarity]
gettext-tools/src/ChangeLog.1 [moved from gettext-tools/src/ChangeLog with 100% similarity]
gettext-tools/src/Makefile.am
gettext-tools/styles/ChangeLog.0 [moved from gettext-tools/styles/ChangeLog with 100% similarity]
gettext-tools/tests/ChangeLog.1 [moved from gettext-tools/tests/ChangeLog with 100% similarity]
gettext-tools/tests/Makefile.am
gnulib-local/ChangeLog.0 [moved from gnulib-local/ChangeLog with 100% similarity]
gnulib-local/Makefile.am

index e1d1d2e5643dc8aef4d4f248446e78a5dff498f5..a5d79ac2c12224f113be0ef7caf5144cb378de77 100644 (file)
@@ -34,6 +34,13 @@ stamp-h1
 Makefile.in
 Makefile
 
+/ChangeLog
+/gettext-runtime/ChangeLog
+/gettext-runtime/libasprintf/ChangeLog
+/gettext-tools/ChangeLog
+/gettext-tools/examples/ChangeLog
+
 /build-aux/git-version-gen
+/build-aux/gitlog-to-changelog
 /build-aux/snippet
 /build-aux/test-driver
index c568442f3a090443e25764d682cee1b52f084534..5ffeaf137b16425bc5ac35cf42d65d7975db4d5a 100644 (file)
@@ -122,12 +122,6 @@ Release procedure
 
   and commit the changes.
 
-* Update all ChangeLogs:
-
-    ./Admin/update-changelog
-
-  and commit the changes.
-
 * Create a release:
 
     git clean -xdff
diff --git a/Admin/update-changelog b/Admin/update-changelog
deleted file mode 100755 (executable)
index 4ebc668..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2014-2015 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
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program 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/>.
-#
-
-# This file is meant for maintainers of GNU gettext.  It prepends a
-# release-announcement entry to all ChangeLog files.
-#
-#   Usage: update-changelog VERSION USER EMAIL
-
-test $# == 3 || { echo "Usage: $0 VERSION USER EMAIL" 1>&2; exit 1; }
-
-if test ! -d gettext-runtime || test ! -d gettext-tools; then
-  echo "$0: run in the top-level directory" 1>&2
-  exit 1
-fi
-
-ver=$1
-user=$2
-email=$3
-
-for file in `find . -name "ChangeLog"`; do
-  test $file = "./gnulib/ChangeLog" \
-    || test $file = "./gettext-tools/examples/hello-c++-kde/admin/ChangeLog" \
-    || { { date=`date -u +%Y-%m-%d`;
-           cat <<EOF
-$date  $user  <$email>
-
-       * gettext $ver released.
-
-EOF
-           cat $file; } > $file.tmp && mv $file.tmp $file; }
-done
similarity index 100%
rename from ChangeLog
rename to ChangeLog.1
diff --git a/HACKING b/HACKING
index 6e94e3f36ef61ee48f5d75f77d298e951d874fdf..505a16dd5912187c34dd23f0daed5b521029b3e1 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -73,3 +73,24 @@ After fetching the sources from the repository, peek at the comments in
 autogen.sh, then run "./autogen.sh"; then you can proceed with "./configure"
 as usual.
 
+Submitting patches
+==================
+
+Patches should be sent to bug-gettext@gnu.org, the bug/feature mailing
+list.  You can subscribe to the mailing list, or see the list
+archives, by following links from
+http://savannah.gnu.org/mail/?group=gettext .
+
+To email a patch you can use a shell command like 'git format-patch
+-1' to create a file, and then attach the file to your email.  
+
+GNU gettext development no longer stores descriptions of new changes
+in ChangeLog files.  Instead, a single ChangeLog file is generated
+from the commit messages when a release is prepared.  So changes you
+commit should not touch any of the ChangeLog files in the repository,
+but instead should contain the log entries in the commit message.
+
+For the style of a ChangeLog entry, see the "Change Logs" section of
+the GNU coding standards:
+
+  http://www.gnu.org/prep/standards/html_node/Change-Logs.html
index 56e058565968b0fe8748e82191b5eb35a64c39ad..002e8f6b4921714172031198de07156bfd22b8bd 100644 (file)
@@ -21,6 +21,39 @@ ACLOCAL_AMFLAGS = -I m4
 
 SUBDIRS = gnulib-local gettext-runtime gettext-tools
 
+changelog_etc = \
+  gettext-runtime/ChangeLog.0 \
+  gettext-runtime/doc/ChangeLog.0 \
+  gettext-runtime/intl-csharp/ChangeLog.0 \
+  gettext-runtime/intl-java/ChangeLog.0 \
+  gettext-runtime/intl/ChangeLog.0 \
+  gettext-runtime/libasprintf/ChangeLog.0 \
+  gettext-runtime/m4/ChangeLog.0 \
+  gettext-runtime/man/ChangeLog.0 \
+  gettext-runtime/po/ChangeLog.0 \
+  gettext-runtime/src/ChangeLog.0 \
+  gettext-runtime/tests/ChangeLog.0 \
+  gettext-tools/ChangeLog.0 \
+  gettext-tools/doc/ChangeLog.0 \
+  gettext-tools/doc/ChangeLog.1 \
+  gettext-tools/examples/ChangeLog.0 \
+  gettext-tools/gnulib-tests/ChangeLog.0 \
+  gettext-tools/libgettextpo/ChangeLog.0 \
+  gettext-tools/libgrep/ChangeLog.0 \
+  gettext-tools/m4/ChangeLog.0 \
+  gettext-tools/man/ChangeLog.0 \
+  gettext-tools/man/ChangeLog.1 \
+  gettext-tools/misc/ChangeLog.0 \
+  gettext-tools/po/ChangeLog.0 \
+  gettext-tools/po/ChangeLog.1 \
+  gettext-tools/projects/ChangeLog.0 \
+  gettext-tools/src/ChangeLog.0 \
+  gettext-tools/src/ChangeLog.1 \
+  gettext-tools/styles/ChangeLog.0 \
+  gettext-tools/tests/ChangeLog.0 \
+  gettext-tools/tests/ChangeLog.1 \
+  gnulib-local/ChangeLog.0
+
 EXTRA_DIST = \
   DEPENDENCIES PACKAGING HACKING ChangeLog.0 autogen.sh \
   build-aux/ac-help.sed build-aux/moopp build-aux/git-version-gen \
@@ -125,9 +158,25 @@ EXTRA_DIST += $(top_srcdir)/.version
 BUILT_SOURCES = $(top_srcdir)/.version
 $(top_srcdir)/.version:
        echo $(VERSION) > $@-t && mv $@-t $@
-dist-hook:
+dist-hook: gen-ChangeLog
        echo $(VERSION) > $(distdir)/.tarball-version
 
+# Generate ChangeLog.
+
+gen_start_date = 2015-10-13
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d .git; then                                \
+         log_fix="$(srcdir)/build-aux/git-log-fix";                    \
+         test -e "$$log_fix"                                           \
+           && amend_git_log="--amend=$$log_fix"                        \
+           || amend_git_log=;                                          \
+         $(top_srcdir)/build-aux/gitlog-to-changelog                   \
+           $$amend_git_log --since=$(gen_start_date) > $(distdir)/cl-t && \
+           { rm -f $(distdir)/ChangeLog &&                             \
+             mv $(distdir)/cl-t $(distdir)/ChangeLog; }                \
+       fi
+
 # PO files update.
 
 maintainer-update-po-local: $(top_builddir)/config.status
index 3af53f263855801806fc215123cf31803cd6e08d..ca0468af5578ffb313bbfd5e82a4ab064ed1ff3e 100755 (executable)
@@ -377,6 +377,7 @@ if ! $skip_gnulib; then
     # Import build tools.  We use --copy-file to avoid directory creation.
     $GNULIB_TOOL --copy-file tests/init.sh gettext-tools || exit $?
     $GNULIB_TOOL --copy-file build-aux/git-version-gen || exit $?
+    $GNULIB_TOOL --copy-file build-aux/gitlog-to-changelog || exit $?
   fi
 fi
 
@@ -414,6 +415,28 @@ if ! test -f gettext-tools/misc/archive.dir.tar; then
   test $retval -eq 0 || exit $retval
 fi
 
+# Automake requires that ChangeLog exist.
+for dir in . gettext-runtime gettext-runtime/libasprintf \
+           gettext-tools gettext-tools/examples; do
+  cat > "$dir/ChangeLog" <<\EOF
+No more ChangeLog files
+========================
+Do not modify any of the ChangeLog files in gettext.  Starting on
+October 14th, 2015 we put changelog information only in the git commit
+log, and generate a top-level ChangeLog file from logs at "make dist"
+time.
+
+This rule doesn't apply to the ChangeLog files under "intl" and "po"
+directories, because those files are distributed as part of gettext
+infrastructure files pulled with the autopoint program.
+
+Local Variables:
+buffer-read-only: t
+mode: text
+End:
+EOF
+done
+
 # Generate configure script in each subdirectories.
 (cd gettext-runtime/libasprintf
  echo "$0: generating configure in gettext-runtime/libasprintf..."
index fed7fd63d887ef442f9627715e68a55717385617..904ebe4bb37ac04c7bf2e5e5984422ef9443eee7 100644 (file)
@@ -51,8 +51,7 @@ EXTRA_DIST += $(doc_DATA)
 EXTRA_DIST += \
   iso-639.sed iso-639-2.sed iso-3166.sed \
   ISO_639 ISO_639-2 ISO_3166 ISO_3166_de \
-  texi2html \
-  ChangeLog.0
+  texi2html
 
 iso-639.texi: ISO_639 iso-639.sed
        $(SED) -f $(srcdir)/iso-639.sed $(srcdir)/ISO_639 > iso-639.tmp
index 70258123b371fdd02012ebcc46118c0f1abad1f0..e13dc25b29783ffeffbc6436112fe921c7acba9f 100644 (file)
@@ -51,7 +51,7 @@ msgexec.1.html msgfilter.1.html msggrep.1.html msginit.1.html msguniq.1.html \
 recode-sr-latin.1.html \
 gettextize.1.html autopoint.1.html
 
-EXTRA_DIST += help2man $(man_aux) $(man_MANS) $(man_HTML) ChangeLog.0
+EXTRA_DIST += help2man $(man_aux) $(man_MANS) $(man_HTML)
 MAINTAINERCLEANFILES = $(man_MANS) $(man_HTML)
 
 PERL = @PERL@
index 61da5c4ebb343a17d100c7291e8b52986811d87e..d88b8fda63c1d0aa3100dae33bfce93f4b1ec3bd 100644 (file)
@@ -57,7 +57,7 @@ x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \
 x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h x-lua.h \
 x-javascript.h x-vala.h x-gsettings.h x-desktop.h x-appdata.h libexpat-compat.h
 
-EXTRA_DIST += FILES project-id ChangeLog.0
+EXTRA_DIST += FILES project-id
 
 aliaspath = $(localedir)
 jardir = $(datadir)/gettext
index 0da1787a5fd407b6aaba1c5f393398e1dc3fe5b9..a1f4a59279c56e9e7ed441cf68c9f28eefa3b579 100644 (file)
@@ -157,7 +157,6 @@ EXTRA_DIST += init.sh init.cfg $(TESTS) \
        msguniq-a.in msguniq-a.inp msguniq-a.out \
        qttest_pl.po qttest_pl.qm \
        qttest2_de.po qttest2_de.qm qttest2_de.ts \
-       ChangeLog.0 \
        gettext-3-1.po gettext-3-2.po gettext-4.po gettext-5.po \
        gettext-6-1.po gettext-6-2.po gettext-7.po \
        gettextpo-1.de.po \
index 9b217e5981fd96612dc0f0876efb000505fc0178..34ebea956fe7515cd9a9d7063c49f79c5f15186f 100644 (file)
@@ -18,9 +18,8 @@
 ## Process this file with automake to produce Makefile.in.
 
 # Generate this list with
-# find . '(' -name CVS -o -name Makefile.am ')' -prune -o -type f '!' '(' -name '*.orig' -or -name '*~' ')' -printf '%P\n' | sort | tr '\012' @ | sed 's/@$/%/;s/@/ \\@/g' | tr @% '\012\012'
+# find . '(' -name CVS -o -name Makefile.am ')' -prune -o -type f '!' '(' -name '*.orig' -or -name '*~' -or -name 'ChangeLog.*' ')' -printf '%P\n' | sort | tr '\012' @ | sed 's/@$/%/;s/@/ \\@/g' | tr @% '\012\012'
 EXTRA_DIST = \
-ChangeLog \
 build-aux/moopp \
 lib/addext.c \
 lib/alloca.in.h \
@@ -29,8 +28,6 @@ lib/backupfile.c \
 lib/backupfile.h \
 lib/basename.c \
 lib/basename.h \
-lib/ChangeLog.0 \
-lib/ChangeLog.1 \
 lib/closeout.c \
 lib/closeout.h \
 lib/error.h.diff \
@@ -250,8 +247,6 @@ lib/xmalloc.c \
 lib/xstrdup.c \
 m4/alloca.m4 \
 m4/backupfile.m4 \
-m4/ChangeLog.0 \
-m4/ChangeLog.1 \
 m4/curses.m4 \
 m4/gcj.m4 \
 m4/hard-locale.m4.diff \