1985-02-15 22:53:13 +00:00
|
|
|
case $# in
|
|
|
|
0) PAR=install ; CMD=Action ;;
|
|
|
|
1) PAR="$1" ; CMD=Action ;;
|
|
|
|
2) PAR="$1" ; CMD="$2" ;;
|
|
|
|
*) echo Syntax: "$0" [param [file]] ; exit 1 ;;
|
|
|
|
esac
|
|
|
|
if test -r "$CMD"
|
|
|
|
then :
|
|
|
|
else
|
|
|
|
case "$CMD" in
|
|
|
|
Action) echo No Action file present ;;
|
|
|
|
*) echo No Action file "($CMD)" present ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
THISFILE=`pwd`/$0
|
|
|
|
SYS=
|
|
|
|
RETC=0
|
|
|
|
{ while read LINE
|
|
|
|
do
|
|
|
|
eval set $LINE
|
|
|
|
case x"$1" in
|
1987-03-23 21:01:36 +00:00
|
|
|
x!*) ;;
|
1985-02-15 22:53:13 +00:00
|
|
|
xname) SYS="$2"
|
|
|
|
ACTION='make $PAR'
|
|
|
|
DIR=.
|
1985-02-17 22:01:03 +00:00
|
|
|
FM=no
|
1985-02-15 22:53:13 +00:00
|
|
|
FAIL='Failed for $SYS, see $DIR/Out'
|
|
|
|
SUCC='$SYS -- done'
|
|
|
|
ATYPE=
|
|
|
|
FATAL=no
|
|
|
|
DOIT=yes
|
|
|
|
;;
|
|
|
|
xfatal) FATAL=yes ;;
|
|
|
|
xaction|xindir) case x$ATYPE in
|
1985-02-17 22:01:03 +00:00
|
|
|
x) ACTION=$2 ; ATYPE=$1
|
|
|
|
case $ATYPE$FM in
|
|
|
|
indirno) FAIL='Failed for $SYS' ;;
|
|
|
|
esac
|
|
|
|
;;
|
1985-02-15 22:53:13 +00:00
|
|
|
*) echo Already specified an $ATYPE for this name
|
1985-02-17 22:01:03 +00:00
|
|
|
RETC=65 ;;
|
1985-02-15 22:53:13 +00:00
|
|
|
esac ;;
|
1985-02-17 22:01:03 +00:00
|
|
|
xfailure) FM=yes
|
|
|
|
FAIL="$2" ;;
|
1985-02-15 22:53:13 +00:00
|
|
|
xsuccess) SUCC="$2" ;;
|
|
|
|
xdir) DIR="$2" ;;
|
|
|
|
xsystem) case `ack_sys` in
|
|
|
|
$2) ;;
|
|
|
|
*) echo "Sorry, $SYS can only be made on $2 systems"
|
|
|
|
DOIT=no
|
|
|
|
;;
|
|
|
|
esac ;;
|
|
|
|
xend) case $DOIT in
|
|
|
|
no) continue ;;
|
|
|
|
esac
|
|
|
|
case x$SYS in
|
1985-02-17 22:01:03 +00:00
|
|
|
x) echo Missing name line; RETC=65 ;;
|
1985-02-15 22:53:13 +00:00
|
|
|
*) if test -d $DIR
|
|
|
|
then (
|
|
|
|
cd $DIR
|
|
|
|
X=
|
|
|
|
case $ATYPE in
|
|
|
|
indir)
|
|
|
|
if sh $THISFILE $PAR $ACTION
|
|
|
|
then eval echo $SUCC
|
|
|
|
else RETC=2 ; eval echo $FAIL
|
|
|
|
fi ;;
|
|
|
|
*)
|
|
|
|
if eval "$ACTION >Out 2>&1 </dev/null"
|
|
|
|
then eval echo $SUCC
|
|
|
|
else RETC=1 ; X=: ; eval echo $FAIL
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
(echo ------- `pwd`
|
|
|
|
cat Out
|
|
|
|
$X rm -f Out
|
|
|
|
) 2>/dev/null 1>&- 1>&3
|
|
|
|
exit $RETC
|
|
|
|
)
|
|
|
|
case $? in
|
|
|
|
0) ;;
|
|
|
|
*) case $RETC in
|
|
|
|
0) RETC=$? ;;
|
|
|
|
esac ;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
echo Directory $DIR for $SYS is inaccessible
|
1985-02-17 22:01:03 +00:00
|
|
|
RETC=66
|
1985-02-15 22:53:13 +00:00
|
|
|
fi ;;
|
|
|
|
esac
|
|
|
|
case $FATAL$RETC in
|
|
|
|
yes0) ;;
|
|
|
|
yes*) echo Fatal error, installation stopped.
|
|
|
|
exit $RETC ;;
|
|
|
|
esac
|
|
|
|
SYS=
|
|
|
|
;;
|
|
|
|
*) echo Unknown keyword "$1"
|
1985-02-17 22:01:03 +00:00
|
|
|
RETC=67 ;;
|
1985-02-15 22:53:13 +00:00
|
|
|
esac
|
|
|
|
done
|
1985-02-17 22:01:03 +00:00
|
|
|
exit $RETC
|
1985-02-15 22:53:13 +00:00
|
|
|
} <$CMD
|
|
|
|
RETX=$?
|
|
|
|
case $RETX in
|
|
|
|
0) exit $RETC ;;
|
|
|
|
*) exit $RETX ;;
|
|
|
|
esac
|