maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.
This commit is contained in:
Jim Meyering
2012-01-19 09:07:02 +01:00
parent 4aa9d1ff9c
commit 5ef4a3c71c
7 changed files with 24 additions and 8 deletions

3
.gitignore vendored
View File

@@ -1,4 +1,3 @@
/*.cache /*.cache
/*.flc /*.flc
/*.prj /*.prj
@@ -7,6 +6,7 @@
/.version /.version
/ABOUT-NLS /ABOUT-NLS
/COPYING /COPYING
/ChangeLog
/GNUmakefile /GNUmakefile
/INSTALL /INSTALL
/Makefile /Makefile
@@ -31,4 +31,3 @@
/patches /patches
/releases /releases
/stamp-h* /stamp-h*

View File

@@ -27,8 +27,7 @@ aclocaldir = @aclocaldir@
aclocal_DATA = m4/bison-i18n.m4 aclocal_DATA = m4/bison-i18n.m4
EXTRA_DIST = .prev-version .version \ EXTRA_DIST = .prev-version .version \
cfg.mk \ cfg.mk ChangeLog-1998 ChangeLog-2012 PACKAGING
OChangeLog PACKAGING
# Initialization before completion by local.mk's. # Initialization before completion by local.mk's.
AM_CFLAGS = $(WARN_CFLAGS) AM_CFLAGS = $(WARN_CFLAGS)
@@ -62,7 +61,7 @@ include tests/local.mk
BUILT_SOURCES += $(top_srcdir)/.version BUILT_SOURCES += $(top_srcdir)/.version
$(top_srcdir)/.version: configure $(top_srcdir)/.version: configure
echo $(VERSION) > $@-t && mv $@-t $@ echo $(VERSION) > $@-t && mv $@-t $@
dist-hook: dist-hook: gen-ChangeLog
echo $(VERSION) > $(distdir)/.tarball-version echo $(VERSION) > $(distdir)/.tarball-version
.PHONY: update-b4-copyright update-package-copyright-year .PHONY: update-b4-copyright update-package-copyright-year
@@ -73,3 +72,15 @@ update-b4-copyright:
@echo 'warning: src/parse-gram.[hc] may need to be regenerated.' @echo 'warning: src/parse-gram.[hc] may need to be regenerated.'
update-package-copyright-year: update-package-copyright-year:
$(build_aux)/$@ configure.ac $(build_aux)/$@ configure.ac
gen_start_date = 2012-01-16
.PHONY: gen-ChangeLog
gen-ChangeLog:
$(AM_V_GEN)if test -d .git; then \
$(top_srcdir)/build-aux/gitlog-to-changelog \
--no-cluster \
--amend=$(srcdir)/build-aux/git-log-fix \
--since=$(gen_start_date) > $(distdir)/cl-t; \
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi

View File

@@ -19,7 +19,8 @@
gnulib_modules=' gnulib_modules='
announce-gen argmatch assert calloc-posix close config-h c-strcase announce-gen argmatch assert calloc-posix close config-h c-strcase
configmake dirname error extensions fdl fopen-safer gendocs getopt-gnu configmake dirname error extensions fdl fopen-safer gendocs getopt-gnu
gettext git-version-gen gpl-3.0 hash inttypes isnan javacomp-script gettext git-version-gen gitlog-to-changelog
gpl-3.0 hash inttypes isnan javacomp-script
javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr javaexec-script ldexpl maintainer-makefile malloc-gnu mbschr mbsrchr
mbswidth obstack perror pipe-posix quote quotearg realloc-posix mbswidth obstack perror pipe-posix quote quotearg realloc-posix
spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
@@ -66,6 +67,9 @@ bootstrap_post_import_hook()
{ {
# Massage lib/gnulib.mk before using it later in the bootstrapping process. # Massage lib/gnulib.mk before using it later in the bootstrapping process.
etc/prefix-gnulib-mk lib/$gnulib_mk etc/prefix-gnulib-mk lib/$gnulib_mk
# Ensure that ChangeLog exists, for automake.
test -f ChangeLog || touch ChangeLog
} }
bootstrap_epilogue() bootstrap_epilogue()

View File

@@ -1,4 +1,3 @@
/announce-gen /announce-gen
/arg-nonnull.h /arg-nonnull.h
/c++defs.h /c++defs.h
@@ -9,6 +8,7 @@
/depcomp /depcomp
/gendocs.sh /gendocs.sh
/git-version-gen /git-version-gen
/gitlog-to-changelog
/install-sh /install-sh
/javacomp.sh.in /javacomp.sh.in
/javaexec.sh.in /javaexec.sh.in
@@ -21,4 +21,3 @@
/vc-list-files /vc-list-files
/warn-on-use.h /warn-on-use.h
/ylwrap /ylwrap

3
build-aux/git-log-fix Normal file
View File

@@ -0,0 +1,3 @@
# This file is expected to be used via gitlog-to-changelog's --amend=FILE
# option. It specifies what changes to make to each given SHA1's commit
# log and metadata, using Perl-eval'able expressions.