From 5ffeefb1abbd1ae09dca20339a697e1ca25907ad Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 20 Sep 2006 21:28:26 +0000 Subject: * bootstrap: Add support for --force. (usage): New function. Describe usage less tersely. (CVS_only_file): New var. --- ChangeLog | 4 ++++ bootstrap | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6455f6939..117bee3a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-09-20 Paul Eggert + * bootstrap: Add support for --force. + (usage): New function. Describe usage less tersely. + (CVS_only_file): New var. + * NEWS: Document fix for cp -i and mv -i. * src/copy.c (copy_internal): With -i, prompt even if the source is a directory and the destination is not. This is required by diff --git a/bootstrap b/bootstrap index 8828a7e5b..127a3bb30 100755 --- a/bootstrap +++ b/bootstrap @@ -29,6 +29,28 @@ nl=' LC_ALL=C export LC_ALL +usage() { + echo >&2 "\ +Usage: $0 [OPTION]... +Bootstrap this package from the CVS sources. + +Options: + --gnulib-srcdir=DIRNAME Specify the local directory where gnulib + sources reside. Use this if you already + have gnulib sources on your machine, and + do not want to waste your bandwidth dowloading + them again. + --force Bootstrap even if the sources didn't come from CVS. + --skip-po Do not download po files. + --cvs-user=USERNAME Set the CVS username to be used when accessing + the gnulib repository. + +If the file .bootstrap.conf exists in the current working directory, its +contents are read as shell variables to configure the bootstrap. + +Running without arguments will suffice in most cases. +" +} # Configuration. @@ -86,6 +108,10 @@ XGETTEXT_OPTIONS='\\\ # Files we don't want to import. excluded_files= +# File that should exist with CVS checkout, but not with +# the distributed version. +CVS_only_file=CVS + # Override the default configuration, if necessary. test -r bootstrap.conf && . ./bootstrap.conf @@ -97,7 +123,7 @@ for option do case $option in --help) - echo "$0: usage: $0 [--gnulib-srcdir=DIR] [--cvs-user=USERNAME] [--skip-po]" + usage exit;; --gnulib-srcdir=*) GNULIB_SRCDIR=`expr "$option" : '--gnulib-srcdir=\(.*\)'`;; @@ -105,12 +131,19 @@ do CVS_USER=`expr "$option" : '--cvs-user=\(.*\)'`;; --skip-po) SKIP_PO=t;; + --force) + CVS_only_file=;; *) echo >&2 "$0: $option: unknown option" exit 1;; esac done +if test -n "$CVS_only_file" && test ! -r "$CVS_only_file"; then + echo "$0: Bootstrapping from a non-CVS distribution is a bit risky." >&2 + exit 1 +fi + echo "$0: Bootstrapping CVS $package..." cleanup_gnulib() { -- cgit v1.2.3-70-g09d2