Viitor_sysvinit/etc/init.d/install
kueller 53725ed8b6 V962 Branch
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_sysvinit@4439 504e572c-2e33-0410-9681-be2bf7408885
2008-05-03 17:02:59 +00:00

139 lines
4.3 KiB
Bash

#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $Source$
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version
#2 of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#See the GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not write to the Free Software Foundation,
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#InitScript zum Start des Daemons:
#install des systemvinit prozesses
#Abschluss des Installation Prozesses
#
#Letzte Änderung von: $Author$
#Datum der letzten Änderung: $Date$
#Version der Datei: $Revision$
#
#$Log$
#Revision 1.13 2007/01/24 16:09:55 segler
#There is no /dev/cdroms/* without devfs any more...
#Hopefully some /dev/cdr* devices like /dev/cdrom or /dev/cdrw
#
#Revision 1.12 2004/03/03 12:48:08 kueller
#Header auf neuen Viitor GPL Header umgestellt
#
#
#Revision 1.11 2003/04/19 08:05:46 kueller
#Soweit nicht vorhanden, erweiterung um restart option. Ansonsten anpassung
#an aktuellen Umfang von functions. reload und status funktioniert hier unter
#viitor nicht!
#
#Revision 1.10 2003/04/06 19:45:47 kueller
#FOUNDCD Variable muss natürlich vor continiue anweisung gesetzt werden.
#
#Revision 1.9 2003/04/06 19:43:58 kueller
#FOUNDCD Variable wird nun vor jedem notwendigen CDWechel richtig initialisiert.
#
#Revision 1.8 2003/04/06 18:19:59 kueller
#Korrectur der cdromabfragen. Korrektur der afterinstall routine
#
#Revision 1.7 2003/04/06 12:40:46 kueller
#Anpassung an neue Option "-d" des installpkg kommandos. Hier werden
#alle Postinstall scripten nicht ausgeführt, sondern nach
#/tmp/afterinstall/pkgname.postinstall kopiert.
#install führt diese Scripten nun nach fertigstellung des kopiervorgangs aus.
#
#Revision 1.6 2003/04/06 12:10:08 kueller
#Mehere CDROM Laufwerke werden nun erkannt. Wenn eine Passende CD in einem
#der vorhandenen CDROM Laufwerke liegt, wird diese Automatisch erkannt und
#verwendet
#
#Revision 1.5 2003/01/16 07:40:10 kueller
#Nach Abschluss der Installation wird die LD Configuration nun mittels
#ldconfig aktualisiert.
#
#Revision 1.4 2003/01/06 20:33:23 kueller
#Meldung "....press some key" in "...press ENTER" Geändert
#
#Revision 1.3 2002/10/04 08:00:34 kueller
#Routine Eingefügt, die Überprüft, ob die richtige CD Eingelegt wurde
#
#Revision 1.2 2002/06/12 10:38:07 hkueller
#Diverse Korrekturen ($ bei Variablennamen vergessen, falscher Dateidescriptor
#bei read (<$3 statt <&3) etc.
#
#Revision 1.1 2002/06/12 09:46:23 hkueller
#Post Install Script - sorgt dafür das Packete die in /var/install/pkg_to_do
#gelistet sind nach einem Reboot installiert werden. (Stage 2 des Monsum
#installation vorgangs)
#
#
source /etc/init.d/functions
case "$1" in
start)
if [ -f /var/install/pkg_to_do ]; then
exec 3</var/install/pkg_to_do
read <&3 INSTCD INSTPKG
AKTCD=""
while [ "$INSTCD" ]; do
if [ ! "$INSTCD" == "$AKTCD" ]; then
FOUNDCD=0
umount /mnt >/dev/null 2>&1
while [ ! -d /mnt/$INSTCD ]; do
for i in /dev/cdr*; do
mount -o ro $i /mnt >/dev/null 2>&1
if [ -d /mnt/$INSTCD ]; then
FOUNDCD=1
continue
else
FOUNDCD=0
umount /mnt >/dev/null 2>&1
fi
done
if [ "$FOUNDCD" == "0" ]; then
echo -n "CD not found - Please insert $INSTCD in any CDROM and press ENTER"
read
fi
done
AKTCD=$INSTCD
fi
installpkg -di /mnt/$INSTPKG
read <&3 INSTCD INSTPKG
done
exec 3>&-
rm /var/install/pkg_to_do
umount /mnt
if [ -d /tmp/afterinstall ]; then
for i in /tmp/afterinstall/*; do
source $i /
cd - >/dev/null
rm $i
done
rm -r /tmp/afterinstall
fi
ldconfig
fi
;;
*)
echo "Usage: $0 {start}"
exit 1
;;
esac