tests: avoid distcheck failure with --disable-ltdl-install.
I've ran the various distcheck DISTCHECK_CONFIGURE_FLAGS=... tests required for release on my system. This is the only fixup I needed. Pushed to master. Cheers, Ralf tests: avoid distcheck failure with --disable-ltdl-install. * tests/ltdl-libdir.at (libdir of installed modules): Skip if $LIBLTDL does not exist. diff --git a/tests/ltdl-libdir.at b/tests/ltdl-libdir.at index 7065c5b..01c9e70 100644 --- a/tests/ltdl-libdir.at +++ b/tests/ltdl-libdir.at @@ -93,6 +93,9 @@ main (int argc, const char *argv[]) : ${LTDLINCL="-I$abs_top_srcdir/libltdl"} : ${LIBLTDL="$abs_builddir/../libltdl/libltdlc.la"} +# Skip installcheck if --disable-ltdl-install was used. +AT_CHECK([test -f "$LIBLTDL" || exit 77]) + CPPFLAGS="$LTDLINCL $CPPFLAGS" LDFLAGS="$LDFLAGS -no-undefined"
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 + 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, . + 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 testsuite only, do it li
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 + 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 at: + +ht
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 + 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 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 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'), pleas
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 >> >> +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 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 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 with a >> + subject line including the string
Re: README cleanups
Hallo Ralf, Thanks for the reviews. On 18 Sep 2010, at 13:15, Ralf Wildenhues wrote: > > * Gary V. Vaughan wrote on Sat, Sep 18, 2010 at 07:20:12AM CEST: >> Okay to push? > > I'm fine with this patch series. Thanks. Pushing... > A minor nit: users don't really need GNU make to build Libtool from a > release tarball unless they want to do VPATH builds. This was stated > before your patch though. (For a git checkout, I think GNU make may be > necessary.) The INSTALL file should already warn about non-GNU make and > VPATH anyway. I've amended the wording of that paragraph in 1/6 to now read: "Please note that you can build GNU Libtool from this directory using a vendor Make program as long as this is an official release tarball; otherwise you will need GNU Make for sane VPATH support. See the file INSTALL for complete generic instructions on how to build and install Libtool. Also, see the file doc/notes.txt for some platform- specific information." Cheers, -- Gary V. Vaughan (g...@gnu.org) PGP.sig Description: This is a digitally signed message part
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