bootstrap safety
Eric Blake <[email protected]>
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 A recent bug report to coreutils pointed out that running ./bootstrap on a distribution tarball is risky - a user might report bugs claiming to be m4 1.4.7, but with newer files pulled from gnulib. So I'm installing this to branch and head. 2006-09-21 Eric Blake <[email protected]> * bootstrap: Add --force option, based on idea from coreutils. * README: Document that ./bootstrap and autoreconf are for developers, and not lightly done in tarballs. - -- Life is short - so eat dessert first! Eric Blake [email protected] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFEo4k84KuGfSFAYARAhu3AKCX3ypy/Vp1ugbr5FLpX/Y9B9wa+wCfeqYQ jFs9yvTCHCX+3ghnX7FmUPs= =aYVp -----END PGP SIGNATURE----- _______________________________________________ M4-patches mailing list [email protected] http://lists.gnu.org/mailman/listinfo/m4-patches
m4.patch163
(text/plain, 3.6 KB)
Index: bootstrap =================================================================== RCS file: /sources/m4/m4/bootstrap,v retrieving revision 1.39 diff -u -p -r1.39 bootstrap --- bootstrap 8 Sep 2006 15:47:13 -0000 1.39 +++ bootstrap 21 Sep 2006 13:03:15 -0000 @@ -1,6 +1,6 @@ #! /bin/sh -# bootstrap (GNU M4) version 2006-09-08 +# bootstrap (GNU M4) version 2006-09-21 # Written by Gary V. Vaughan <[email protected]> # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. @@ -25,6 +25,7 @@ # Usage: $progname [options] +# -f --force bootstrap even when sources are not from CVS # -p ARG --download-po=ARG whether to download pofiles [yes] # -v --version print version information # -h,-? --help print short or long help message @@ -87,6 +88,9 @@ progpath="$0" progname=`echo "$progpath" | $SED "$basename"` PROGRAM=bootstrap +# Detect whether this is a CVS checkout or a tarball +CVS_only_file=HACKING + # func_echo arg... # Echo program name prefixed message. func_echo () @@ -195,6 +199,10 @@ func_version () opt="$1" shift case $opt in + -f|--force) + CVS_only_file= + ;; + -p|--download-po) test $# = 0 && func_missing_arg $opt && break case $1 in @@ -228,6 +236,10 @@ func_version () # Bail if the options were screwed $exit_cmd $EXIT_FAILURE + + if test -n "$CVS_only_file" && test ! -r "$CVS_only_file"; then + func_fatal_error "Bootstrapping from a non-CVS distribution is risky." + fi } ## ------------------------------ ## Index: README =================================================================== RCS file: /sources/m4/m4/README,v retrieving revision 1.11 diff -u -p -r1.11 README --- README 22 Aug 2006 16:16:47 -0000 1.11 +++ README 21 Sep 2006 13:03:15 -0000 @@ -14,6 +14,11 @@ should be fully installed *prior to* con Likewise, if you intend on hacking GNU `m4' from CVS, the bootstrap process requires that you first install a released copy of GNU `m4'. +If you are just trying to build `m4' from a released tarball, you +should not normally need to run `./bootstrap' or `autoreconf'; just go +ahead and start with `./configure'. If you are trying to build `m4' +from CVS, more information can be found in the CVS-only file HACKING. + In the subdirectories `tests' and `examples' you will find various m4 files, ranging from trivial test files to rather advanced macros. If you intend to use m4 seriously, you might find useful material down @@ -47,7 +52,9 @@ GNU M4 uses GNU Libtool in order to buil variety of systems. While this is very nice for making usable binaries, it can be a pain when trying to debug a program. For that reason, compilation of shared libraries can be turned off by -specifying the `--disable-shared' option to `configure'. +specifying the `--disable-shared' option to `configure'. However, +without shared libraries, modules that are not preloaded will not be +available for use. Send bug reports, comments or ideas to `[email protected]'. A bug report is an adequate description of the problem: your input, what you @@ -69,12 +76,6 @@ make check TESTSUITEFLAGS='-v -d -x 12' The testsuite understands --help to tell you more about the current set of tests. -If you wish to run bootstrap, the released versions of -automake and libtool are missing some functionality we need. You -will need a CVS build of libtool head (1.5.x does not have enough -functionality), autoconf 2.60 or later, automake 1.9b or later, -gettext 0.15 or later, and a CVS checkout of gnulib. - ======================================================================== Copyright (C) 2000, 2005, 2006 Free Software Foundation, Inc.