This will avoid a lot of useless conflicts or botched merges in the NEWS file. These have already happened many times with our old setup where there was just one NEWS files.
* NEWS: Removed, split into ... * NEWS.maint, old/NEWS: ... these two files. * NEWS.master: New file, still empty (it will be filled in master only). * Makefile.am (EXTRA_DIST): Distribute them. (NEWS): Generate it by properly concatenating the three new files. (MAINTAINERCLEANFILES): Add it. * .gitignore: Likewise. * .gitattributes: Don't specify the "union" merge driver for NEWS. Signed-off-by: Stefano Lattarini <stefano.lattar...@gmail.com> --- I will push this by tomorrow if there is no objection. Regards, Stefano .gitattributes | 1 - .gitignore | 1 + Makefile.am | 20 ++++ NEWS.maint | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++ NEWS => old/NEWS | 272 ------------------------------------------------------ 5 files changed, 290 insertions(+), 273 deletions(-) create mode 100644 NEWS.maint create mode 100644 NEWS.master rename NEWS => old/NEWS (86%) diff --git a/.gitattributes b/.gitattributes index 5126add..0d86adb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ -NEWS merge=union *.texi* diff=texinfo diff --git a/.gitignore b/.gitignore index 78b7aff..4d1a4ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /ChangeLog +/NEWS /aclocal.m4 /configure /Makefile.in diff --git a/Makefile.am b/Makefile.am index dc8932d..bd5987b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -566,6 +566,26 @@ EXTRA_DIST += \ ########################################################################## +## ---------------------------- ## +## Creation of the NEWS file. ## +## ---------------------------- ## + +EXTRA_DIST += old/NEWS NEWS.maint NEWS.master + +NEWS: old/NEWS NEWS.maint NEWS.master + $(AM_V_at)rm -f $@ $@-t + $(AM_V_GEN)( \ + for file in NEWS.master NEWS.maint; do \ + if test -s $$file; then \ + cat $$file || exit 1; \ + $(PERL) -e 'print "\n", "~" x 76, "\n\n"' || exit 1; \ + else :; fi; \ + done; \ + cat old/NEWS; \ + ) >$@-t + $(AM_V_at)chmod a-w $@-t && mv -f $@-t $@ +MAINTAINERCLEANFILES += NEWS + ## --------------------------------------------------------- ## ## Automatic generation of the ChangeLog from git history. ## ## --------------------------------------------------------- ## diff --git a/NEWS.maint b/NEWS.maint new file mode 100644 index 0000000..d111e78 --- /dev/null +++ b/NEWS.maint @@ -0,0 +1,269 @@ +New in 1.12: + +* WARNING: Future backward-incompatibilities! + + - Starting from the next major Automake version (1.13), the rules to + build pdf, ps and dvi output from Texinfo input will use the '--tidy' + option by default. Since such an option was introduced in Texinfo + 4.9, this means that Makefiles generated by future Automake versions + will require at least that version of Texinfo. + + - Starting from the next major Automake version (1.13), the parallel + testsuite harness (previously only enabled by the 'parallel-tests' + option) will become the default one; the older serial testsuite + harness will still be available through the use of the 'serial-tests' + option. + + - The following long-obsolete m4 macros will be removed in the + next major Automake version (1.13): + + AM_PROG_CC_STDC: superseded by AC_PROG_CC since October 2002 + fp_PROG_CC_STDC: broken alias for AM_PROG_CC_STDC + fp_WITH_DMALLOC: old alias for AM_WITH_DMALLOC + AM_CONFIG_HEADER: superseded by AC_CONFIG_HEADERS since July 2002 + ud_PATH_LISPDIR: old alias for AM_PATH_LISPDIR + jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE + ud_GNU_GETTEXT: old alias for AM_GNU_GETTEXT + gm_PROG_LIBTOOL: old alias for AC_PROG_LIBTOOL + fp_C_PROTOTYPES: old alias for AM_C_PROTOTYPES (which was part + of the now-removed automatic de-ANSI-fication + support of Automake) + + - All the "old alias" macros in 'm4/obsolete.m4' will be removed in + the next major Automake version (1.13). + + - Support for the "Cygnus-style" trees (enabled by the 'cygnus' option) + will be deprecated in the next minor version of Automake (1.12.1) and + removed in the next major version (1.13). + + - Support for the two- and three-arguments invocation forms of the + AM_INIT_AUTOMAKE macro will be deprecated in the next minor version + of Automake (1.12.1) and removed in the next major version (1.13). + + - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make + variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will + all be deprecated in the next minor version of Automake (1.12.1) + and removed in the next major version (1.13). + + - The '--acdir' option of aclocal is deprecated, and will probably + be removed in the next major Automake release (1.13). You should + use the options '--automake-acdir' and '--system-acdir' instead + (which have been introduced in Automake 1.11.2). + + - The exact order in which the directories in the aclocal macro + search path are looked up is probably going to be changed in the + next Automake release (1.13). + +* Obsolete features removed: + + - The never documented nor truly used script 'acinstall' has been + removed. + + - Support for automatic de-ANSI-fication has been removed. + + - The support for the "obscure" multilib feature has been removed + from Automake core (but remains available in the 'contrib/' + directory of the Automake distribution). + + - Support for ".log -> .html" conversion and the check-html and + recheck-html targets has been removed from Automake core (but + remains available in the 'contrib/' directory of the Automake + distribution). + + - The deprecated 'lzma' compression format for distribution archives + has been removed, in favor of 'xz' and 'lzip'. + + - The obsolete AM_WITH_REGEX macro has been removed. + + - The long-deprecated options '--output-dir', '--Werror' and + '--Wno-error' have been removed. + + - The chapter on the history of Automake has been moved out of the + reference manual, into a new dedicated Texinfo file. + +* New targets: + + - New 'cscope' target to build a cscope database for the source tree. + +* Changes to Automake-generated testsuite harnesses: + + - The new automake option 'serial-tests' has been introduced. It can + be used to explicitly instruct automake to use the older serial + testsuite harness. This is still the default at the moment, but it + might change in future versions. + + - The 'recheck' target (provided by the parallel testsuite harness) now + depends on the 'all' target. This allows for a better user-experience + in test-driven development. See automake bug#11252. + + - Test scripts that exit with status 99 to signal an "hard error" (e.g., + and unexpected or internal error, or a failure to set up the test case + scenario) have their outcome reported as an 'ERROR' now. Previous + versions of automake reported such an outcome as a 'FAIL' (the only + difference with normal failures being that hard errors were counted + as failures even when the test originating them was listed in + XFAIL_TESTS). + + - The testsuite summary displayed by the parallel-test harness has a + completely new format, that always list the numbers of passed, failed, + xfailed, xpassed, skipped and errored tests, even when these numbers + are zero (but using smart coloring when the color-tests option is in + effect). + + - The default testsuite driver offered by the 'parallel-tests' option is + now implemented (partly at least) with the help of automake-provided + auxiliary scripts (e.g., 'test-driver'), instead of relying entirely + on code in the generated Makefile.in. + This has two noteworthy implications. The first one is that projects + using the 'parallel-tests' option should now either run automake with + the '--add-missing' option, or manually copy the 'test-driver' script + into their tree. The second, and more important, implication is that + now, when the 'parallel-tests' option is in use, TESTS_ENVIRONMENT can + not be used anymore to define a test runner, and the command specified + in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable + program or script. For example, this is still a valid usage (albeit + a little contorted): + + TESTS_ENVIRONMENT = \ + if test -n '$(STRICT_TESTS)'; then \ + maybe_errexit='-e'; \ + else \ + maybe_errexit=''; \ + fi; + LOG_COMPILER = $(SHELL) $$maybe_errexit + + while this is not anymore: + + TESTS_ENVIRONMENT = \ + $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'` + + neither is this: + + TESTS_ENVIRONMENT = \ + run_with_perl_or_shell () \ + { \ + if grep -q '^#!.*perl' $$1; then + $(PERL) $$1; \ + else \ + $(SHELL) $$1; \ + fi; \ + } + LOG_COMPILER = run_with_perl_or_shell + + - The package authors can now use customary testsuite drivers within + the framework provided by the 'parallel-tests' testsuite harness. + Consistently with the existing syntax, this can be done by defining + special makefile variables 'LOG_DRIVER' and '<ext>_LOG_DRIVER'. + + - A new developer-reserved variable 'AM_TESTS_FD_REDIRECT' can be used + to redirect/define file descriptors used by the test scripts. + + - The parallel-tests harness generates now, in addition the '.log' files + holding the output produced by the test scripts, a new set of '.trs' + files, holding "metadata" derived by the execution of the test scripts; + among such metadata are the outcomes of the test cases run by a script. + + - Initial and still experimental support for the TAP test protocol is + now provided. + +* Changes to Yacc and Lex support: + + - C source and header files derived from non-distributed Yacc and/or + Lex sources are now removed by a simple "make clean" (while they were + previously removed only by "make maintainer-clean"). + + - Slightly backward-incompatible change, relevant only for use of Yacc + with C++: the extensions of the header files produced by the Yacc + rules are now modelled after the extension of the corresponding + sources. For example, yacc files named "foo.y++" and "bar.yy" will + produce header files named "foo.h++" and "bar.hh" respectively, where + they would have previously produced header files named simply "foo.h" + and "bar.h". This change offers better compatibility with 'bison -o'. + +* Miscellaneous changes: + + - The AM_PROG_VALAC macro now causes configure to exit with status 77, + rather than 1, if the vala compiler found is too old. + + - The build system of Automake itself now avoids the use of make + recursion as much as possible. + + - Automake now prefers to quote 'like this' or "like this", rather + than `like this', in diagnostic message and generated Makefiles, + to accommodate the new GNU Coding Standards recommendations. + + - Automake has a new option '--print-libdir' that prints the path of the + directory containing the Automake-provided scripts and data files. + + - The 'dist' and 'dist-all' targets now can run compressors in parallel. + + - The rules to create pdf, dvi and ps output from Texinfo files now + works better with modern 'texi2dvi' script, by explicitly passing + it the '--clean' option to ensure stray auxiliary files are not + left to clutter the build directory. + + - Automake can now generate silenced rules for texinfo outputs. + + - Some auxiliary files that are automatically distributed by Automake + (e.g., 'install-sh', or the 'depcomp' script for packages compiling + C sources) might now be listed in the DIST_COMMON variable in many + Makefile.in files, rather than in the top-level one. + + - Messages of types warning or error from 'automake' and 'aclocal' + are now prefixed with the respective type, and presence of -Werror + is noted. + + - Automake's early configure-time sanity check now tries to avoid + sleeping for a second, which slowed down cached configure runs + noticeably. In that case, it will check back at the end of the + configure script to ensure that at least one second has passed, to + avoid time stamp issues with makefile rules rerunning autotools + programs. + + - The warnings in the category 'extra-portability' are now enabled by + '-Wall'. In previous versions, one has to use '-Wextra-portability' + to enable them. + +Bugs fixed in 1.12: + + - Various minor bugfixes for recent or long-standing bugs. + +* Bugs introduced by 1.11: + + - The AM_COND_IF macro also works if the shell expression for the + conditional is no longer valid for the condition. + + - The automake-provided parallel testsuite harness does not fail anymore + with BSD make used in parallel mode when there are test scripts in a + subdirectory, like in: + + TESTS = sub/foo.test sub/bar.test + +* Long-standing bugs: + + - Automake's own build system finally have a real "installcheck" target. + + - Vala-related cleanup rules are now more complete, and work better in + a VPATH setup. + + - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are + now automatically distributed also if the directory of the auxiliary + files coincides with the top-level directory. + + - Automake now detects the presence of the '-d' flag in the various + '*YFLAGS' variables even when their definitions involve indirections + through other variables, such as in: + foo_opts = -d + AM_YFLAGS = $(foo_opts) + + - Automake now complains if a '*YFLAGS' variable has any conditional + content, not only a conditional definition. + + - Explicit enabling and/or disabling of Automake warning categories + through the '-W...' options now always takes precedence over the + implicit warning level implied by Automake strictness (foreign, gnu + or gnits), regardless of the order in which such strictness and + warning flags appear. For example, a setting like: + AUTOMAKE_OPTIONS = -Wall --foreign + will cause the warnings in category 'portability' to be enabled, even + if those warnings are by default disabled in 'foreign' strictness. diff --git a/NEWS.master b/NEWS.master new file mode 100644 index 0000000..e69de29 diff --git a/NEWS b/old/NEWS similarity index 86% rename from NEWS rename to old/NEWS index 4e49512..c27c72d 100644 --- a/NEWS +++ b/old/NEWS @@ -1,275 +1,3 @@ -New in 1.12: - -* WARNING: Future backward-incompatibilities! - - - Starting from the next major Automake version (1.13), the rules to - build pdf, ps and dvi output from Texinfo input will use the '--tidy' - option by default. Since such an option was introduced in Texinfo - 4.9, this means that Makefiles generated by future Automake versions - will require at least that version of Texinfo. - - - Starting from the next major Automake version (1.13), the parallel - testsuite harness (previously only enabled by the 'parallel-tests' - option) will become the default one; the older serial testsuite - harness will still be available through the use of the 'serial-tests' - option. - - - The following long-obsolete m4 macros will be removed in the - next major Automake version (1.13): - - AM_PROG_CC_STDC: superseded by AC_PROG_CC since October 2002 - fp_PROG_CC_STDC: broken alias for AM_PROG_CC_STDC - fp_WITH_DMALLOC: old alias for AM_WITH_DMALLOC - AM_CONFIG_HEADER: superseded by AC_CONFIG_HEADERS since July 2002 - ud_PATH_LISPDIR: old alias for AM_PATH_LISPDIR - jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE - ud_GNU_GETTEXT: old alias for AM_GNU_GETTEXT - gm_PROG_LIBTOOL: old alias for AC_PROG_LIBTOOL - fp_C_PROTOTYPES: old alias for AM_C_PROTOTYPES (which was part - of the now-removed automatic de-ANSI-fication - support of Automake) - - - All the "old alias" macros in 'm4/obsolete.m4' will be removed in - the next major Automake version (1.13). - - - Support for the "Cygnus-style" trees (enabled by the 'cygnus' option) - will be deprecated in the next minor version of Automake (1.12.1) and - removed in the next major version (1.13). - - - Support for the two- and three-arguments invocation forms of the - AM_INIT_AUTOMAKE macro will be deprecated in the next minor version - of Automake (1.12.1) and removed in the next major version (1.13). - - - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make - variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will - all be deprecated in the next minor version of Automake (1.12.1) - and removed in the next major version (1.13). - - - The '--acdir' option of aclocal is deprecated, and will probably - be removed in the next major Automake release (1.13). You should - use the options '--automake-acdir' and '--system-acdir' instead - (which have been introduced in Automake 1.11.2). - - - The exact order in which the directories in the aclocal macro - search path are looked up is probably going to be changed in the - next Automake release (1.13). - -* Obsolete features removed: - - - The never documented nor truly used script 'acinstall' has been - removed. - - - Support for automatic de-ANSI-fication has been removed. - - - The support for the "obscure" multilib feature has been removed - from Automake core (but remains available in the 'contrib/' - directory of the Automake distribution). - - - Support for ".log -> .html" conversion and the check-html and - recheck-html targets has been removed from Automake core (but - remains available in the 'contrib/' directory of the Automake - distribution). - - - The deprecated 'lzma' compression format for distribution archives - has been removed, in favor of 'xz' and 'lzip'. - - - The obsolete AM_WITH_REGEX macro has been removed. - - - The long-deprecated options '--output-dir', '--Werror' and - '--Wno-error' have been removed. - - - The chapter on the history of Automake has been moved out of the - reference manual, into a new dedicated Texinfo file. - -* New targets: - - - New 'cscope' target to build a cscope database for the source tree. - -* Changes to Automake-generated testsuite harnesses: - - - The new automake option 'serial-tests' has been introduced. It can - be used to explicitly instruct automake to use the older serial - testsuite harness. This is still the default at the moment, but it - might change in future versions. - - - The 'recheck' target (provided by the parallel testsuite harness) now - depends on the 'all' target. This allows for a better user-experience - in test-driven development. See automake bug#11252. - - - Test scripts that exit with status 99 to signal an "hard error" (e.g., - and unexpected or internal error, or a failure to set up the test case - scenario) have their outcome reported as an 'ERROR' now. Previous - versions of automake reported such an outcome as a 'FAIL' (the only - difference with normal failures being that hard errors were counted - as failures even when the test originating them was listed in - XFAIL_TESTS). - - - The testsuite summary displayed by the parallel-test harness has a - completely new format, that always list the numbers of passed, failed, - xfailed, xpassed, skipped and errored tests, even when these numbers - are zero (but using smart coloring when the color-tests option is in - effect). - - - The default testsuite driver offered by the 'parallel-tests' option is - now implemented (partly at least) with the help of automake-provided - auxiliary scripts (e.g., 'test-driver'), instead of relying entirely - on code in the generated Makefile.in. - This has two noteworthy implications. The first one is that projects - using the 'parallel-tests' option should now either run automake with - the '--add-missing' option, or manually copy the 'test-driver' script - into their tree. The second, and more important, implication is that - now, when the 'parallel-tests' option is in use, TESTS_ENVIRONMENT can - not be used anymore to define a test runner, and the command specified - in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable - program or script. For example, this is still a valid usage (albeit - a little contorted): - - TESTS_ENVIRONMENT = \ - if test -n '$(STRICT_TESTS)'; then \ - maybe_errexit='-e'; \ - else \ - maybe_errexit=''; \ - fi; - LOG_COMPILER = $(SHELL) $$maybe_errexit - - while this is not anymore: - - TESTS_ENVIRONMENT = \ - $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'` - - neither is this: - - TESTS_ENVIRONMENT = \ - run_with_perl_or_shell () \ - { \ - if grep -q '^#!.*perl' $$1; then - $(PERL) $$1; \ - else \ - $(SHELL) $$1; \ - fi; \ - } - LOG_COMPILER = run_with_perl_or_shell - - - The package authors can now use customary testsuite drivers within - the framework provided by the 'parallel-tests' testsuite harness. - Consistently with the existing syntax, this can be done by defining - special makefile variables 'LOG_DRIVER' and '<ext>_LOG_DRIVER'. - - - A new developer-reserved variable 'AM_TESTS_FD_REDIRECT' can be used - to redirect/define file descriptors used by the test scripts. - - - The parallel-tests harness generates now, in addition the '.log' files - holding the output produced by the test scripts, a new set of '.trs' - files, holding "metadata" derived by the execution of the test scripts; - among such metadata are the outcomes of the test cases run by a script. - - - Initial and still experimental support for the TAP test protocol is - now provided. - -* Changes to Yacc and Lex support: - - - C source and header files derived from non-distributed Yacc and/or - Lex sources are now removed by a simple "make clean" (while they were - previously removed only by "make maintainer-clean"). - - - Slightly backward-incompatible change, relevant only for use of Yacc - with C++: the extensions of the header files produced by the Yacc - rules are now modelled after the extension of the corresponding - sources. For example, yacc files named "foo.y++" and "bar.yy" will - produce header files named "foo.h++" and "bar.hh" respectively, where - they would have previously produced header files named simply "foo.h" - and "bar.h". This change offers better compatibility with 'bison -o'. - -* Miscellaneous changes: - - - The AM_PROG_VALAC macro now causes configure to exit with status 77, - rather than 1, if the vala compiler found is too old. - - - The build system of Automake itself now avoids the use of make - recursion as much as possible. - - - Automake now prefers to quote 'like this' or "like this", rather - than `like this', in diagnostic message and generated Makefiles, - to accommodate the new GNU Coding Standards recommendations. - - - Automake has a new option '--print-libdir' that prints the path of the - directory containing the Automake-provided scripts and data files. - - - The 'dist' and 'dist-all' targets now can run compressors in parallel. - - - The rules to create pdf, dvi and ps output from Texinfo files now - works better with modern 'texi2dvi' script, by explicitly passing - it the '--clean' option to ensure stray auxiliary files are not - left to clutter the build directory. - - - Automake can now generate silenced rules for texinfo outputs. - - - Some auxiliary files that are automatically distributed by Automake - (e.g., 'install-sh', or the 'depcomp' script for packages compiling - C sources) might now be listed in the DIST_COMMON variable in many - Makefile.in files, rather than in the top-level one. - - - Messages of types warning or error from 'automake' and 'aclocal' - are now prefixed with the respective type, and presence of -Werror - is noted. - - - Automake's early configure-time sanity check now tries to avoid - sleeping for a second, which slowed down cached configure runs - noticeably. In that case, it will check back at the end of the - configure script to ensure that at least one second has passed, to - avoid time stamp issues with makefile rules rerunning autotools - programs. - - - The warnings in the category 'extra-portability' are now enabled by - '-Wall'. In previous versions, one has to use '-Wextra-portability' - to enable them. - -Bugs fixed in 1.12: - - - Various minor bugfixes for recent or long-standing bugs. - -* Bugs introduced by 1.11: - - - The AM_COND_IF macro also works if the shell expression for the - conditional is no longer valid for the condition. - - - The automake-provided parallel testsuite harness does not fail anymore - with BSD make used in parallel mode when there are test scripts in a - subdirectory, like in: - - TESTS = sub/foo.test sub/bar.test - -* Long-standing bugs: - - - Automake's own build system finally have a real "installcheck" target. - - - Vala-related cleanup rules are now more complete, and work better in - a VPATH setup. - - - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are - now automatically distributed also if the directory of the auxiliary - files coincides with the top-level directory. - - - Automake now detects the presence of the '-d' flag in the various - '*YFLAGS' variables even when their definitions involve indirections - through other variables, such as in: - foo_opts = -d - AM_YFLAGS = $(foo_opts) - - - Automake now complains if a '*YFLAGS' variable has any conditional - content, not only a conditional definition. - - - Explicit enabling and/or disabling of Automake warning categories - through the '-W...' options now always takes precedence over the - implicit warning level implied by Automake strictness (foreign, gnu - or gnits), regardless of the order in which such strictness and - warning flags appear. For example, a setting like: - AUTOMAKE_OPTIONS = -Wall --foreign - will cause the warnings in category 'portability' to be enabled, even - if those warnings are by default disabled in 'foreign' strictness. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Bugs fixed in 1.11.5: * Bugs introduced by 1.11.3: -- 1.7.9.5