Re: [PATCH 6/6] maint: use sed instead of maintaining 2 README files.
* Gary V. Vaughan wrote on Sat, Sep 18, 2010 at 07:20:18AM CEST: * README.alpha: Deleted. It was mostly identical to README. * libltdl/config/edit-readme-alpha: New script to edit the contents of README in the dist tree prior to tarring up. * Makefile.am (dist-hook): Run it before rolling alpha release tarball. For what it's worth ... --- /dev/null +++ b/libltdl/config/edit-readme-alpha +for file in $@; do + trap 'x=$?; rm $file.T; exit $x' 1 2 13 15 + + sed -e '/^This is GNU Libtool,/,/^interface.$/c\ +This is an alpha testing release of GNU Libtool, a generic library\ +support script. Libtool hides the complexity of using shared libraries\ +behind a consistent, portable interface.' $file $file.T \ this script will wrongly exit with status 0 if the stdout redirection fails at this point. + mv -f $file.T $file + + test -f $file.T { +rm $file.T +echo $0: unable to edit $file +exit 1 + } +done + +exit 0 Cheers, Ralf
Re: [PATCH] Skip need_lib_prefix.at on systems without lib prefix on libraries.
Den 2010-09-18 00:04 skrev Roumen Petrov: Hi Peter, Peter Rosin wrote: Hi! need_lib_prefix.at currently fails with MSVC. Hmm probably test fail as shared library is build without -no-undefined flag. Did libtool MSC allow creation of shared libraries without -no-undefined ? On windows platforms (msc, gcc(mingw*)) may be the test require some PATH magics. (as example like func_fix_path from static.at test) You are barking up the wrong tree, since: 1. The test passes on MinGW and Cygwin with gcc, if wouldn't do that if -no-undefined was the cause of the fail. 2. The patch in the old quoted message makes the test pass on MSVC, which it wouldn't do if -no-undefined was the cause of the fail. PATH magic is not relevant if -no-undefined is not passed, since everything should be static in that case (no dlls created). Cheers, Peter
Re: [PATCH 2/2] Move portable shell tests from the old to the new testsuite.
Den 2010-09-17 19:28 skrev Charles Wilson: On 9/17/2010 1:23 PM, Ralf Wildenhues wrote: And since IIRC Gary wanted to do the release this weekend, I wonder whether this isn't more safely pushed to after the relase. WDYT? FWIW, I agree that this patch should be postponed until after the release. I'm agnostic on whether tests -- such as this one -- should be moved from the old test suite to the new one. It's not as if the old test suite will EVER go away, is it, since it serves as a collection of demos. OTOH, the new test suite is a nicer framework all around... I too think it should be postponed but failed to say so explicitly, sorry about that. I'll come back to it after the release. Cheers, Peter
Re: [PATCH 4/6] maint: reformat README `The Test Suites' for consistency.
This README patch looks fine to me. Bob On Sat, 18 Sep 2010, Gary V. Vaughan wrote: * README (The Test Suites): Reformatted for consistency. * README.alpha (The Test Suites): Adjust to match. --- ChangeLog|4 README | 38 -- README.alpha | 39 +-- 3 files changed, 49 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e04bda..25c23db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-09-18 Gary V. Vaughan g...@gnu.org + maint: reformat README `The Test Suites' for consistency. + * README (The Test Suites): Reformatted for consistency. + * README.alpha (The Test Suites): Adjust to match. + maint: improve `Reporting Bugs' in README and README.alpha. * README (Reporting Bugs): Rewritten to a more complete and concise guide to providing a good bug report. diff --git a/README b/README index a40f96c..efd678d 100644 --- a/README +++ b/README @@ -79,15 +79,15 @@ Libtool comes with two integrated sets of tests to check that your build is sane. You can run both test suites like this, assuming that `gmake' refers to GNU make: - gmake -k check +gmake -k check If you want to run the old testsuite only, do it like this: - gmake check TESTSUITEFLAGS=-V +gmake check TESTSUITEFLAGS=-V If you want to run the new testsuite only, do it like this: - gmake check-local +gmake check-local The tests of the old test suite run in groups in the various demo subdirectories, so if one of the tests early in a group FAILs, the rest @@ -100,9 +100,8 @@ To run a test group of the old test suite in isolation (say, you think you have fixed a bug, but don't want to rerun the entire suite), you can do it like this: - gmake check TESTS=tests/cdemo-static.test tests/cdemo-static-make.test \ - tests/cdemo-static-exec.test \ - TESTSUITEFLAGS=-V +gmake check TESTSUITEFLAGS=-V TESTS=tests/cdemo-static.test \ +tests/cdemo-static-make.test tests/cdemo-static-exec.test Providing that you have a FAIL from the most recent group from a particular demo directory (like the cdemo-static.test group above), you @@ -118,37 +117,40 @@ the verbose output from all failed tests. In order to enable debug shell tracing, you can set VERBOSE=debug when running the old test suite. +In the long run, Libtool will move to using only the new, Autotest- +driven testsuite. Its usage is documented in: -In the long run, Libtool will move to using only the new, -Autotest-driven testsuite. Its usage is documented in +info Autoconf 'testsuite Invocation' - info Autoconf 'testsuite Invocation' +but simple help may also be obtained through: -but simple help may also be obtained through - - gmake check-local TESTSUITEFLAGS='--help' +gmake check-local TESTSUITEFLAGS='--help' For verbose output, add the flag `-v', for running only a subset of the independent tests, merely specify them by number or by keyword, both of which are displayed with the `--list' flag. For example, the `libtool' keyword is used for the tests that exercise only this script. So it is possible to test an installed script, possibly from a different Libtool -release, with - gmake check-local TESTSUITEFLAGS=-k libtool LIBTOOL=/path/to/libtool +release, with: + +gmake check-local \ +TESTSUITEFLAGS=-k libtool LIBTOOL=/path/to/libtool Some tests, like the one exercising max_cmd_len limits, make use of this to invoke the testsuite recursively on a subset of tests. For these tests, the variable INNER_TESTSUITEFLAGS may be used. It will be -expanded right after the `-k libtool', without separating whitespace, -so that further limiting of the recursive set of tests is possible. -For example, to run only the template tests within the max_cmd_len, use - gmake check-local TESTSUITEFLAGS=-v -x -k max_cmd_len \ +expanded right after the `-k libtool', without separating whitespace, so +that further limiting of the recursive set of tests is possible. For +example, to run only the template tests within the max_cmd_len, use: + +gmake check-local TESTSUITEFLAGS=-v -x -k max_cmd_len \ INNER_TESTSUITEFLAGS=',template -v -x' If you wish to report test failures to the libtool list, you need to send the file `tests/testsuite.log' to the bug report mailing list, bug-libt...@gnu.org. + 4. Obtaining the Latest Sources === diff --git a/README.alpha b/README.alpha index a8912a6..5082ed3 100644 --- a/README.alpha +++ b/README.alpha @@ -79,15 +79,15 @@ Libtool comes with two integrated sets of tests to check that your build is sane. You can run both test suites like this, assuming that `gmake' refers to GNU make: - gmake -k check +gmake -k check If you want to run the old testsuite only, do it like this: - gmake check TESTSUITEFLAGS=-V +gmake check TESTSUITEFLAGS=-V If you want to run the new
Re: [PATCH 5/6] maint: improve README's `Obtaining the Latest Sources'.
This patch seems fine to me as well. Bob On Sat, 18 Sep 2010, Gary V. Vaughan wrote: * README (Obtaining the Latest Sources): Add instructions for obtaining stable, alpha and nightly snapshot tarballs. * README.alpha (Obtaining the Latest Sources): Adjust to match. --- ChangeLog|5 + README | 56 +++- README.alpha | 56 +++- 3 files changed, 115 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25c23db..a4781d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-09-18 Gary V. Vaughan g...@gnu.org + maint: improve README's `Obtaining the Latest Sources'. + * README (Obtaining the Latest Sources): Add instructions for + obtaining stable, alpha and nightly snapshot tarballs. + * README.alpha (Obtaining the Latest Sources): Adjust to match. + maint: reformat README `The Test Suites' for consistency. * README (The Test Suites): Reformatted for consistency. * README.alpha (The Test Suites): Adjust to match. diff --git a/README b/README index efd678d..21bfe21 100644 --- a/README +++ b/README @@ -154,6 +154,52 @@ send the file `tests/testsuite.log' to the bug report mailing list, 4. Obtaining the Latest Sources === +* With the exception of ancient releases, all official GNU Libtool + releases have a detached GPG signature file. With this you can verify + that the corresponding file (i.e. without the `.sig' suffix) is the + same file that was released by the owner of it's GPG key ID. First, + be sure to download both the .sig file and the corresponding release, + then run a command like this: + +gpg --verify libtool-x.y.z.tar.gz.sig + + If that command fails because you don't have the required public key, + then run this command to import it: + +gpg --keyserver keys.gnupg.net --recv-keys 2983D606 + + and then rerun the `gpg --verify' command. + +* Official stable releases of GNU Libtool, along with these detached + signature files are available from: + +ftp://ftp.gnu.org/gnu/libtool + + To reduce load on the main server, please use one of the mirrors + listed at: + +http://www.gnu.org/order/ftp.html + +* Alpha quality pre-releases of GNU Libtool, also with detached + signature files are available from: + +ftp://alpha.gnu.org/gnu/libtool + + and some of the mirrors listed at: + +http://www.gnu.org/order/ftp.html + +* Nightly snapshots of the unreleased development trunk of GNU Libtool + are available from: + +http://pogma.com/libtool + + These files do not have signatures, but will allow you to easily + determine whether the most recent development code still exhibits any + bugs you have discovered, without requiring you to install a complete + build environment and the extra tools needed to bootstrap a version + control checkout. + * The master libtool repository is stored in git. If you are a member of the savannah group for GNU Libtool, a writable @@ -195,6 +241,14 @@ send the file `tests/testsuite.log' to the bug report mailing list, - Autoconf 2.59 or later - Automake 1.9.6 or later +* The `bootstrap' script sets up the source directory for you to hack, + though it may take quite some time to run. If you don't intend to + re-run the test suite, you can speed up the `bootstrap' step by an + order of magnitude if you call it like this instead: + +reconfdirs='. libltdl' ./bootstrap + + 5. Version Numbering @@ -250,7 +304,7 @@ things: For more details about version numbers, see: http://www.gnu.org/software/libtool/contribute.html --- +-- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Written by Gary V. Vaughan, 2004 diff --git a/README.alpha b/README.alpha index 5082ed3..1771124 100644 --- a/README.alpha +++ b/README.alpha @@ -154,6 +154,52 @@ send the file `tests/testsuite.log' to the bug report mailing list, 4. Obtaining the Latest Sources === +* With the exception of ancient releases, all official GNU Libtool + releases have a detached GPG signature file. With this you can verify + that the corresponding file (i.e. without the `.sig' suffix) is the + same file that was released by the owner of it's GPG key ID. First, + be sure to download both the .sig file and the corresponding release, + then run a command like this: + +gpg --verify libtool-x.y.z.tar.gz.sig + + If that command fails because you don't have the required public key, + then run this command to import it: + +gpg --keyserver keys.gnupg.net --recv-keys 2983D606 + + and then rerun the `gpg --verify' command. + +* Official stable releases of GNU Libtool, along with these detached + signature files are available from: + +ftp://ftp.gnu.org/gnu/libtool + + To reduce load on the main server, please use one of the mirrors + listed
Re: [PATCH 2/6] maint: consolidate Introductions of README and README.alpha.
This patch seems fine to me except that the doc/PLATFORMS information referred to is totally archaic. It does not really matter if libtool 0.8 worked on alpha-dec-osf3.2 because we have no clue if modern libtool does so and probably don't really care if it does. It seems to me that doc/PLATFORMS should refer to the most recently verified version, and not to the first version which worked. Given this, we should plan on re-starting doc/PLATFORMS from scratch. Bob On Sat, 18 Sep 2010, Gary V. Vaughan wrote: * README (Introduction): Rewritten to a more logical order for first time users, incorporating some additional text that was previously only in README.alpha. * README.alpha (Introduction): Adjust to match. --- ChangeLog|6 ++ README | 30 -- README.alpha | 37 - 3 files changed, 54 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e1cb95..9db58e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-09-18 Gary V. Vaughan g...@gnu.org + maint: consolidate Introductions of README and README.alpha. + * README (Introduction): Rewritten to a more logical order for + first time users, incorporating some additional text that was + previously only in README.alpha. + * README.alpha (Introduction): Adjust to match. + maint: copy the Version Numbering section into README.alpha. * README.alpha (Version Numbering): No less useful for users of alpha releases. Copied from README. diff --git a/README b/README index 16328bb..acf8f8b 100644 --- a/README +++ b/README @@ -8,22 +8,32 @@ This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. -To use Libtool, add the new generic library building commands to your -Makefile, Makefile.in, or Makefile.am. See the documentation for -details. - Libtool's home page is: - http://www.gnu.org/software/libtool/libtool.html +http://www.gnu.org/software/libtool/libtool.html See the file NEWS for a description of recent changes to Libtool. -See the file INSTALL for generic instructions on how to build and install -Libtool. Please see the file doc/notes.txt for some platform-specific -information. Please note that you need GNU make to build Libtool. +See the file INSTALL for generic instructions on how to build and +install Libtool. Please see the file doc/notes.txt for some platform- +specific information. Please note that you need GNU make to build +Libtool. + +See the info node (libtool)Tested Platforms. (or the file doc/PLATFORMS) +for a list of platforms that Libtool already supports. -See the info node (libtool)Tested Platforms. (or the file -doc/PLATFORMS) for a list of platforms that Libtool supports. +Please try it on all the platforms you have access to: + + * If it builds and passes the test suite (`gmake check'), please send + a short note to the libtool mailing list libt...@gnu.org with a + subject line including the string `[PLATFORM]', and containing the + details from the end of `./libtool --help' in the body. + * Otherwise, see `Reporting Bugs' below for how to help us fix any + problems you discover. + +To use Libtool, add the new generic library building commands to your +Makefile, Makefile.in, or Makefile.am. See the documentation for +details. 2. Reporting Bugs diff --git a/README.alpha b/README.alpha index 8c72c03..6f4ed3b 100644 --- a/README.alpha +++ b/README.alpha @@ -4,17 +4,36 @@ GNU Libtool 1. Introduction === -This is an alpha testing release of GNU Libtool, please try it on all -the platforms you have access to. Using it more or less implicitly -signs you up to help us find whatever problems you report. +This is an alpha testing release of GNU Libtool, a generic library +support script. Libtool hides the complexity of using shared libraries +behind a consistent, portable interface. -See the file INSTALL for generic instructions on how to build and install -Libtool. Please see the file doc/notes.txt for some platform-specific -information. Please note that you need GNU make to build Libtool. +Libtool's home page is: -If it builds and passes the test suite (`gmake check'), please send -notification to the libtool mailing list libt...@gnu.org with a -subject line including the string `[PLATFORM]'. +http://www.gnu.org/software/libtool/libtool.html + +See the file NEWS for a description of recent changes to Libtool. + +See the file INSTALL for generic instructions on how to build and +install Libtool. Please see the file doc/notes.txt for some platform- +specific information. Please note that you need GNU make to build +Libtool. + +See the info node (libtool)Tested Platforms. (or the file doc/PLATFORMS) +for a list of platforms that Libtool already supports. + +Please try it on all the platforms you have access to: + + * If it builds and
Re: [PATCH 2/6] maint: consolidate Introductions of README and README.alpha.
[[top-post re-ordered]] Hi Bob, Thanks for the reviews. On Sat, 18 Sep 2010, Gary V. Vaughan wrote: * README (Introduction): Rewritten to a more logical order for first time users, incorporating some additional text that was previously only in README.alpha. * README.alpha (Introduction): Adjust to match. --- ChangeLog|6 ++ README | 30 -- README.alpha | 37 - 3 files changed, 54 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e1cb95..9db58e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-09-18 Gary V. Vaughan g...@gnu.org +maint: consolidate Introductions of README and README.alpha. +* README (Introduction): Rewritten to a more logical order for +first time users, incorporating some additional text that was +previously only in README.alpha. +* README.alpha (Introduction): Adjust to match. + maint: copy the Version Numbering section into README.alpha. * README.alpha (Version Numbering): No less useful for users of alpha releases. Copied from README. diff --git a/README b/README index 16328bb..acf8f8b 100644 --- a/README +++ b/README @@ -8,22 +8,32 @@ This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface. -To use Libtool, add the new generic library building commands to your -Makefile, Makefile.in, or Makefile.am. See the documentation for -details. - Libtool's home page is: - http://www.gnu.org/software/libtool/libtool.html +http://www.gnu.org/software/libtool/libtool.html See the file NEWS for a description of recent changes to Libtool. -See the file INSTALL for generic instructions on how to build and install -Libtool. Please see the file doc/notes.txt for some platform-specific -information. Please note that you need GNU make to build Libtool. +See the file INSTALL for generic instructions on how to build and +install Libtool. Please see the file doc/notes.txt for some platform- +specific information. Please note that you need GNU make to build +Libtool. + +See the info node (libtool)Tested Platforms. (or the file doc/PLATFORMS) +for a list of platforms that Libtool already supports. -See the info node (libtool)Tested Platforms. (or the file -doc/PLATFORMS) for a list of platforms that Libtool supports. +Please try it on all the platforms you have access to: + + * If it builds and passes the test suite (`gmake check'), please send + a short note to the libtool mailing list libt...@gnu.org with a + subject line including the string `[PLATFORM]', and containing the + details from the end of `./libtool --help' in the body. + * Otherwise, see `Reporting Bugs' below for how to help us fix any + problems you discover. + +To use Libtool, add the new generic library building commands to your +Makefile, Makefile.in, or Makefile.am. See the documentation for +details. 2. Reporting Bugs diff --git a/README.alpha b/README.alpha index 8c72c03..6f4ed3b 100644 --- a/README.alpha +++ b/README.alpha @@ -4,17 +4,36 @@ GNU Libtool 1. Introduction === -This is an alpha testing release of GNU Libtool, please try it on all -the platforms you have access to. Using it more or less implicitly -signs you up to help us find whatever problems you report. +This is an alpha testing release of GNU Libtool, a generic library +support script. Libtool hides the complexity of using shared libraries +behind a consistent, portable interface. -See the file INSTALL for generic instructions on how to build and install -Libtool. Please see the file doc/notes.txt for some platform-specific -information. Please note that you need GNU make to build Libtool. +Libtool's home page is: -If it builds and passes the test suite (`gmake check'), please send -notification to the libtool mailing list libt...@gnu.org with a -subject line including the string `[PLATFORM]'. +http://www.gnu.org/software/libtool/libtool.html + +See the file NEWS for a description of recent changes to Libtool. + +See the file INSTALL for generic instructions on how to build and +install Libtool. Please see the file doc/notes.txt for some platform- +specific information. Please note that you need GNU make to build +Libtool. + +See the info node (libtool)Tested Platforms. (or the file doc/PLATFORMS) +for a list of platforms that Libtool already supports. + +Please try it on all the platforms you have access to: + + * If it builds and passes the test suite (`gmake check'), please send + a short note to the libtool mailing list libt...@gnu.org with a + subject line including the string `[PLATFORM]', and containing the + details from the end of `./libtool --help' in the body. + * Otherwise, see `Reporting Bugs' below for how to help us fix any +
Re: [PATCH 6/6] maint: use sed instead of maintaining 2 README files.
On 18 Sep 2010, at 13:40, Ralf Wildenhues wrote: * Gary V. Vaughan wrote on Sat, Sep 18, 2010 at 07:20:18AM CEST: * README.alpha: Deleted. It was mostly identical to README. * libltdl/config/edit-readme-alpha: New script to edit the contents of README in the dist tree prior to tarring up. * Makefile.am (dist-hook): Run it before rolling alpha release tarball. For what it's worth ... --- /dev/null +++ b/libltdl/config/edit-readme-alpha +for file in $@; do + trap 'x=$?; rm $file.T; exit $x' 1 2 13 15 + + sed -e '/^This is GNU Libtool,/,/^interface.$/c\ +This is an alpha testing release of GNU Libtool, a generic library\ +support script. Libtool hides the complexity of using shared libraries\ +behind a consistent, portable interface.' $file $file.T \ this script will wrongly exit with status 0 if the stdout redirection fails at this point. Ah, true. I was trying to keep the script simple, and overdid it a bit. In light of that, and my having noticed that the script also didn't complain if sed was unable to match any text to edit, I've now improved the script thus: EXIT_SUCCESS=0 EXIT_FAILURE=1 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as sh and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program: progname=`echo $progpath |sed 's|^.*/||'` # func_fatal_error ARG... # --- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { echo $progname: $* 2 exit $EXIT_FAILURE } for file in $@; do # Make sure the paragraph we are matching has not been edited since # this script was written. matched=`sed -n -e '/^This is GNU Libtool,/,/^interface.$/p' $file \ |wc -l |sed 's|^ *||'` test 3 = $matched \ || func_fatal_error $file format has changed, please fix \`$0' # Don't leave file droppings. trap 'x=$?; rm $file.T; exit $x' 1 2 13 15 # Edit the first paragraph to be suitable for an alpha release. sed -e '/^This is GNU Libtool,/,/^interface.$/c\ This is an alpha testing release of GNU Libtool, a generic library\ support script. Libtool hides the complexity of using shared libraries\ behind a consistent, portable interface.' $file $file.T # Diagnose redirection failure. test -f $file.T || func_fatal_error Unable to write $file.T # Overwrite the original file with our edited version. mv $file.T $file || func_fatal_error Unable to edit $file done exit $EXIT_SUCCESS Retested with version 2.2.11a and version 2.4.0 before pushing. Cheers, -- Gary V. Vaughan (g...@gnu.org) PGP.sig Description: This is a digitally signed message part