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.6, updated. v1.4.10b-20-


From: Eric Blake
Subject: [SCM] GNU M4 source repository branch, branch-1.6, updated. v1.4.10b-20-ga82c183
Date: Wed, 02 Apr 2008 21:05:32 +0000

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=a82c183e85b349dd3366db1587db07f456220f41

The branch, branch-1.6 has been updated
       via  a82c183e85b349dd3366db1587db07f456220f41 (commit)
       via  d8075cd139b9523c1b59f4f35bdf80e6760d31e1 (commit)
      from  a86f1dcafc38e4e18ba5dc87a18cafaf44fe8a09 (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 a82c183e85b349dd3366db1587db07f456220f41
Author: Eric Blake <address@hidden>
Date:   Wed Apr 2 14:52:33 2008 -0600

    Mention 1.4.11 release.
    
    * NEWS: Update to match release on branch-1.4.
    * doc/m4.texinfo (History): Update release history.
    (Format): Test for C99 hex-float parsing.
    * src/Makefile.am (m4_LDADD): Use POW_LIB when needed.
    
    Signed-off-by: Eric Blake <address@hidden>

commit d8075cd139b9523c1b59f4f35bdf80e6760d31e1
Author: Eric Blake <address@hidden>
Date:   Wed Apr 2 14:12:24 2008 -0600

    Improve release process.
    
    * maint.mk (alpha): Check for PREV_VERSION setting sooner, and
    remove tag operation.
    (version-check): Enhance this check.
    (prev-tarball): Depend on version-check.
    (web-manual): Fix VPATH usage.
    (this-vc-tag): Delete, and mention need to run tag...
    * HACKING: ...here, prior to make maintainer-distcheck.
    Update the instructions to match this particular release process.
    * Makefile.am (.version, announcement): Allow for VPATH build.
    * cfg.mk (gnulib_dir): Likewise.
    * doc/Makefile.am ($(srcdir)/m4.1): Include release number in man
    page.
    
    Signed-off-by: Eric Blake <address@hidden>
    (cherry picked from commit c07173b0a58b56c07633a28323d56451b98b7de5)
    
    Conflicts:

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

Summary of changes:
 ChangeLog       |   22 ++++++++++++++++++++++
 HACKING         |   53 +++++++++++++++++++++++++++++++----------------------
 Makefile.am     |    4 ++--
 NEWS            |   47 +++++++++++++++++++++++++++++++++--------------
 cfg.mk          |    2 +-
 doc/Makefile.am |    8 ++++----
 doc/m4.texinfo  |   14 +++++++++-----
 maint.mk        |   23 +++++++----------------
 src/Makefile.am |    4 ++--
 9 files changed, 111 insertions(+), 66 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9991edc..fa050ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2008-04-02  Eric Blake  <address@hidden>
+
+       Mention 1.4.11 release.
+       * NEWS: Update to match release on branch-1.4.
+       * doc/m4.texinfo (History): Update release history.
+       (Format): Test for C99 hex-float parsing.
+       * src/Makefile.am (m4_LDADD): Use POW_LIB when needed.
+
+       Improve release process.
+       * maint.mk (alpha): Check for PREV_VERSION setting sooner, and
+       remove tag operation.
+       (version-check): Enhance this check.
+       (prev-tarball): Depend on version-check.
+       (web-manual): Fix VPATH usage.
+       (this-vc-tag): Delete, and mention need to run tag...
+       * HACKING: ...here, prior to make maintainer-distcheck.
+       Update the instructions to match this particular release process.
+       * Makefile.am (.version, announcement): Allow for VPATH build.
+       * cfg.mk (gnulib_dir): Likewise.
+       * doc/Makefile.am ($(srcdir)/m4.1): Include release number in man
+       page.
+
 2008-03-27  Eric Blake  <address@hidden>
 
        Add test for divert bug on 2007-05-28, patched 2007-07-21.
diff --git a/HACKING b/HACKING
index b365923..73b61cf 100644
--- a/HACKING
+++ b/HACKING
@@ -41,7 +41,7 @@ and is not part of a release distribution.
 * The master M4 repository is stored in git.
 
 * Before you can build from git, you need to bootstrap.  This requires:
-  - A pre-installed version of GNU M4 1.4 or later, built from a package
+  - A pre-installed version of GNU M4 1.4.5 or later, built from a package
   - Autoconf 2.60 or later
   - Automake 1.10.1 or later
   - Help2man 1.29 or later
@@ -81,7 +81,7 @@ and is not part of a release distribution.
   liberally, on as many platforms as you can.  Use as many compilers and
   linkers you can.
 
-* For branch-1_4, the testsuite is generated from the documentation.
+* For branch-1.6, the testsuite is generated from the documentation.
   All instances of @example in doc/m4.texinfo that are not preceeded by
   "@comment ignore" are turned into tests in the checks directory.
 
@@ -195,11 +195,12 @@ yyyy-mm-dd  Name of Author  <address@hidden>  (tiny 
change)
 
 * Make sure your locale is sane, e.g. by exporting LC_ALL=C.
 
-* Update the version number in configure.ac.
-  See http://www.gnu.org/software/libtool/contribute.html for details of
-  the numbering scheme (m4 uses the same scheme as libtool).
-
-* Update NEWS, configure.ac, README, ChangeLog.
+* 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).
 
 * Run ./bootstrap.
 
@@ -209,43 +210,51 @@ 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.
 
-* Run `make maintainer-distcheck'.  If there are any problems, fix them
-  and start again.
-
 * 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 maintainer-distcheck'.  If there are any problems, fix them,
+  run `git tag -d v<version>' and start again from the `git commit' step.
+
 * Run `make <target> PREV_VERSION=maj.min[.mic[alpha]]', with target set
   to `major', `alpha', or `beta' as appropriate.  This will run various
-  additional checks, tag the tree with release-$(VERSION), and create
-  diff and xdelta files from the previous version.
+  additional checks and create diff and xdelta files from the previous
+  version.
 
 * Run './build-aux/gnupload --to [dest].gnu.org:m4 [files]' to create
   detached gpg signature and clear signed directive files, and upload
   the combination to the correct location.  For an alpha release,
   gnupload will place files in alpha.gnu.org, in /incoming/alpha, and
   the xdelta file is not strictly necessary.  For a full release,
-  gnupload will place files in ftp.gnu.org, in /incoming/ftp.
+  gnupload will place files in ftp.gnu.org, in /incoming/ftp.  Verify
+  that the files uploaded successfully before sending an announcement.
 
 * Send announcement to address@hidden, address@hidden, and
   address@hidden  If not an alpha send to address@hidden
   as well.  Use /tmp/announce-m4-<version>, created during the above
-  make run, as a starting point.  Contact a list administrator for
-  m4-announce in advance to ensure your post will make it through (the
-  list is normally set to silently discard all posts, even from
-  subscribers).
+  `make <target>' run, as a starting point.  Contact a list
+  administrator for m4-announce in advance to ensure your post will make
+  it through (the list is normally set to silently discard all posts,
+  even from subscribers).
 
 * Update version number in configure.ac to next alpha number.
   See http://www.gnu.org/software/libtool/contribute.html for details of
   the numbering scheme.
 
-* Update NEWS, configure.ac, ChangeLog.
+* 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 commit' and `git push origin refs/tags<version>' to push the
-  release tag.
+* For non-alpha releases, update the webpages.  Run `make web-manual',
+  then copy the contents of doc/manual into a CVS checkout of the M4
+  manual repository.  Also edit m4.html before doing a CVS checkin.
+    export CVS_RSH=ssh
+    cvs -z3 -d:ext:<user>@cvs.savannah.gnu.org:/web/m4 co m4
 
-* For non-alpha releases, update the webpages.  Replace manual.html with
-  the new one (generate with `make web-manual').
+* Post a news blurb on https://savannah.gnu.org/projects/m4.
 
 -- 
 Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
diff --git a/Makefile.am b/Makefile.am
index 81ea47e..a67b415 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,8 +34,8 @@ MAINTAINERCLEANFILES = COPYING INSTALL Makefile.in aclocal.m4 
\
 ACLOCAL_AMFLAGS = -I m4
 DISTCHECK_CONFIGURE_FLAGS = --enable-changeword
 
-BUILT_SOURCES = .version
-.version:
+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
diff --git a/NEWS b/NEWS
index 606fa34..4cc0ff1 100644
--- a/NEWS
+++ b/NEWS
@@ -5,8 +5,9 @@ Foundation, Inc.
 * Noteworthy changes in Version 1.6 (????-??-??) [stable]
   Released by ????, based on git version 1.4.10b.x-*
 
-** Fix regression introduced in 1.4.10b where using `builtin' or `indir'
-   to perform nested `shift' calls triggered an assertion failure.
+** Fix regression introduced in 1.4.10b (but not present in 1.4.11) where
+   using `builtin' or `indir' to perform nested `shift' calls triggered an
+   assertion failure.
 
 ** Fix the `m4wrap' builtin to accumulate wrapped text in FIFO order, as
    required by POSIX.  The manual mentions a way to restore the LIFO order
@@ -36,9 +37,31 @@ Foundation, Inc.
    context of a macro name, rather than acting on the empty string.  This
    was already done for `define', `pushdef', `builtin', and `indir'.
 
+** A number of portability improvements inherited from gnulib.
+
 * Noteworthy changes in Version 1.4.10b (2008-02-25) [beta]
   Released by Eric Blake, based on git version 1.4.10a
 
+Note that M4 1.4.10b was released prior to 1.4.11, and includes all the
+features of 1.4.11 except for C99 parsing in the `format' builtin.  It also
+contains the following beta features that were deemed worth deferring until
+1.6:
+
+** Further enhance the `index' builtin to often achieve sublinear results.
+
+** Enhance the `regexp' and `patsubst' builtins to cache frequently used
+   regular expressions, which speeds up typical Autoconf usage.
+
+** Enhance the `format' builtin to warn for more suspicious usages, such as
+   missing arguments or problems parsing according to the format string.
+
+** Enhance the `ifelse' and `shift' builtins so that tail-recursive
+   algorithms based on `$@' operate in linear, rather than quadratic, time
+   and memory.
+
+* Noteworthy changes in Version 1.4.11 (2008-04-02) [stable]
+  Released by Eric Blake, based on git version 1.4.10a
+
 ** Security fixes for the -F option, for bugs present since -F was
    introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and
    avoid arbitrary code execution with certain file names.
@@ -59,19 +82,15 @@ Foundation, Inc.
    now issued if this is attempted, although a future version of M4 may
    lift this restriction to match other implementations.
 
-** Enhance the `index' builtin to guarantee linear behavior and often
-   achieve sublinear results, in spite of the surprisingly large number of
-   systems with a brain-dead quadratic strstr(3).
-
-** Enhance the `regexp' and `patsubst' builtins to cache frequently used
-   regular expressions, which speeds up typical Autoconf usage.
-
-** Enhance the `format' builtin to warn for more suspicious usages, such as
-   missing arguments or problems parsing according to the format string.
+** Enhance the `format' builtin to parse all C99 floating point numbers,
+   even on platforms where strtod(3) is buggy, although the replacement
+   function does have the known issue of rounding errors when parsing
+   some decimal floating point values.  This fixes testsuite failures
+   introduced in 1.4.9b.
 
-** Enhance the `ifelse' and `shift' builtins so that tail-recursive
-   algorithms based on `$@' operate in linear, rather than quadratic, time
-   and memory.
+** Enhance the `index' builtin to guarantee linear behavior, in spite of
+   the surprisingly large number of systems with a brain-dead quadratic
+   strstr(3).
 
 ** A number of portability improvements inherited from gnulib.
 
diff --git a/cfg.mk b/cfg.mk
index 142980f..99abe29 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -34,4 +34,4 @@ local-checks-to-skip = changelog-check
 
 # The local directory containing the checked-out copy of gnulib used in this
 # release.  Used solely to get gnulib's SHA1 for the "announcement" target.
-gnulib_dir = ../gnulib
+gnulib_dir = $(srcdir)/../gnulib
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b5cd360..b1b7eac 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,6 @@
 ## Makefile.am - template for generating Makefile via Automake
 ##
-## Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+## Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 ##
 ## This file is part of GNU M4.
 ##
@@ -27,15 +27,15 @@ MAINTAINERCLEANFILES = $(man_MANS) gendocs_template
 SUFFIXES = .1
 HELP2MAN = $(SHELL) $(top_srcdir)/build-aux/missing --run help2man
 
-# Depend on configure.ac for version, m4.c for usage text.  Do not depend on
+# Depend on ../.version for version, m4.c for usage text.  Do not depend on
 # built m4 executable, since not everyone has help2man or perl.
 # Build the man page once in the srcdir, rather than in every VPATH build
 # dir, to match how automake builds info pages.  This is safe for 'make
 # distcheck' since it is distributed pre-built.
-$(srcdir)/m4.1: $(top_srcdir)/configure.ac $(top_srcdir)/src/m4.c
+$(srcdir)/m4.1: $(top_srcdir)/.version $(top_srcdir)/src/m4.c
        @if test -x ../src/m4$(EXEEXT) ; then \
          echo "Updating man page m4.1" ; \
-         $(HELP2MAN) --name="macro processor" --source=FSF \
+         $(HELP2MAN) --name="macro processor" --source='$(PACKAGE_STRING)' \
            --info-page=m4 --output=$@ ../src/m4$(EXEEXT) ; \
        else \
          echo "WARNING: The \`man' page \`$@' cannot be updated yet."; \
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index 473b771..690ea79 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -394,9 +394,11 @@ addressed some long standing bugs in the venerable 1.4 
release.  Then in
 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.  In 2008, Eric additionally rewrote the scanning engine to
-reduce recursive evaluation from quadratic to linear complexity for
-M4 1.6.  The 1.x branch remains open for bug fixes.
+1.4.10, closing the series with 1.4.11 in 2008.
+
+Additionally, in 2008, Eric rewrote the scanning engine to reduce
+recursive evaluation from quadratic to linear complexity, released as M4
+1.6.  The 1.x branch series remains open for bug fixes.
 
 Meanwhile, development has continued on new features for @code{m4}, such
 as dynamic module loading and additional builtins.  When complete,
@@ -5711,6 +5713,8 @@ ifelse(format(`%.1A', `1.999'), `0X1.0P+1', `success',
        format(`%.1A', `1.999'), `0X2.0P+0', `success',
        format(`%.1A', `1.999'))
 @result{}success
+format(`%g', `0xa.P+1')
address@hidden
 @end example
 
 Using the @code{forloop} macro defined earlier (@pxref{Forloop}), this
@@ -6439,7 +6443,7 @@ version of @code{maketemp} is secure.  This means that 
using the same
 template to multiple calls will generate multiple files.  However, we
 recommend that you use the new @code{mkstemp} macro, introduced in
 @acronym{GNU} M4 1.4.8, which is secure even in traditional mode.  Also,
-as of M4 1.6, the secure implementation quotes the resulting file
+as of M4 1.4.11, the secure implementation quotes the resulting file
 name, so that you are guaranteed to know what file was created even if
 the random file name happens to match an existing macro.  Notice that
 this example is careful to use @code{defn} to avoid unintended expansion
@@ -6821,7 +6825,7 @@ changed strings for quotes or comments.  And future 
releases of
 
 @ignore
 @c This example is not worth putting in the manual, but caused core
address@hidden dumps in all versions prior to 1.6.
address@hidden dumps in all versions prior to 1.4.11.
 
 @comment options: -F /dev/null
 @example
diff --git a/maint.mk b/maint.mk
index c9b51d8..df98eca 100644
--- a/maint.mk
+++ b/maint.mk
@@ -27,19 +27,11 @@ gzip_rsyncable := \
   $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo 
--rsyncable)
 GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
 
-CVS = cvs
 GIT = git
 VC = $(GIT)
 VC-tag = git tag -s -m '$(VERSION)' -u $(gpg_key_ID)
 
 VERSION_REGEXP = $(subst .,\.,$(VERSION))
-ifeq ($(VC),$(GIT))
-this-vc-tag = v$(VERSION)
-else
-tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]')
-tag-this-version = $(subst .,_,$(VERSION))
-this-vc-tag = $(tag-package)-$(tag-this-version)
-endif
 my_distdir = $(PACKAGE)-$(VERSION)
 
 # Ensure that we use only the standard $(VAR) notation,
@@ -130,19 +122,19 @@ my-distcheck: $(local-check) check
 gnulib-version = $$(cd $(gnulib_dir) && git describe)
 
 announcement: NEWS ChangeLog $(rel-files)
-       @./build-aux/announce-gen                                       \
+       @$(srcdir)/build-aux/announce-gen                               \
            --release-type=$(RELEASE_TYPE)                              \
            --package=$(PACKAGE)                                        \
            --prev=$(PREV_VERSION)                                      \
            --curr=$(VERSION)                                           \
            --gpg-key-id=$(gpg_key_ID)                                  \
-           --news=NEWS                                                 \
+           --news=$(srcdir)/NEWS                                       \
            --bootstrap-tools=autoconf,automake,gnulib                  \
            --gnulib-version=$(gnulib-version)                          \
            $(addprefix --url-dir=, $(url_dir_list))
 
 .PHONY: alpha beta major
-alpha beta major: $(local-check)
+alpha beta major: $(local-check) version-check
        test $@ = major                                         \
          && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
               || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
@@ -151,7 +143,6 @@ alpha beta major: $(local-check)
        $(MAKE) news-date-check changelog-check
        $(MAKE) deltas
        $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
-       $(VC-tag) $(this-vc-tag)
 
 .PHONY: version-check
 version-check:
@@ -162,12 +153,12 @@ version-check:
          exit 1; \
          ;; \
        esac
+       @if test -z "$(PREV_VERSION)"; \
+               then echo "PREV_VERSION is not set"; exit 1; fi
 
 .PHONY: prev-tarball
-prev-tarball:
+prev-tarball: version-check
 ## Make sure we have the previous release tarball in the tree.
-       @if test -z "$(PREV_VERSION)"; \
-               then echo "PREV_VERSION is not set"; exit 1; fi
        @ofile="$(PACKAGE)-$(PREV_VERSION).tar.gz"; \
        if test -f $$ofile; then :; \
        else echo "Cannot make deltas without $$ofile"; exit 1; fi
@@ -226,6 +217,6 @@ delta-xdelta: prev-tarball new-tarball got-xdelta
 .PHONY: web-manual
 web-manual:
        @cd ./doc ; \
-         $(SHELL) $(srcdir)/build-aux/gendocs.sh $(PACKAGE) \
+         $(SHELL) $(abs_srcdir)/build-aux/gendocs.sh $(PACKAGE) \
            "GNU $(PACKAGE)- GNU macro processor"
        @echo " *** Upload the doc/manual directory to web-cvs."
diff --git a/src/Makefile.am b/src/Makefile.am
index 4d061c7..f2c1524 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,6 @@
 ## Makefile.am - template for generating Makefile via Automake
 ##
-## Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+## Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 ##
 ## This file is part of GNU M4.
 ##
@@ -27,4 +27,4 @@ macro.c output.c path.c symtab.c
 if STACKOVF
 m4_SOURCES += stackovf.c
 endif
-m4_LDADD = ../lib/libm4.a $(LIBM4_LIBDEPS)
+m4_LDADD = ../lib/libm4.a $(LIBM4_LIBDEPS) $(POW_LIB)


hooks/post-receive
--
GNU M4 source repository




reply via email to

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