m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.18-1-ge


From: Eric Blake
Subject: [SCM] GNU M4 source repository branch, branch-1.4, updated. v1.4.18-1-ge0140bd
Date: Sat, 31 Dec 2016 22:58:11 +0000 (UTC)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU M4 source repository".

http://git.sv.gnu.org/gitweb/?p=m4.git;a=commitdiff;h=e0140bd91ce0d2dfcdd1df22472d81ed13489d46

The branch, branch-1.4 has been updated
       via  e0140bd91ce0d2dfcdd1df22472d81ed13489d46 (commit)
       via  9ee883e1bf1160b2733e7fb4b3efc4af86562653 (commit)
       via  ab2d4f541178c84c19d095b6e438e6a9ae309303 (commit)
       via  753698baa9a3fadd0fef27db27376f7a09c9ccc5 (commit)
       via  5456676ea90dfedd9b54c843f15b006d02150d06 (commit)
       via  658427104bbe515249f728d8524e975167e6533d (commit)
      from  b4a08ecfd34e703bd846f1e85b4e2a94a34b16d9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e0140bd91ce0d2dfcdd1df22472d81ed13489d46
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 16:38:03 2016 -0600

    maint: post-release administrivia
    
    * NEWS: Add header line for next release.
    * .prev-version: Record previous version.
    * cfg.mk (old_NEWS_hash): Auto-update.

commit 9ee883e1bf1160b2733e7fb4b3efc4af86562653
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 16:35:51 2016 -0600

    version 1.4.18
    
    * NEWS: Record release date.

commit ab2d4f541178c84c19d095b6e438e6a9ae309303
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 16:34:45 2016 -0600

    doc: abbreviate and update release history
    
    * doc/m4.texi (History): Shorten, and call out today's release.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 753698baa9a3fadd0fef27db27376f7a09c9ccc5
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 15:33:14 2016 -0600

    maint: automate creation of release tag
    
    The gnulib makefile was already set up to automate things with
    'make release ...', but we were still doing things by hand, and
    thereby risking missing some steps.
    
    * m4/gnulib-cache.m4 (gl_MODULES): Import do-release-commit-and-tag.
    * gnulib: Update, for latest version of the script.
    * HACKING: Mention its use.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 5456676ea90dfedd9b54c843f15b006d02150d06
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 14:56:15 2016 -0600

    maint: generate ChangeLog from git commits
    
    Follow the practice set in numerous other GNU projects, where
    the ChangeLog (since 2015) is generated from git commit messages.
    This avoids duplication or subtle differences between the two,
    as well as making it easier to merge patches across branches
    (as good as Bruno Haible's 'git-merge-changelog' helper program
    is, it still doesn't handle cross-branch cherry-picks very well).
    
    * ChangeLog: Move...
    * ChangeLog-2014: ...to this.
    * Makefile.am (EXTRA_DIST): Ship renamed file.
    (gen-ChangeLog): New rule, copied mostly from coreutils.
    (dist-hook): Generate the ChangeLog.
    * m4/gnulib-cache.m4 (gl_MODULES): Import gitlog-to-changelog.
    * .gitignore: Ignore ChangeLog.
    * .gitattributes: Likewise.
    * HACKING: Reword to match new procedure, and simplify by
    referring to an external description of ChangeLog style.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 658427104bbe515249f728d8524e975167e6533d
Author: Eric Blake <address@hidden>
Date:   Sat Dec 31 15:53:53 2016 -0600

    maint: summarize highlights of pending release
    
    * NEWS: Add some blurbs.
    
    Signed-off-by: Eric Blake <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitattributes              |    1 -
 .gitignore                  |    1 +
 .prev-version               |    2 +-
 ChangeLog => ChangeLog-2014 |   31 -----------
 HACKING                     |  129 +++++++++++++++----------------------------
 Makefile.am                 |   28 +++++++++-
 NEWS                        |    7 +++
 cfg.mk                      |    2 +-
 doc/m4.texi                 |    7 +--
 gnulib                      |    2 +-
 m4/gnulib-cache.m4          |    4 +-
 11 files changed, 85 insertions(+), 129 deletions(-)
 rename ChangeLog => ChangeLog-2014 (99%)

diff --git a/.gitattributes b/.gitattributes
index 68d2d12..da57a7e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,4 +1,3 @@
 # See ./bootstrap for some helpful ~/.gitconfig or .git/config settings
 # needed for using these attributes effectively.
-ChangeLog merge=merge-changelog
 *.texi* diff=texinfo
diff --git a/.gitignore b/.gitignore
index 4cc8909..af84054 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@ autom4te.cache
 !/build-aux/install-sh
 !/build-aux/mdate-sh
 !/build-aux/texinfo.tex
+/ChangeLog
 /checks/[0-9][0-9][0-9].*
 /checks/stamp-checks
 config.cache
diff --git a/.prev-version b/.prev-version
index 04e0d3f..f689e8c 100644
--- a/.prev-version
+++ b/.prev-version
@@ -1 +1 @@
-1.4.17
+1.4.18
diff --git a/ChangeLog b/ChangeLog-2014
similarity index 99%
rename from ChangeLog
rename to ChangeLog-2014
index 26998b5..0555e18 100644
--- a/ChangeLog
+++ b/ChangeLog-2014
@@ -1,34 +1,3 @@
-2016-12-31  Eric Blake  <address@hidden>
-
-       maint: make silent builds the default
-       * configure.ac (AM_SILENT_RULES): Add, to match what most projects
-       are doing these days.
-
-       maint: release no longer creates a diff file
-       * HACKING: Drop outdated steps.
-
-2016-12-30  Eric Blake  <address@hidden>
-
-       doc: drop obsolete @setcontentsaftertitlepage
-       * doc/m4.texi: Satisfy newer texinfo.
-
-2016-12-29  Eric Blake  <address@hidden>
-
-       build: update to latest gnulib
-       * gnulib: Update to latest, to fix failure in getopt tests.
-
-       maint: regenerate bootstrap
-       * bootstrap: Regenerate.
-
-       maint: bump copyright year
-       * all files: Version control now has a commit in 2016.
-
-       build: update to latest gnulib
-       * gnulib: Update to latest.
-       * m4/gnulib-cache.m4: Regenerate.
-       * src/macro.c (expand_macro): Deal with obstack API change.
-       * src/builtin.c (mkstemp_helper): Likewise.
-
 2014-05-13  Eric Blake  <address@hidden>
 
        doc: fix line-wrapped macro definitions
diff --git a/HACKING b/HACKING
index 4175f81..c89abff 100644
--- a/HACKING
+++ b/HACKING
@@ -125,70 +125,24 @@ and is not part of a release distribution.
 5. Editing 'ChangeLog'
 ======================
 
+* The ChangeLog is generated from git commit comments.  Each commit log
+  should start with a one-line summary, a blank line, and then a
+  ChangeLog-style entry for all affected files.  However, it's fine --
+  even recommended -- to write a few lines of prose describing the
+  change, when the summary and ChangeLog entries don't give enough of
+  the big picture.  Omit the leading TABs that you're used to seeing in
+  a "real" ChangeLog file, but keep the maximum line length at 72 or
+  smaller, so that the generated ChangeLog lines, each with its leading
+  TAB, will not exceed 80 columns.  As for the ChangeLog-style content,
+  please follow these guidelines:
+
+    http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html
+
 * When in doubt, check that emacs can syntax-color properly in
   change-log-mode.  And preferably use emacs 'C-x 4 a'
   (add-change-log-entry-other-window) to open ChangeLog with an
-  appropriate new template.
-
-* If this change is by a different author, or on a different date to the
-  last entry start a new entry at the top of the file with the format
-  (note two spaces between each field):
-
-yyyy-mm-dd  Name of Author  <address@hidden>
-
-*  If more than one person collaborated on the change, additional
-   authors can be listed on subsequent lines, thus:
-
-yyyy-mm-dd  Name of Main Author  <address@hidden>,
-            Name of Contributor  <address@hidden>
-
-* Where a change author did not supply a copyright assignment, but the
-  changes they submitted were sufficiently trivial to commit in any case
-  (see the GCS for guidelines on this), then flag this against their
-  name in the header, thus:
-
-yyyy-mm-dd  Name of Author  <address@hidden>  (tiny change)
-
-* Preferably the next part should be a description of the overall
-  purpose of the change, separated from the header by a blank line,
-  indented by 1 tab, and filled at column 72.  The last character of the
-  description should be a colon, :.
-
-* Changes to each file come next.  Each new file starts on a new line,
-  indented by 1 tab and starting with an asterisk and a space.  Multiple
-  files can be listed here relative to $top_srcdir, and comma separated.
-  Names of functions (or sections as appropriate) to which the change
-  applies should be named inside parentheses and comma separated.  If
-  this goes beyond column 72, then parens should be closed and re-opened
-  on the next line:
-
-       * file, another/file, test/testcases/foo.test (func_foo)
-       (func_bar, func_baz): Description of changes.
-
-* If the change does not apply to particular functions (or sections),
-  the section list can be omitted:
-
-       * file, another/file, test/testcases/foo.test: General changes.
-
-* If the changes are particular to certain architectures, they should be
-  listed after the functions in square brackets:
-
-       * file, another/file (func_foo) [linux, solaris]: Description of
-       changes.
-
-* Subsequent changes in other files that are related to the same overall
-  enhancement or bugfix should be listed concurrently, without blank
-  lines.  Always start a fresh line for a new file:
-
-       * file, another/file (func_foo) [linux, solaris]: Description of
-       changes.
-       * doc/foo.texi (Invoking Foo): Document.
-       * NEWS: Updated.
-
-* If the change is in response to a problem reported by someone other
-  than the author, then credit them at the end of the description with:
-
-       Reported by Reporter Name <address@hidden>.
+  appropriate new template, which you can then paste into your git
+  commit editing session.
 
 * See the GNU Coding Standards document for more details on ChangeLog
   formatting.
@@ -196,8 +150,8 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny change)
 6. Formatting
 =============
 
-* Use space-only indentation in nearly all files (Makefile and
-  ChangeLogs being the exception).
+* Use space-only indentation in nearly all files (Makefile inputs being
+  the exception).
 
   If you use Emacs and your m4 working directory name matches,
   this code in your ~/.emacs enables the right mode:
@@ -246,25 +200,18 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
   helps, since by default, m4-announce rejects all posts, so you have to
   get an administrator to allow your announcement through.
 
-* Make sure you have wget installed.
-
-* Make sure you have GNU make installed.
-
-* Make sure you have an up-to-date version of help2man installed.
+* Make sure you have appropriate up-to-date tools installed, including:
+  wget
+  GNU make
+  help2man
+  texi2dvi
 
 * Make sure your locale is sane, e.g. by exporting LC_ALL=C.
 
 * Make sure you are happy with the particular gnulib version recorded as
   the gnulib submodule.  If necessary to update to the latest, run:
     git submodule foreach git pull origin master
-    git commit -m 'Update gnulib submodule to latest.' gnulib
-
-* Update the version number in NEWS and ChangeLog, and mention in README
-  whether the release is stable.  See
-  http://www.gnu.org/software/libtool/contribute.html for details of the
-  numbering scheme (M4 uses a similar scheme to libtool, although
-  intra-release versions carry more information thanks to
-  git-version-gen).
+    git commit -m 'maint: update gnulib submodule to latest' gnulib
 
 * Run ./bootstrap, perhaps with environment variables set.
 
@@ -274,17 +221,28 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
   be up-to-date with m4 --help output, but `make dist' intentionally
   does not depend on running a built binary.
 
+* Make sure README properly describes the current release type (stable,
+  alpha, or current).
+
 * Run `git commit' from the source tree if there are any changes from
   the previous steps.
 
-* Run `git tag -s -m <version> -u <gpg_key> v<version>' with the desired
-  version number.  Do not push anything upstream at this point.
+* Run `make release-commit RELEASE="X.Y $type"' (for the correct X.Y and
+  release type), to update the version number in NEWS.  See
+  http://www.gnu.org/software/libtool/contribute.html for details of the
+  numbering scheme (M4 uses a similar scheme to libtool, although
+  intra-release versions carry more information thanks to
+  git-version-gen).  This tags the potential release, but do not push
+  anything upstream at this point.
 
 * Run `make distcheck'.  If there are any problems, fix them, then run
-  `git tag -d v<version>' and start again from the `git commit' step.
+  `git tag -d v<version>; git reset --hard HEAD^' to undo the tag, and
+  start again from the `git commit' step.
 
 * Run `make <target>', with target set to `stable', `alpha', or `beta'
-  as appropriate.  This will run various additional checks.
+  as appropriate.  This will run various additional checks, as well as
+  spell out the preferred gnupload commands to use in the next step, and
+  create a post-release commit that updates NEWS for subsequent edits.
 
 * Run './build-aux/gnupload --to [dest].gnu.org:m4 --symlink-regex [files]'
   to create detached gpg signature and clear signed directive files, and
@@ -301,12 +259,13 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
   it through (the list is normally set to silently discard all posts,
   even from subscribers).
 
-* Update NEWS, README, and ChangeLog to start the intra-release changes,
-  and run `git commit'.  Then run `git push origin refs/tags/v<version>'
-  to push the release tag and complete the release.
+* Run `git push origin refs/tags/v<version>' to push the release tag and
+  complete the release.
 
-* For non-alpha releases, update the webpages.  Replace manual.html with
-  the new one (generate with `make web-manual').
+* For non-alpha releases, update the webpages accessible via
+    http://www.gnu.org/software/m4/manual/
+  by running this:
+    build-aux/gnu-web-doc-update --mirror
 
 * Make a News entry on savannah
 
diff --git a/Makefile.am b/Makefile.am
index f4905da..9d294c2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,7 +23,7 @@
 SUBDIRS = . examples lib src doc checks tests
 
 EXTRA_DIST = bootstrap c-boxes.el cfg.mk maint.mk \
-       .prev-version .version m4/gnulib-cache.m4
+       .prev-version .version m4/gnulib-cache.m4 ChangeLog-2014
 DISTCLEANFILES = stamp-h
 ## maintainer-clean should remove as much as possible that ./bootstrap can
 ## recreate.  In the m4 directory, keep only gnulib-cache.m4.
@@ -38,11 +38,33 @@ ACLOCAL_AMFLAGS = -I m4
 DISTCHECK_CONFIGURE_FLAGS = --enable-changeword --program-prefix=g \
        --enable-gcc-warnings --enable-silent-rules --enable-cxx
 
+# Generate the ChangeLog from git history.
+gen_start_date = 2015-01-01
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+       $(AM_V_GEN)if test -d $(top_srcdir)/.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
+
+# Dummy rule, to pacify automake "gnu" strictness and allow a clean
+# bootstrap.  Creates a dummy ChangeLog (unless one is already present,
+# as might be the case for users of vc-dwim) that will be overridden
+# with a proper one at distribution time.
+$(srcdir)/ChangeLog:
+       @echo dummy > $@
+
 BUILT_SOURCES = $(top_srcdir)/.version
 $(top_srcdir)/.version:
        echo $(VERSION) > address@hidden && mv address@hidden $@
 
 # Arrange so that .tarball-version appears only in the distribution
 # tarball, and never in a checked-out repository.
-dist-hook:
-       echo $(VERSION) > $(distdir)/.tarball-version
+dist-hook: gen-ChangeLog
+       $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
diff --git a/NEWS b/NEWS
index b59ccc1..853e648 100644
--- a/NEWS
+++ b/NEWS
@@ -2,8 +2,15 @@ GNU M4 NEWS - User visible changes.
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+
+* Noteworthy changes in release 1.4.18 (2016-12-31) [stable]
+
+** Diagnose --word-regexp as unsupported if it was not configured.
+
 ** Preliminary support for OS/2.
 
+** A number of portability improvements inherited from gnulib.
+
 
 * Noteworthy changes in release 1.4.17 (2013-09-22) [stable]
 
diff --git a/cfg.mk b/cfg.mk
index e72cc46..145c188 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -33,7 +33,7 @@ local-checks-to-skip += sc_cast_of_x_alloc_return_value
 config_h_header = "m4\.h"
 
 # Hash of NEWS contents, to ensure we don't add entries to wrong section.
-old_NEWS_hash = ef92e5b599b23d9dfe915db5ce4194c5
+old_NEWS_hash = a62c5bc1fcd5ea1646a5d1d93a30103c
 
 # Indent only with spaces.
 sc_prohibit_tab_based_indentation:
diff --git a/doc/m4.texi b/doc/m4.texi
index 2fd59cf..bc50533 100644
--- a/doc/m4.texi
+++ b/doc/m4.texi
@@ -416,11 +416,8 @@ addressed some long standing bugs in the venerable 1.4 
release.  Then in
 2005, Gary V. Vaughan collected together the many patches to
 GNU @code{m4} 1.4 that were floating around the net and
 released 1.4.3 and 1.4.4.  And in 2006, Eric Blake joined the team and
-prepared patches for the release of 1.4.5, 1.4.6, 1.4.7, and 1.4.8.
-More bug fixes were incorporated in 2007, with releases 1.4.9 and
-1.4.10.  Eric continued with some portability fixes for 1.4.11 and
-1.4.12 in 2008, 1.4.13 in 2009, 1.4.14 and 1.4.15 in 2010, and 1.4.16 in
-2011.
+prepared patches for the release of 1.4.5, with subsequent releases
+through intervening years, as recent as 1.4.18 in 2016.
 
 Meanwhile, development has continued on new features for @code{m4}, such
 as dynamic module loading and additional builtins.  When complete,
diff --git a/gnulib b/gnulib
index b366f53..52a5514 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit b366f53ec394e9886c60c851243af59952480a73
+Subproject commit 52a5514ddf33782915338944596be28271285fe5
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index 034e368..ede6dbf 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --local-dir=gl --lib=libm4 --source-base=lib 
--m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --with-tests 
--with-c++-tests --avoid=lock-tests --avoid=tls-tests --makefile-name=gnulib.mk 
--no-conditional-dependencies --no-libtool --macro-prefix=M4 announce-gen 
assert autobuild avltree-oset binary-io c-stack clean-temp cloexec close-stream 
closein config-h dirname error execute fclose fdl-1.3 fflush filenamecat fopen 
fopen-safer fseeko gendocs getopt-gnu git-version-gen gnu-web-doc-update 
gnumakefile gnupload gpl-3.0 ignore-value intprops maintainer-makefile 
manywarnings memchr2 mkstemp obstack progname regex rename sigaction sigpipe 
spawn-pipe stdbool stdint stdlib-safer strsignal strstr strtod unlocked-io 
update-copyright vc-list-files verror version-etc version-etc-fsf wait-process 
xalloc xoset xprintf xvasprintf-posix
+#   gnulib-tool --import --local-dir=gl --lib=libm4 --source-base=lib 
--m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --with-tests 
--with-c++-tests --avoid=lock-tests --avoid=tls-tests --makefile-name=gnulib.mk 
--no-conditional-dependencies --no-libtool --macro-prefix=M4 announce-gen 
assert autobuild avltree-oset binary-io c-stack clean-temp cloexec close-stream 
closein config-h dirname do-release-commit-and-tag error execute fclose fdl-1.3 
fflush filenamecat fopen fopen-safer fseeko gendocs getopt-gnu git-version-gen 
gitlog-to-changelog gnu-web-doc-update gnumakefile gnupload gpl-3.0 
ignore-value intprops maintainer-makefile manywarnings memchr2 mkstemp obstack 
progname regex rename sigaction sigpipe spawn-pipe stdbool stdint stdlib-safer 
strsignal strstr strtod unlocked-io update-copyright vc-list-files verror 
version-etc version-etc-fsf wait-process xalloc xoset xprintf xvasprintf-posix
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([gl])
@@ -44,6 +44,7 @@ gl_MODULES([
   closein
   config-h
   dirname
+  do-release-commit-and-tag
   error
   execute
   fclose
@@ -56,6 +57,7 @@ gl_MODULES([
   gendocs
   getopt-gnu
   git-version-gen
+  gitlog-to-changelog
   gnu-web-doc-update
   gnumakefile
   gnupload


hooks/post-receive
-- 
GNU M4 source repository



reply via email to

[Prev in Thread] Current Thread [Next in Thread]