maint: generate ChangeLog from git log
authorJim Meyering <meyering@redhat.com>
Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)
committerAkim Demaille <demaille@gostai.com>
Tue, 24 Jan 2012 18:58:18 +0000 (19:58 +0100)
* 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.
(cherry picked from commit 5ef4a3c71cfd6c07e71462944281c284780312c1)

Conflicts:

Makefile.am
bootstrap.conf
build-aux/.gitignore

.gitignore
ChangeLog-1998 [moved from OChangeLog with 100% similarity]
ChangeLog-2012 [moved from ChangeLog with 100% similarity]
Makefile.am
bootstrap.conf
build-aux/.gitignore
build-aux/git-log-fix [new file with mode: 0644]
m4/.gitignore

index 27f9b06..a2ac6ce 100644 (file)
@@ -1,4 +1,3 @@
-
 /*.cache
 /*.flc
 /*.prj
@@ -7,6 +6,7 @@
 /.version
 /ABOUT-NLS
 /COPYING
+/ChangeLog
 /GNUmakefile
 /INSTALL
 /Makefile
@@ -31,4 +31,3 @@
 /patches
 /releases
 /stamp-h*
-
similarity index 100%
rename from OChangeLog
rename to ChangeLog-1998
similarity index 100%
rename from ChangeLog
rename to ChangeLog-2012
index ffc7766..20f1e2d 100644 (file)
@@ -23,14 +23,13 @@ SUBDIRS = build-aux po runtime-po lib data src doc examples tests etc
 aclocaldir = @aclocaldir@
 aclocal_DATA = m4/bison-i18n.m4
 
-EXTRA_DIST = .prev-version .version cfg.mk \
-  OChangeLog PACKAGING \
+EXTRA_DIST = .prev-version .version \
+  cfg.mk ChangeLog-1998 ChangeLog-2012 PACKAGING \
   djgpp/Makefile.maint djgpp/README.in djgpp/config.bat \
   djgpp/config.sed djgpp/config.site djgpp/config_h.sed \
   djgpp/subpipe.c djgpp/subpipe.h djgpp/djunpack.bat \
   djgpp/fnchange.lst djgpp/testsuite.sed
 
-
 .PHONY: maintainer-check
 maintainer-check:
        cd tests && $(MAKE) $(AM_MAKEFLAGS) $@
@@ -55,7 +54,7 @@ maintainer-xml-check:
 BUILT_SOURCES = $(top_srcdir)/.version
 $(top_srcdir)/.version: configure
        echo $(VERSION) > $@-t && mv $@-t $@
-dist-hook:
+dist-hook: gen-ChangeLog
        echo $(VERSION) > $(distdir)/.tarball-version
 
 .PHONY: update-b4-copyright update-package-copyright-year
@@ -66,3 +65,15 @@ update-b4-copyright:
        @echo 'warning: src/parse-gram.[hc] may need to be regenerated.'
 update-package-copyright-year:
        $(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
index 0f8487b..90ba6e5 100644 (file)
@@ -19,7 +19,8 @@
 gnulib_modules='
   announce-gen argmatch assert calloc-posix close config-h c-strcase
   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
   mbswidth obstack perror pipe-posix quote quotearg realloc-posix
   spawn-pipe stdbool stpcpy strdup-posix strerror strtoul strverscmp
@@ -60,6 +61,14 @@ excluded_files='
     m4/visibility.m4
 '
 
+gnulib_tool_option_extras='--symlink --makefile-name=gnulib.mk'
+
+bootstrap_post_import_hook()
+{
+  # Ensure that ChangeLog exists, for automake.
+  test -f ChangeLog || touch ChangeLog
+}
+
 bootstrap_epilogue()
 {
   # Make sure we don't need src/bison, which usually doesn't exist at
index 582cc36..f09add4 100644 (file)
@@ -1,4 +1,3 @@
-
 /Makefile
 /Makefile.in
 /announce-gen
@@ -11,6 +10,7 @@
 /depcomp
 /gendocs.sh
 /git-version-gen
+/gitlog-to-changelog
 /install-sh
 /javacomp.sh.in
 /javaexec.sh.in
@@ -23,4 +23,3 @@
 /vc-list-files
 /warn-on-use.h
 /ylwrap
-
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
new file mode 100644 (file)
index 0000000..af702fe
--- /dev/null
@@ -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.
index c50ed39..f46e164 100644 (file)
 /raise.m4
 /ssize_t.m4
 /strerror_r.m4
+/gnulib-comp.m4