From: Daiki Ueno Date: Wed, 14 Oct 2015 01:20:34 +0000 (+0900) Subject: build: Remove ChangeLogs X-Git-Tag: v0.19.7~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=614ff78da50d3b16b538c07d338dc4a9b32d6261;p=thirdparty%2Fgettext.git build: Remove ChangeLogs 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. --- diff --git a/.gitignore b/.gitignore index e1d1d2e56..a5d79ac2c 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Admin/release-steps b/Admin/release-steps index c568442f3..5ffeaf137 100644 --- a/Admin/release-steps +++ b/Admin/release-steps @@ -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 index 4ebc66809..000000000 --- a/Admin/update-changelog +++ /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 . -# - -# 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 < - - * gettext $ver released. - -EOF - cat $file; } > $file.tmp && mv $file.tmp $file; } -done diff --git a/ChangeLog b/ChangeLog.1 similarity index 100% rename from ChangeLog rename to ChangeLog.1 diff --git a/HACKING b/HACKING index 6e94e3f36..505a16dd5 100644 --- 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 diff --git a/Makefile.am b/Makefile.am index 56e058565..002e8f6b4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/autogen.sh b/autogen.sh index 3af53f263..ca0468af5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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..." diff --git a/gettext-runtime/ChangeLog b/gettext-runtime/ChangeLog.0 similarity index 100% rename from gettext-runtime/ChangeLog rename to gettext-runtime/ChangeLog.0 diff --git a/gettext-runtime/doc/ChangeLog b/gettext-runtime/doc/ChangeLog.0 similarity index 100% rename from gettext-runtime/doc/ChangeLog rename to gettext-runtime/doc/ChangeLog.0 diff --git a/gettext-runtime/intl-csharp/ChangeLog b/gettext-runtime/intl-csharp/ChangeLog.0 similarity index 100% rename from gettext-runtime/intl-csharp/ChangeLog rename to gettext-runtime/intl-csharp/ChangeLog.0 diff --git a/gettext-runtime/intl-java/ChangeLog b/gettext-runtime/intl-java/ChangeLog.0 similarity index 100% rename from gettext-runtime/intl-java/ChangeLog rename to gettext-runtime/intl-java/ChangeLog.0 diff --git a/gettext-runtime/libasprintf/ChangeLog b/gettext-runtime/libasprintf/ChangeLog.0 similarity index 100% rename from gettext-runtime/libasprintf/ChangeLog rename to gettext-runtime/libasprintf/ChangeLog.0 diff --git a/gettext-runtime/m4/ChangeLog b/gettext-runtime/m4/ChangeLog.0 similarity index 100% rename from gettext-runtime/m4/ChangeLog rename to gettext-runtime/m4/ChangeLog.0 diff --git a/gettext-runtime/man/ChangeLog b/gettext-runtime/man/ChangeLog.0 similarity index 100% rename from gettext-runtime/man/ChangeLog rename to gettext-runtime/man/ChangeLog.0 diff --git a/gettext-runtime/src/ChangeLog b/gettext-runtime/src/ChangeLog.0 similarity index 100% rename from gettext-runtime/src/ChangeLog rename to gettext-runtime/src/ChangeLog.0 diff --git a/gettext-runtime/tests/ChangeLog b/gettext-runtime/tests/ChangeLog.0 similarity index 100% rename from gettext-runtime/tests/ChangeLog rename to gettext-runtime/tests/ChangeLog.0 diff --git a/gettext-tools/ChangeLog b/gettext-tools/ChangeLog.0 similarity index 100% rename from gettext-tools/ChangeLog rename to gettext-tools/ChangeLog.0 diff --git a/gettext-tools/doc/ChangeLog b/gettext-tools/doc/ChangeLog.1 similarity index 100% rename from gettext-tools/doc/ChangeLog rename to gettext-tools/doc/ChangeLog.1 diff --git a/gettext-tools/doc/Makefile.am b/gettext-tools/doc/Makefile.am index fed7fd63d..904ebe4bb 100644 --- a/gettext-tools/doc/Makefile.am +++ b/gettext-tools/doc/Makefile.am @@ -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 diff --git a/gettext-tools/examples/ChangeLog b/gettext-tools/examples/ChangeLog.0 similarity index 100% rename from gettext-tools/examples/ChangeLog rename to gettext-tools/examples/ChangeLog.0 diff --git a/gettext-tools/gnulib-tests/ChangeLog b/gettext-tools/gnulib-tests/ChangeLog.0 similarity index 100% rename from gettext-tools/gnulib-tests/ChangeLog rename to gettext-tools/gnulib-tests/ChangeLog.0 diff --git a/gettext-tools/libgettextpo/ChangeLog b/gettext-tools/libgettextpo/ChangeLog.0 similarity index 100% rename from gettext-tools/libgettextpo/ChangeLog rename to gettext-tools/libgettextpo/ChangeLog.0 diff --git a/gettext-tools/libgrep/ChangeLog b/gettext-tools/libgrep/ChangeLog.0 similarity index 100% rename from gettext-tools/libgrep/ChangeLog rename to gettext-tools/libgrep/ChangeLog.0 diff --git a/gettext-tools/m4/ChangeLog b/gettext-tools/m4/ChangeLog.0 similarity index 100% rename from gettext-tools/m4/ChangeLog rename to gettext-tools/m4/ChangeLog.0 diff --git a/gettext-tools/man/ChangeLog b/gettext-tools/man/ChangeLog.1 similarity index 100% rename from gettext-tools/man/ChangeLog rename to gettext-tools/man/ChangeLog.1 diff --git a/gettext-tools/man/Makefile.am b/gettext-tools/man/Makefile.am index 70258123b..e13dc25b2 100644 --- a/gettext-tools/man/Makefile.am +++ b/gettext-tools/man/Makefile.am @@ -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@ diff --git a/gettext-tools/misc/ChangeLog b/gettext-tools/misc/ChangeLog.0 similarity index 100% rename from gettext-tools/misc/ChangeLog rename to gettext-tools/misc/ChangeLog.0 diff --git a/gettext-tools/projects/ChangeLog b/gettext-tools/projects/ChangeLog.0 similarity index 100% rename from gettext-tools/projects/ChangeLog rename to gettext-tools/projects/ChangeLog.0 diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog.1 similarity index 100% rename from gettext-tools/src/ChangeLog rename to gettext-tools/src/ChangeLog.1 diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am index 61da5c4eb..d88b8fda6 100644 --- a/gettext-tools/src/Makefile.am +++ b/gettext-tools/src/Makefile.am @@ -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 diff --git a/gettext-tools/styles/ChangeLog b/gettext-tools/styles/ChangeLog.0 similarity index 100% rename from gettext-tools/styles/ChangeLog rename to gettext-tools/styles/ChangeLog.0 diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog.1 similarity index 100% rename from gettext-tools/tests/ChangeLog rename to gettext-tools/tests/ChangeLog.1 diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index 0da1787a5..a1f4a5927 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -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 \ diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog.0 similarity index 100% rename from gnulib-local/ChangeLog rename to gnulib-local/ChangeLog.0 diff --git a/gnulib-local/Makefile.am b/gnulib-local/Makefile.am index 9b217e598..34ebea956 100644 --- a/gnulib-local/Makefile.am +++ b/gnulib-local/Makefile.am @@ -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 \