:
#  ------------------------------------------------------------------------
#  Title        : Installations - Shellskript fuer neue BITs-Software
#  ------------------------------------------------------------------------
#                  This is an UNPUBLISHED work COPYRIGHT by
#                 "ArtCom, Atelier fuer Computergrafik GmbH"
#          Schwachhauser Heerstr. 78, D-2800 Bremen 1, West-Germany
#       It may be used, copied, or distributed only as permitted in a
#                              written license.
#  ------------------------------------------------------------------------
#  Created      :            19-Mar-89 / 10:00 / (pf)
#  Version      :       Mon, 18-Jun-90 / 13:25 / (pf@artcom0,rb)
#  Portability  : XENIX Bourne shell
#  State        : under development
#  Purpose      : belongs to the XENIX port of BITS
#I Usage        : /bitslib/service/install
#I Remarks      : Dieses Skript wird von den Kunden zur Installation neuer
#I		  Software-Versionen mittels Disketten verwendet.
#I                Installation ueber XENIX-Net nicht moeglich !
#  ------------------------------------------------------------------------
#
# einige nuetzliche Bourne Shell Prozeduren
#
# PROCEDURE Yes : Prompt for yes or no answer - returns non-zero for no
Yes() {
	while	read yn
	do	case $yn in
		[yYjJ])	return 0 			;;
		[nN])	return 1			;;
		*)	Error "Bitte entweder j oder n" 	;;
		esac
	done
}
#
# PROCEDURE Error (message : STRING);
Error() {
	echo "\007\nFEHLER : $*" >&2
	return 1
}
#
# PROCEDURE Super : BOOLEAN;  (* are we root ? else error ! *)
Super() {
	if [ -r /usr/sysadm/.profile ]
	then	return 0
	else	Error "Sie muessen Superuser ('root') -Zugriffsrechte haben"
		return 1
	fi
}
#
# PROCEDURE CleanUp (); 
# removes all /tmp files as defined by $cleanupFiles
cleanupFiles=
CleanUp() {
	if [ "$cleanupFiles" ]
	then	echo "Loeschen der temporaeren (/tmp)-Dateien."
		cd /tmp
		rm -rf $cleanupFiles 2> /dev/null
	fi
	return 0
}
# 
#
Interuptus() {
	echo "*** Installation abgebrochen ***"
	if [ "$cleanupFiles" ]
	then	echo "Loeschen der temporaeren (/tmp)-Dateien."
		cd /tmp
		rm -rf $cleanupFiles 2> /dev/null
	fi
	exit 1
}
#
# PROCEDURE FirstTime ();
# create a service user for BITs Software :
FirstTime() {
	echo "service::0:64:BITs Software Service:/bitslib/service:/bin/sh" >>/etc/passwd
	echo "In Zukunft koennen Wartungsaufgaben, wie das Einspielen neuer
Software, das Einrichten von Benutzern, etc. durch Einloggen mit dem
Benutzerkuerzel 
		'service' 
erfolgen. Da der neu eingerichtete Benutzer 'service' die gleichen
Rechte wie 'root' hat, sollten Sie ein sicheres Passwort waehlen.
Vergeben Sie jetzt bitte ein neues Passwort fuer den Benutzer 'service':"
	passwd service
	echo "Der 'service'-Account wird installiert...\c"
	echo "PATH=/bin:/usr/bin:/etc:/bitslib/service
export PATH
exec /bitslib/service/serviceSH" >./bitslib/service/.profile
	mtape rew
	tar x8 ./bitslib/service/serviceSH ./bitslib/service/makedisks
	echo " okay.\n"
	echo "Loggen Sie sich jetzt bitte aus und fahren mit der Installation
fort, in dem Sie sich als 'service' einloggen und im Menue den Punkt
	1. BITs Software Update installieren
auswaehlen.

Sie koennen aber auch den Menuepunkt 
	5. Erstellung eines Sicherungsbandes der BITs-Software
auswaehlen, bevor Sie mit 1. die neue Version einspielen, um im 
Notfall ein Magnetband mit der bisherigen Version parat zu haben."
	exit 0
}
#
# ===============================================================
# Main part starts here :
# ===============================================================
#
trap Interuptus 1 2 3 15 
# ASSERT, that we are 'root' :
Super || exit 1
# ASSERT, that a service account is available :
grep '^service:' /etc/passwd >/dev/null || FirstTime
#
clear
echo "
		       @@@@@@   @@@@   @@@@@@          
			@@  @@   @@    @ @@ @          
			@@  @@   @@      @@     @@@@@  
			@@@@@    @@      @@    @@      
			@@  @@   @@      @@     @@@@   
			@@  @@   @@      @@        @@  
		       @@@@@@   @@@@    @@@@   @@@@@   
					   
		@@  @@             @@@             @            
		@@  @@              @@            @@            
		@@  @@  @@ @@@      @@   @@@@    @@@@@   @@@@   
		@@  @@   @@  @@  @@@@@      @@    @@    @@  @@  
		@@  @@   @@  @@ @@  @@   @@@@@    @@    @@@@@@  
		@@  @@   @@@@@  @@  @@  @@  @@    @@ @  @@      
		@@@@@@   @@      @@@ @@  @@@ @@    @@    @@@@   
			@@@@                                    

			   Installations-Programm"
cd /
# 
# Einspielen eines Shell-Skriptes mit aktuellen Kommandos (der aktuellen
# Version der tatsaechlichen Installation)
echo "Bitte legen Sie die erste Diskette ein. Wenn fertig <ENTER> druecken.\c"  
read answer
while true ; do
	if tar xv2 ./bitslib/service/actual.sh
	then	exec ./bitslib/service/actual.sh disks
		error "Hat nicht geklappt !"
		exit 1
	else	error "Hat nicht geklappt. (Lesefehler)"
		echo "nochmal probieren : <ENTER> druecken...\c"
		read answer
	fi
done
