summaryrefslogtreecommitdiff
path: root/source/installer/sources/initrd/usr/lib/setup/INSNFS
blob: a353daa483526a0c5307685c6040b1e9a94cd51b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/sh
TMP=/var/log/setup/tmp
if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
# Include function to check for Slackware ISO images:
. /usr/lib/setup/INCISO
if [ -f $TMP/Punattended ]; then
 eval $(grep "^NFS_SERVER=" $TMP/Punattended)
 eval $(grep "^NFS_ROOT=" $TMP/Punattended)
fi

while [ 0 ]; do
 rm -f $TMP/SeTDS $TMP/SeTmount $TMP/SeTsource $TMP/nfsout
 UPNRUN=`cat $TMP/SeTupnrun 2> /dev/null`

 if [ "$REMOTE_IPADDR" = "" ]; then REMOTE_IPADDR=${NFS_SERVER}; fi
 if [ "$REMOTE_PATH" = "" ]; then REMOTE_PATH=${NFS_ROOT}; fi

 cat << EOF > $TMP/tempmsg

Good! We're all set on the local end, but now we need to know
where to find the software packages to install. First, we need
the IP address of the machine where the Slackware sources are
stored.

EOF
 if [ "$UPNRUN" = "0" ]; then
  cat << EOF >> $TMP/tempmsg
Since you're already running on the network, you should be able
to use the hostname instead of an IP address if you wish.

EOF
 fi
 echo "What is the IP address of your NFS server? " >> $TMP/tempmsg
 dialog --title "ENTER IP ADDRESS OF NFS SERVER" --inputbox \
 "`cat $TMP/tempmsg`" 14 70 $REMOTE_IPADDR 2> $TMP/remote
 if [ ! $? = 0 ]; then
  rm -f $TMP/tempmsg $TMP/remote
  exit
 fi
 REMOTE_IPADDR="`cat $TMP/remote`"
 rm $TMP/remote

 cat << EOF > $TMP/tempmsg

 There must be a directory on the server with the Slackware
 packages and files arranged in a tree like the FTP site.

 The installation script needs to know the name of the 
 directory on your server that contains the series'
 subdirectories. For example, if your A series is found at 
 /slack/slackware/a, then you would respond: /slack/slackware
 
 What is the Slackware source directory?
EOF
 dialog --title "SELECT SOURCE DIRECTORY" --inputbox "`cat $TMP/tempmsg`" 18 \
 65 $REMOTE_PATH 2> $TMP/slacksrc
 if [ ! $? = 0 ]; then
  rm -f $TMP/tempmsg $TMP/slacksrc
  exit
 fi
 REMOTE_PATH="`cat $TMP/slacksrc`"
 rm $TMP/slacksrc
 cat << EOF > $TMP/tempmsg

In the next screen you should watch for NFS mount errors.
If you see errors and you don't see your NFS server listed,
then try setting up NFS again.

EOF
 dialog --title "NFS MOUNT INFORMATION" --msgbox "`cat $TMP/tempmsg`" 10 65
 rm -f $TMP/tempmsg
 touch $TMP/nfsout
 if [ ! "$UPNRUN" = "0" ]; then
  if [ -x /etc/rc.d/rc.rpc ]; then
   echo "Starting RPC services..." >> $TMP/nfsout
   /etc/rc.d/rc.rpc restart >> $TMP/nfsout 2>&1
  fi
 fi
 echo "Mounting $REMOTE_PATH:" >> $TMP/nfsout
 echo "mount -r -t nfs -o vers=3 $REMOTE_IPADDR:$REMOTE_PATH /var/log/mount" >> $TMP/nfsout
 mount -r -t nfs -o vers=3 $REMOTE_IPADDR:$REMOTE_PATH /var/log/mount
 if [ ! $? = 0 ]; then
  echo "Didn't work." >> $TMP/nfsout
  echo "Maybe you should check that the directory name is correct?" >> $TMP/nfsout
  DEFANSW="yes"
 else
  DEFANSW="no"
 fi
 echo "" >> $TMP/nfsout
 echo "Current NFS mounts:" >> $TMP/nfsout
 mount -t nfs >> $TMP/nfsout 2>&1
 echo "" >> $TMP/nfsout

 echo "Do you need to try setting up NFS again?" >> $TMP/nfsout
 echo "" >> $TMP/nfsout
 if [ "$DEFANSW" = "no" ]; then
  dialog --title "NFS MOUNT RESULT" \
    --defaultno --yesno "`cat $TMP/nfsout`" 21 70
  RET=$?
 else
  dialog --title "NFS MOUNT RESULT" --yesno "`cat $TMP/nfsout`" 21 70
  RET=$?
 fi
 rm -f $TMP/nfsout
 if [ $RET = 1 ]; then
  # OK with the NFS mount.
  # First, check if a Slackware ISO image is present in /var/log/mount
  if check_iso_image /var/log/mount /var/log/mntiso ; then
   echo "/var/log/mntiso/slackware" > $TMP/SeTDS 
  elif [ -r /var/log/mount/slackware/PACKAGES.TXT ]; then
   echo "/var/log/mount/slackware" > $TMP/SeTDS 
  else
   echo "/var/log/mount" > $TMP/SeTDS
  fi
  echo "-source_mounted" > $TMP/SeTmount
  echo "/dev/null" > $TMP/SeTsource
  break
 fi
done