source: trunk/mindi/rootfs/sbin/install-additional-tools @ 109

Last change on this file since 109 was 109, checked in by andree, 14 years ago

Avoid error messages by only attempting to create paths if they don't
exist in install-additional-tools.

  • Property svn:keywords set to Id
File size: 3.7 KB
Line 
1#!/bin/sh
2#
3# 05/04/2003
4# - added missing 'res=0' to line 34
5# - replaced /mnt/groovy-stuff with $GROOVY
6#
7# 07/17/2002
8# - delete dest files before moving src files there
9#
10# 07/11/2002
11# - move softlinks from /mnt/groovy-stuff to / afterward
12#
13# 03/21/2002
14# - added "PLEASE WAIT" when untarring/softlinking
15#
16# 02/18/2002
17########################################################################
18
19
20Die() {
21    echo "Fatal error! $1" >> /dev/stderr
22    exit 1
23}
24
25
26
27# ------------ main -----------
28
29# if the file '/tmp/CDROM-LIVES-HERE' exists then we should use the CD
30
31LogIt "Starting install-additional-tools"
32mountdir=$GROOVY
33mkdir -p $mountdir
34diskno=1
35res=0
36if [ -e "/tmp/TAPEDEV-HAS-DATA-DISKS" ] ; then
37    LogIt "I am assuming the data disks' contents are already in $mountdir."
38else
39    while [ "$diskno" -lt "20" ] ; do
40    LogIt "PLEASE WAIT. Untarring and softlinking disk #$diskno" 2
41    untar-and-softlink $diskno $mountdir /
42    res=$(($res+$?))
43    [ -e "/LAST-DISK" ] && diskno=999
44    diskno=$(($diskno+1))
45    [ -e "/tmp/CDROM-LIVES-HERE" ] && [ ! -f "/mnt/cdrom/images/$diskno.tar.gz" ] && break
46    done
47fi
48rm -f /LAST-DISK
49
50echo -e -n "Recombining large files..."
51biggienumber=0
52while [ -e "$mountdir/slice-$biggienumber.name" ] ; do
53    stub=$mountdir/slice-$biggienumber
54    biggiefname=`cat $stub.name`
55    biggiefsize=`cat $stub.size`
56    rm -f $stub.name $stub.size
57#    echo -e -n "\rRecombining #$biggienumber ($biggiefname)        \r"
58    > /tmp/out.dat
59    sliceno=0
60    while [ "$sliceno" -le "999" ] ; do
61    slicefile=$stub.
62        [ "$sliceno" -lt "100" ] && slicefile="$slicefile"0
63    [ "$sliceno" -lt "10" ]  && slicefile="$slicefile"0
64    slicefile="$slicefile"$sliceno
65    [ ! -e "$slicefile" ] && break
66#   echo "biggienumber=$biggienumber slicefile=$slicefile" >> /tmp/mondo-restore.log
67    cat $slicefile >> /tmp/out.dat
68    rm -f $slicefile
69    sliceno=$(($sliceno+1))
70    done
71#    echo "$sliceno slices"
72
73    echo "$biggiefname ($biggiefsize KB) restored. $sliceno slices." >> /tmp/mondo-restore.log
74
75#    cat $stub.[0-9]* > /tmp/out.dat
76#    rm -f $stub.*               ; # .[0-9]* for the slices, plus .name & .size
77
78
79    mkdir -p $biggiefname
80    rmdir $biggiefname 2> /dev/null
81    chmod +x /tmp/out.dat
82    cp -f /tmp/out.dat $biggiefname
83    rm -f /tmp/out.dat
84    biggienumber=$(($biggienumber+1))
85    echo -e -n "."
86done
87echo -en "Done.                                                              \r"
88rm -f /slice*
89
90LogIt "Resolving softlinks"
91echo -en "Finalizing softlinks..."
92
93cd $mountdir
94for path in `find | grep -v /etc/fstab` ; do
95    if [ -d "$path" ] ; then
96    mkdir /$path 2> /dev/null
97    else
98# Patch from Andrew Bulhak
99        if [ -h "/$path" ] ; then
100            # echo "removing symlink /$path"
101            rm -f /$path
102        fi
103# end patch
104    mv -f $path /$path
105    fi
106done
107cp -f etc/fstab /tmp/fstab
108cd /
109
110
111# Was disabled in mid-March 2002 (?). Dunno why. Re-enabled July 11th, 2002.
112for path in /sbin /bin /usr/bin /usr/sbin /lib /usr/lib /lib/* /usr/lib/* ; do
113    [ ! -e "$path" ] && mkdir -p "$path"
114    for i in `ls $mountdir/$path 2> /dev/null` ; do
115    rm -f $path/$i 2> /dev/null
116        mv $mountdir/$path/$i $path 2> /dev/null
117    done   
118done
119
120
121for i in modprobe lsmod depmod rmmod ; do
122    [ -e "$mountdir/sbin/$i" ] && ln -sf $mountdir/sbin/$i /sbin/$i
123done
124
125sync;sync;sync
126
127echo "Done."
128
129for j in io.sys msdos.sys embleer.B.bz2 embleer.C.bz2 ; do
130    [ -e "$mountdir/$j" ] && ln -sf $mountdir/$j /$j
131done
132[ -e "$mountdir/etc/fstab" ] && ln -sf $mountdir/etc/fstab /tmp/fstab
133[ -e "$mountdir/etc/raidtab" ] && ln -sf $mountdir/etc/raidtab /tmp/raidtab
134
135which gawk 2> /dev/null > /dev/null
136[ "$?" -ne "0" ] && which awk 2> /dev/null > /dev/null && ln -sf `which awk` /usr/bin/gawk
137
138LogIt "Exiting install-additional-tools"
139exit 0
140
141# exit $res
142
Note: See TracBrowser for help on using the repository browser.