]> Dogcows Code - chaz/tar/blobdiff - bootstrap
Don't use "for option; do"; Solaris 8 /bin/sh doesn't like that.
[chaz/tar] / bootstrap
index 45a4b7969d7e3b880b71c9872e0c7bb6c1bb9d1f..3245670d8d9a55e0d3f17e1d474b4e4e12ca31c1 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
 
 # Parse options.
 
-for option; do
+for option
+do
   case $option in
   --help)
-    echo "$0: usage: $0 [--gnulib-srcdir=DIR]"
+    echo "$0: usage: $0 [--gnulib-srcdir=DIR][--cvs-auth=AUTH-METHOD][--cvs-user=USERNAME]"
     exit;;
   --gnulib-srcdir=*)
     GNULIB_SRCDIR=`expr "$1" : '--gnulib-srcdir=\(.*\)'`;;
+  --cvs-auth=*)
+    CVS_AUTH=`expr "$1" : '--cvs-auth=\(.*\)'`;;
+  --cvs-user=*)
+    CVS_USER=`expr "$1" : '--cvs-user=\(.*\)'`;;
   *)
     echo >&2 "$0: $option: unknown option"
     exit 1;;
   esac
 done
 
-
 echo "$0: Bootstrapping CVS tar..."
 
+build_cvs_prefix() {
+  CVS_PREFIX=:${1}:
+  if [ "${2}" != - ]; then
+    CVS_PREFIX=${CVS_PREFIX}${2}@
+  fi
+}
 
 # Get gnulib files.
 
-echo "$0: getting gnulib files..."
-
 case ${GNULIB_SRCDIR--} in
 -)
   if [ ! -d gnulib ]; then
+    echo "$0: getting gnulib files..."
+
     trap exit 1 2 13 15
     trap 'rm -fr gnulib; exit 1' 0
-    cvs -q -d savannah.gnu.org:/cvsroot/gnulib co gnulib  || exit
+    
+    case "${CVS_AUTH--}" in
+    -)       : ${CVS_RSH:?}
+             CVS_PREFIX="";;
+    pserver) build_cvs_prefix $CVS_AUTH ${CVS_USER:-anoncvs};;
+    gserver|server)
+             build_cvs_prefix $CVS_AUTH ${CVS_USER--};;
+    ext)     : ${CVS_RSH:?}
+             build_cvs_prefix $CVS_AUTH ${CVS_USER--};;
+    *)       echo "$0: Unknown CVS access method" >&2
+             exit 1;;
+    esac
+    if [ "${CVS_AUTH--}" = "pserver" ]; then
+      cvs -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib login || exit
+    fi
+    cvs -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit
+
     trap 0
   fi
   GNULIB_SRCDIR=gnulib
This page took 0.02052 seconds and 4 git commands to generate.