#!/bin/ash

# Auswerten (vor ggf. Loeschen) des alten Systems nach config-Infos
# Wird im neuen System fuer Textmodus, KDE, lilo/kernel verwendet
# Kann ggf mehrfach aufgerufen werden, am Anfang mit der Partition die als bootbar * gekennzeichnet ist
# (und spaeter evtl. geloescht wird), dann ggf. nochmal mit einer vorherigen SYS-Installierung um deren Werte zu benutzen


read OLDSYS KBD KBD0 LANG LANG0 USER00 USER0 CHAP1 CHAP2 PAP1 PAP2 REST < userconf    # fuer alle vor erstem Aufruf was vorgeben 

if test $OLDSYS != - ; then
OLDSYS0=${OLDSYS#/dev/}       # /dev/OLDSYS0 = OLDSYS 
# OLDSYS0 vor ggf. loeschen, OLDSYS nach loeschen der Partitionen dann ggf nicht mehr da           
echo " Vor ggf Loeschen von Partitionen, Auswerten vom alten System" $OLDSYS 
mkdir -p /$OLDSYS0 ; mount /dev/$OLDSYS0 /$OLDSYS0 

grep "Language=" /$OLDSYS0/root/.kde/share/config/kdeglobals > scr  ; IERR=$? 
if test $IERR = 0 ; then read LANG0 REST < scr   ; IERR=$? ; fi ;
echo "1 LANG0: " $LANG0  
if test $IERR = 0 ; then LANG=${LANG0#Language=} ; fi ;
echo "LANG : " $LANG $LANG0  

ls -1 /$OLDSYS0/Windows/Help/Help > scr  ; IERR=$?                   # WiVi zBsp Ordner ../fr-FR 
echo "scr: " ; cat scr 
# cp -f scr scr0 ; if test $IERR = 0 ; then grep "/" scr0 > scr   ; IERR=$? ; fi ;   Bei ash haben Ordner hinten wohl kein / ...
# echo "scr: " ; cat scr 
if test $IERR = 0 ; then read LANG0 REST < scr   ; IERR=$? ; fi ;
echo "2 LANG0: " $LANG0  
if test $IERR = 0 ; then LANG=${LANG0%%-*} ; LANG0="Language="$LANG ; fi ;
echo "LANG : " $LANG $LANG0  

# In WiXP sind configs in /windows/setuplog.txt und /windows/system32/$winnt$.inf 
# Bsp.:  /windows/system32/$winnt$.inf  :   Language=XXXX , TimeZone=YYY
# Bsp.: /windows/setuplog.txt : C:\WINDOWS\system32\fr-fr\mstsc.exe.mui.  mstscax.dll.mui.  aaclient.dll.mui.
#        dgl.      C:\Program Files\Internet Explorer\fr-fr\iexplore.exe.mui.
find  /$OLDSYS0/windows/system32  mstsc.exe.mui  | grep "mstsc.exe.mui" > scr  ; IERR=$?   
if test $IERR = 0 ; then read LANG0 REST < scr   ; IERR=$? ; fi ;
echo "4 LANG0: " $LANG0  
if test $IERR = 0 ; then LANG0=${LANG0#*/windows/system32/} ; echo "41 LANG0: " $LANG0 ; LANG0=${LANG0%%/mstsc.exe.mui*} ; echo "42 LANG0: " $LANG0 ; fi ;                # kein \ vor }
#if test $IERR != 0 ; then  
#grep "mstsc.exe.mui" scr0 > scr   ; IERR=$?
#cat scr
#grep -o "mstsc.exe.mui" scr0 > scr   ; IERR=$?
#cat scr
#if test $IERR = 0 ; then read LANG0 REST < scr   ; IERR=$? ; fi ;
#echo "5 LANG0: " $LANG0  
#if test $IERR = 0 ; then LANG0=${LANG0##*system32/} ; echo "43 LANG0: " $LANG0 ; LANG0=${LANG0%%/mstsc.exe.mui*} ; echo "41 LANG0: " $LANG0 ; fi ;
#fi ;
if test $IERR = 0 ; then LANG=${LANG0%%-*} ; LANG0="Language="$LANG ; fi ;
echo "LANG : " $LANG $LANG0  


grep "LayoutList=" /$OLDSYS0/root/.kde/share/config/kxkbrc > scr   ; IERR=$?
if test $IERR = 0 ; then read KBD0 REST < scr  ; IERR=$? ; fi ; 
if test $IERR = 0 ; then KBD=${KBD0#LayoutList=} ; loadkeys $KBD ; fi ;
if test $KBD0 = - ; then  if test $LANG0 != - ; then  KBD0="LayoutList=$LANG" ; KBD=$LANG ; fi ; fi ;  # kbd=lang falls lang vorgegeben aber kbd nicht 
echo "KBD : " $LANG $LANG0  

grep ":501:" /$OLDSYS0/etc/passwd > scr   ; IERR=$?
if test $IERR = 0 ; then read USER0 REST < scr   ; IERR=$? ; fi ; 
if test $IERR = 0 ; then USER00=${USER0%%:*} ; fi ;
if test $IERR != 0 ; then USER0=- ; USER00=- ; fi ; 

grep -v "#" /$OLDSYS0/etc/ppp/chap-secrets > scr ; IERR=$? ; if test $IERR = 0 ; then 
sed 's/*/:/g' scr > scr0  ;  read CHAP1 UNW CHAP2 REST < scr0  ; IERR=$? ; fi ;
#echo "gelesene CHAP -Zeile: " ; cat scr0 
if test $IERR != 0 ; then CHAP1=- ; CHAP2=- ; fi ;  if test $CHAP1 = ':' ; then CHAP1=- ; CHAP2=- ; fi ;
grep -v "#" /$OLDSYS0/etc/ppp/pap-secrets > scr ; IERR=$? ; if test $IERR = 0 ; then 
sed 's/*/:/g' scr > scr0  ; read PAP1 UNW PAP2 REST < scr0 ; IERR=$? ; fi ;
#echo "gelesene PAP -Zeile: " ; cat scr0 
if test $IERR != 0 ; then PAP1=- ; PAP2=- ; fi ;  if test $PAP1 = ':' ; then PAP1=- ; PAP2=- ; fi ;

umount /$OLDSYS 

echo " === Gefundene Konfiguration des alten Systemes ==="  
echo " Keyboard: " $KBD0 " , Sprache: " $LANG0 " , Benutzer: " $USER00   
echo " Internet:  CHAP: " $CHAP1 " * " $CHAP2 ; echo " Internet:  PAP: " $PAP1 " * " $PAP2   
echo $OLDSYS $KBD $KBD0 $LANG $LANG0 $USER00 $USER0 $CHAP1 $CHAP2 $PAP1 $PAP2 
echo $OLDSYS $KBD $KBD0 $LANG $LANG0 $USER00 $USER0 $CHAP1 $CHAP2 $PAP1 $PAP2 > userconf 

fi ;    # OLDSYS -ne -    


# Falls fuer LANG0 , KBD0 nichts vorgegeben also - , werden die Werte vom gepackten SYS unveraendert gelassen,
# falls nachfolgend was vorgegeben, werden diese defaults verwendet 
if test $KBD0 = - ; then KBD0="LayoutList=br_abnt2" ; KBD="br_abnt2" ; fi ;
if test $LANG0 = - ; then LANG0="Language=pt_BR" ; LANG="pt_BR" ; fi ;
CHAP01="<nome-do-acesso-dado-pela-providora/Internet-Name-gegeben-vom-Provider>" ; PAP01=$CHAP01  
CHAP02="<mot-de-pass-dado-pela-providora/Internet-Passwort-gegeben-vom-Provider>"  ; PAP02=$CHAP02 
if test $CHAP1 = - ; then CHAP1=$CHAP01 ;  CHAP2=$CHAP02 ; fi ; 
if test $PAP1 = - ; then PAP1=$PAP01 ;  PAP2=$PAP02 ; fi ; 

echo " === Angenommene Konfiguration des alten Systemes ==="  
echo " Keyboard: " $KBD0 " , Sprache: " $LANG0 " , Benutzer: " $USER00   
echo " Internet:  CHAP: " $CHAP1 " * " $CHAP2 ; echo " Internet:  PAP: " $PAP1 " * " $PAP2   
echo $OLDSYS $KBD $KBD0 $LANG $LANG0 $USER00 $USER0 $CHAP1 $CHAP2 $PAP1 $PAP2 
echo $OLDSYS $KBD $KBD0 $LANG $LANG0 $USER00 $USER0 $CHAP1 $CHAP2 $PAP1 $PAP2 > userconf 


exit 

