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
and commit the changes.
-* Update all ChangeLogs:
-
- ./Admin/update-changelog
-
- and commit the changes.
-
* Create a release:
git clean -xdff
+++ /dev/null
-#!/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
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
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 \
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
# 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
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..."
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
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@
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
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 \
## 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 \
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 \
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 \