home *** CD-ROM | disk | FTP | other *** search
Wrap
#!/bin/sh abortinst() { echo echo "Die Installation wird abgebrochen !" echo cd $instdir isabort=1 } notfound() { echo "$1"": Kommando nicht gefunden." echo "---- Bitte installieren Sie das $2 Package" utilfail=1 } # # check if standard utilities used in this script are available # checkutil() { utilfail=0 if [ ! -x /bin/df -a ! -x /usr/bin/df ]; then notfound "df" "fileutil" fi if [ ! -x /bin/awk -a ! -x /usr/bin/awk ]; then notfound "awk" "gawk" fi if [ ! -x /bin/pwd -a ! -x /usr/bin/pwd ]; then notfound "pwd" "sh_utils" fi if [ ! -x /bin/expr -a ! -x /usr/bin/expr ]; then notfound "expr" "sh_utils" fi if [ ! -x /bin/gzip -a ! -x /usr/bin/gzip ]; then notfound "gzip" "gzip" fi if [ ! -x /bin/tar -a ! -x /usr/bin/tar ]; then notfound "tar" "base" fi if [ ! -x /bin/cmp -a ! -x /usr/bin/cmp ]; then notfound "cmp" "diff" fi if [ $utilfail -eq 1 ]; then abortinst; return fi if [ ! -r "$instdir"/glibc2.tar.gz ]; then echo echo "Die Datei $instdir""/glibc2.tar.gz wurde nicht gefunden !" echo -n "Diese Datei ist auf den StarOffice ftp servern " echo "im selben Verzeichnis wie die StarOffice5.0 Distribution verfⁿgbar." abortinst; return fi } # # check the dynamic loader /lib/ld-linux.so.2 # gldrcheck() { if [ ! -r /lib/ld-linux.so.2 ]; then echo echo "Ein dynamic loader /lib/ld-linux.so ist noch nicht installiert." else cd $instdir cd $glibcdir if [ $? -eq 1 ];then echo "Fehler beim Wechsel ins Verzeichnis $glibcdir" abortinst; return fi if [ ! -r ld-linux.so.2 ]; then echo echo "ld-linux.so.2: Datei nicht gefunden." abortinst; return fi # compare dynamic loader in /lib and glibc2.tar.gz package cmp -s ld-linux.so.2 /lib/ld-linux.so.2 ldrok=$? if [ $ldrok -eq 1 ];then echo echo -n "ACHTUNG: Der dynamic loader /lib/ld-linux.so.2 auf ihrem System stammt aus einer anderen glibc Version. " echo "Dies kann unter UmstΣnden zu Problemen fⁿhren." echo "Beachten Sie bitte hierzu die Hinweise in der README Datei." if [ $isforce -ne 1 ]; then echo echo "Um die Installation des dynamic loaders ld-linux.so.2 zu erzwingen" echo "und mit der Installation fortzufahren geben Sie bitte das folgende Kommando ein:" echo "gldrinst force" abortinst; return fi else echo "Der dynamic loader /lib/ld-linux.so.2 existiert bereits" echo "und ist mit dem in der $glibcver identisch." fi fi cd $instdir } # # installs the dynamic loader ld-linux.so.2 for the glibc2 # if not called with the argument 'force' this is only done # if the file does not already exists in /lib # gldrinst() { isabort=0 isforce=0 cd $instdir cd $glibcdir if [ $? -eq 1 ];then echo "Fehler beim Wechsel ins Verzeichnis $glibcdir" abortinst; return fi if [ ! -r ld-linux.so.2 ];then echo echo "ld-linux.so.2: Datei nicht gefunden." abortinst;return fi if [ "X$1" = "Xforce" ]; then isforce=1 gldrcheck if [ -r /lib/ld-linux.so.2 ]; then mv -f /lib/ld-linux.so.2 /lib/ld-linux.so.2_old okflag=$? if [ $okflag -eq 1 ]; then echo echo "Fehler beim Umbenennen des alten dynamic loaders" echo "nach /lib/ld-linux.so.2_old !" echo "Fⁿhren Sie bitte diese Funktion erneut als ein User" echo "mit Schreibberechtigung auf das /lib Verzeichnis (z.B. root) aus." abortinst;return else echo echo "Der alte dynamic loader wurde umbenannt nach /lib/ld-linux.so.2_old" fi fi else if [ -r /lib/ld-linux.so.2 ]; then gldrcheck if [ $isabort -ne 1 ]; then soenv fi return else gldrcheck fi fi cd $glibcdir if [ $? -eq 1 ];then echo "Fehler beim Wechsel ins Verzeichnis $glibcdir" abortinst; return fi blocks2=`df -kP /lib | awk 'BEGIN{i=0}{ i++; if(i==2) print $4 }'` fsys2=`df -kP /lib | awk 'BEGIN{i=0}{ i++; if(i==2) print $1 }'` if [ $blocks2 -lt $ldrsize ]; then echo echo "Fⁿr den dynamic loader ld-linux.so.2 werden $libcsize kBytes" echo "im Verzeichnis /lib ben÷tigt." echo "Auf dem Filesystem $fsys2 sind nur $blocks2 kBytes verfⁿgbar," echo "schaffen Sie bitte den ben÷tigten Platz auf dieser Partition." abortinst; return fi if [ $sverbose -eq 1 ]; then echo "\$ cp -a $ldrfiles /lib" fi cp -a $ldrfiles /lib okflag=$? if [ $okflag -eq 0 ]; then echo "Der dynamic loader ld-linux.so.2 wurde ins /lib Verzeichnis installiert." else echo echo "Der dynamic loader ld-linux.so.2 konnte nicht ins /lib Verzeichnis installiert werden." echo "Fⁿhren Sie bitte diese Funktion erneut als User" echo "mit Schreibberechtigung auf das /lib Verzeichnis (z.B. root) aus." abortinst; return fi if [ $isabort -ne 1 ]; then soenv fi } # # install the glibc files # glibcinst() { echo echo "Geben Sie das Verzeichnis an, in das die $glibcver installiert werden soll." echo "Es wird empfohlen, das Unterverzeichnis lib vom geplanten StarOffice" echo "Installationsverzeichnis zu wΣhlen." echo echo -n "glibc2 Verzeichnis [$glibcdir] ? " read input if [ "X$input" != "X" ];then glibcdir=$input fi if [ ! -d $glibcdir ]; then if [ $sverbose -eq 1 ]; then echo "\$ mkdir -p $glibcdir" fi mkdir -p $glibcdir if [ $? -eq 1 ]; then echo echo "Das Verzeichnis $glibcdir konnte nicht angelegt werden !" abortinst; return else echo "Das Verzeichnis $glibcdir wurde angelegt." fi chmod 755 $glibcdir fi # get nubmer of 1024 kBytes available on the filesystem # for the installation directory blocks=`df -kP $glibcdir | awk 'BEGIN{i=0}{ i++; if(i==2) print $4 }'` fsys=`df -kP $glibcdir | awk 'BEGIN{i=0}{ i++; if(i==2) print $1 }'` if [ $blocks -lt $libcsize ]; then echo echo "Fⁿr die glibc2 werden $libcsize kBytes im Verzeichnis $glibcdir ben÷tigt." echo "Auf dem Filesystem $fsys sind nur $blocks kBytes verfⁿgbar, wΣhlen Sie" echo "bitte ein Verzeichnis auf einer ausreichend gro▀en Partition." abortinst; return fi if [ $sverbose -eq 1 ]; then echo "\$ cd $glibcdir" fi cd $glibcdir if [ $? -eq 1 ];then echo "Fehler beim Wechsel ins Verzeichnis $glibcdir" abortinst; return fi if [ $sverbose -eq 1 ]; then echo "\$ tar zxf "$instdir"/glibc2.tar.gz" fi tar zxf "$instdir"/glibc2.tar.gz 2> /dev/null okflag=$? if [ $okflag -eq 0 ]; then if [ $sverbose -eq 1 ]; then echo "\$ mv -f glibc2/* ." fi mv -f glibc2/* . okflag=$? fi if [ $okflag -eq 1 ]; then echo echo "Fehler beim Entpacken der glibc2 Dateien" echo "Bitte ⁿberprⁿfen Sie ihre Rechte im Verzeichnis" echo "$glibcdir" rm -rf glibc2 abortinst; return else rm -rf glibc2 echo echo "Die glibc2 wurde erfolgreich nach $glibcdir installiert." gldrinst fi cd $instdir } soenv() { echo if [ $sverbose -eq 1 ]; then echo "\$ export LD_LIBRARY_PATH=$glibcdir"":""\$LD_LIBRARY_PATH" echo fi export LD_LIBRARY_PATH="$glibcdir"":""$LD_LIBRARY_PATH" echo "Es kann jetzt mit der Installation von StarOffice fortgefahren werden." cd $instdir if [ $? -eq 1 ];then echo "Fehler beim Wechsel ins Verzeichnis $instdir" abortinst; return fi echo echo "Hierzu wechseln Sie in das Verzeichnis mit dem StarOffice 5.0 Installationssatz und geben ./setup (Einzelplatz Installation) oder ./setup /net (Netzwerk Installation) ein." echo echo -n "Wenn Sie fⁿr die glibc2 Installation ein anderes Verzeichnis als das lib " echo -n "Verzeichnis der geplanten StarOffice Installation angegeben haben, mⁿssen " echo -n "Sie nach der Installation die Dateien im $glibcdir " echo -n "Verzeichnis in dieses StarOffice lib Verzeichnis kopieren oder die " echo "System Konfiguration wie in der README beschrieben aendern" } soprep() { # Glibc Installation Directory and version glibcdir=/opt/Office50/lib glibcver="glibc2.0.7" # verbose flag sverbose=1 # files for the dynamic library loader ldrfiles="ld-2.0.7.so ld-linux.so.2" # disk space need for glibc2 files (kB) libcsize=6465 ldrsize=158 # set PATH export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin isabort=0 isforce=0 instdir=`pwd` checkutil if [ $isabort -ne 1 ]; then glibcinst fi } soprep