s4

annotate s4-start.sh @ 87:573f0d54eb5c

guestonlymode
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 03 Aug 2015 16:06:50 +0900
parents 518e3afcb230
children e475a74e2699
rev   line source
yuuji@82 1 #!/bin/sh
yuuji@82 2 # 愛
yuuji@82 3 # Start s4 - Generate s4.cgi
yuuji@82 4 mydir=`dirname $0`
yuuji@82 5 myname=`basename $0`
yuuji@82 6
yuuji@82 7 script_dir=${SCRIPT_DIR:-scripts}
yuuji@82 8
yuuji@86 9 ADMIN=""
yuuji@86 10 TYPE="form1"
yuuji@82 11 ex=examples
yuuji@82 12
yuuji@82 13 usage() {
yuuji@82 14 cat<<EOF
yuuji@82 15 $myname `sed -n 3p $0`
yuuji@82 16 Usage: $myname [Options]
yuuji@82 17 Options are as follows:
yuuji@82 18 -h Show this help
yuuji@82 19 -a ADM Set ADMIN email address to ADM
yuuji@82 20 -f Force overwriting
yuuji@86 21 -t TYPE Construction type (defaults to $TYPE)
yuuji@82 22
yuuji@82 23 TYPEs are one of directory names in examples except \`common'.
yuuji@82 24 EOF
yuuji@82 25 exit 0
yuuji@82 26 }
yuuji@87 27 while getopts a:fght: f; do
yuuji@82 28 case $f in
yuuji@86 29 a) ADMIN=$OPTARG;;
yuuji@87 30 g) guest=1;;
yuuji@82 31 f) force=1;;
yuuji@86 32 t) TYPE=$OPTARG;;
yuuji@82 33 \?|h) usage; exit 1;;
yuuji@82 34 esac
yuuji@82 35 done
yuuji@82 36 shift $(expr $OPTIND - 1)
yuuji@82 37
yuuji@86 38 if [ ! -d $ex/$TYPE ]; then
yuuji@82 39 cat<<EOF 1>&2
yuuji@86 40 Invalid type($TYPE).
yuuji@82 41 Types are one of as follows.
yuuji@82 42 `ls $ex|grep -v common | sed 's/^/ /'`
yuuji@82 43 EOF
yuuji@82 44 exit 1
yuuji@82 45 fi
yuuji@82 46
yuuji@86 47 if [ -z "$ADMIN" ]; then
yuuji@82 48 cat<<EOF 1>&2
yuuji@82 49 Administrator's email not specified.
yuuji@82 50 Please feed administrator email with \`-a' option.
yuuji@82 51 EOF
yuuji@82 52 exit 1
yuuji@82 53 fi
yuuji@82 54
yuuji@82 55 if ! cd $mydir; then
yuuji@82 56 echo "Script(s4-funcs.sh) not found in \`$mydir'." 1>&2
yuuji@82 57 exit 1
yuuji@82 58 fi
yuuji@82 59
yuuji@82 60 . ./s4-funcs.sh || exit 2
yuuji@86 61 if ! checkdomain $ADMIN; then
yuuji@82 62 cat<<EOF 1>&2
yuuji@86 63 Administrator's email - $ADMIN - is invalid(host not found).
yuuji@82 64 Please specify existing email address.
yuuji@82 65 EOF
yuuji@82 66 exit 3
yuuji@82 67 fi
yuuji@82 68
yuuji@82 69 if [ -d templ/form ]; then
yuuji@82 70 if [ -z "$force" ]; then
yuuji@82 71 echo "templ/ directory already exists. Remove it, then try again." 1>&2
yuuji@82 72 exit 4
yuuji@82 73 fi
yuuji@82 74 rm -rf templ/*
yuuji@82 75 fi
yuuji@82 76 mkdir templ
yuuji@82 77 if (cd templ && ln -s ../examples/$type/* .); then
yuuji@82 78 if ./s4-init.sh; then
yuuji@82 79 cat<<EOF
yuuji@82 80 -------- The s4 System Successfully Installed --------
yuuji@82 81 EOF
yuuji@87 82 (echo "ADMIN=$ADMIN"
yuuji@87 83 [ "$GUEST" ] && echo "guestonlymode=1") >> s4-config.sh && rc=0
yuuji@82 84 else
yuuji@82 85 echo Calling s4-init.sh 'FAILED!!'
yuuji@82 86 fi
yuuji@82 87 else
yuuji@82 88 echo Failed
yuuji@82 89 fi 1>&2
yuuji@82 90
yuuji@82 91 exit ${rc:-5}