summaryrefslogtreecommitdiff
path: root/source/installer/sources/initrd/usr/lib/setup/INSSMB
blob: ae4aac887fc90505721da473536e8aef9f7bdfa9 (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
#!/bin/sh
TMP=/var/log/setup/tmp
if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
if [ -f $TMP/Punattended ]; then
 eval $(grep "^SMB_SERVER=" $TMP/Punattended)
 eval $(grep "^SMB_ROOT=" $TMP/Punattended)
fi

if [ "$REMOTE_SHARE" = "" ]; then REMOTE_SHARE=${SMB_SERVER}; fi
if [ "$REMOTE_PATH" = "" ]; then REMOTE_PATH=${SMB_ROOT}; fi

# Load the cifs module:
modprobe cifs 2>/dev/null

while [ 0 ]; do
 rm -f $TMP/SeTDS $TMP/SeTmount
 UPNRUN=`cat $TMP/SeTupnrun`

 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 share address of the Samba server where the Slackware sources
are stored.
Example share address: //192.168.0.1/public

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 share address of your Samba server? " >> $TMP/tempmsg
 dialog --title "ENTER SHARE ADDRESS OF SAMBA SERVER" --inputbox \
 "`cat $TMP/tempmsg`" 15 70 $REMOTE_SHARE 2> $TMP/remote
 if [ ! $? = 0 ]; then
  rm -f $TMP/tempmsg $TMP/remote
  exit
 fi
 REMOTE_SHARE="`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 below your Samba share 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`" \
 17 70 $REMOTE_PATH 2> $TMP/slacksrc
 if [ ! $? = 0 ]; then
  rm -f $TMP/tempmsg $TMP/slacksrc
  exit
 fi
 REMOTE_PATH="`cat $TMP/slacksrc`"
 rm $TMP/slacksrc

 echo "You should see no mount errors:" > $TMP/mntout
 echo "Mounting $REMOTE_SHARE ..." >> $TMP/mntout
 mount -t cifs -o ro,guest,sec=none $REMOTE_SHARE /var/log/mount \
  >> $TMP/mntout 2>&1
 RET=$?
 if [ $RET != 0 ]; then
  echo "Mount failed." >> $TMP/mntout
  umount -f -t cifs /var/log/mount 1>/dev/null 2>&1
  DEFANSW="yes"
 else
  echo "Mounted Samba share(s):" >> $TMP/mntout
  mount -t cifs >> $TMP/mntout 2>/dev/null
  echo "" >> $TMP/mntout
  if [ -f /var/log/mount/$REMOTE_PATH/a/tagfile \
       -o -f /var/log/mount/$REMOTE_PATH/slackware/a/tagfile ];
  then
   echo "A Slackware package tree was found! Ready to continue." >> $TMP/mntout
   DEFANSW="no"
  else
   echo "No Slackware package tree found at the indicated path!" >> $TMP/mntout
   DEFANSW="yes"
  fi
 fi
 echo "" >> $TMP/mntout
 echo "Do you want to try setting up Samba again?" >> $TMP/mntout
 echo "" >> $TMP/mntout
 if [ "$DEFANSW" = "no" ]; then
  dialog --title "MOUNT RESULT" \
    --defaultno --yesno "`cat $TMP/mntout`" 17 70
  RET=$?
 else
  dialog --title "MOUNT RESULT" \
    --yesno "`cat $TMP/mntout`" 12 68
  RET=$?
 fi
 if [ $RET = 1 ]; then
  rm -f $TMP/mntout
  break
 fi
 rm -f $TMP/mntout
 #if [ "$UPNRUN" = "1" ]; then
 # route del $LOCAL_NETWORK
 # ifconfig $ENET_DEVICE down 
 #fi
done

if [ -f /var/log/mount/$REMOTE_PATH/a/tagfile ]; then
 echo "/var/log/mount/$REMOTE_PATH" > $TMP/SeTDS 
else
 echo "/var/log/mount/${REMOTE_PATH}/slackware" > $TMP/SeTDS 
fi
echo "-source_mounted" > $TMP/SeTmount
echo "/dev/null" > $TMP/SeTsource