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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# Slackware installation routine as taken from original 'setup':
if [ "$MAINSELECT" = "INSTALL" ]; then
if [ ! -r $TMP/SeTSERIES -o ! -r $TMP/SeTsource -o ! -r $TMP/SeTnative ]; then
dialog --title "CANNOT INSTALL SOFTWARE YET" --msgbox "\
\n\
Before you can install software, complete the following tasks:\n\
\n\
1. Select your source media.\n\
2. Set up your target Linux partition(s).\n\
3. Select which software categories to install.\n\
\n\
You may also optionally remap your keyboard and set up your\n\
swap partition(s). \n\
\n\
Press ENTER to return to the main menu." 16 68
continue
fi
SERIES="`cat $TMP/SeTSERIES`"
SOURCE_DEVICE="`cat $TMP/SeTsource`"
IGNORE_TAGFILES=""
while [ 0 ]; do
dialog --title "SELECT PROMPTING MODE" --default-item "terse" --menu \
"Now you must select the type of prompts you'd like to see during the \
installation process. If you have the drive space, the 'full' option \
is quick, easy, and by far the most foolproof choice. The 'newbie' \
mode provides the most information but is much more time-consuming \
(presenting the packages one by one) than the menu-based choices. \
Otherwise, you can pick packages from menus \
using 'expert' or 'menu' mode. Which type of prompting would you like \
to use?" \
20 76 7 \
"full" "Install everything (9+ GB of software, RECOMMENDED!)" \
"terse" "Like 'full', but display one line per package during install" \
"menu" "Choose individual packages from interactive menus" \
"expert" "This is actually the same as the \"menu\" option" \
"newbie" "Use verbose prompting (the X series takes one year)" \
"custom" "Use custom tagfiles in the package directories" \
"tagpath" "Use tagfiles in the subdirectories of a custom path" \
"help" "Read the prompt mode help file" 2> $TMP/SeTpmode
if [ ! $? = 0 ]; then
rm -f $TMP/SeTpmode
exit
fi
MODE="`cat $TMP/SeTpmode`"
rm -f $TMP/SeTtagext
if [ "$MODE" = "help" ]; then
dialog --title "PROMPT MODE HELP" --exit-label OK --textbox "/usr/lib/setup/PROMPThelp" 19 65
fi
if [ "$MODE" = "tagpath" ]; then
dialog --title "PROVIDE A CUSTOM PATH TO YOUR TAGFILES" --inputbox \
"If you're installing from CD or DVD, it's impossible to edit the \
tagfiles that are in the package directories. In this case, you might \
want to provide a path to your custom tagfiles. As an example, you \
could create a /tagfiles directory and mount a floppy disk containing \
the tagfiles on that directory. Then you'd enter '/tagfiles' at the \
prompt below. The setup program will look for your tagfile in \
SUBDIRECTORIES of the path you provide, such as /tagfiles/a, \
/tagfiles/ap, /tagfiles/d, and so on. You only need to provide a \
subdirectory and tagfile for the first disk of each series to be \
installed. If a custom tagfile is not found at the path you provide, \
setup will revert to the default tagfiles. Please enter the path to your \
custom tagfiles:" \
19 71 2> $TMP/SeTtagpath
if [ ! $? = 0 ]; then
continue
fi
if [ -r $TMP/SeTtagpath ]; then
if [ "`cat $TMP/SeTtagpath`" = "" ]; then
rm -f $TMP/SeTtagpath
elif [ ! -d "$(cat $TMP/SeTtagpath)" ]; then
dialog --title "NOT A VALID DIRECTORY" --msgbox \
"Sorry, but the $(cat $TMP/SeTtagpath) directory could not be located. \
Press ENTER to go back to the SELECT PROMPTING MODE menu." \
7 65
rm -f $TMP/SeTtagpath
continue
fi
fi
break;
fi
if [ "$MODE" = "newbie" ]; then
dialog --infobox "'newbie' prompt mode selected. Using default tagfiles \
and verbose package prompting." 4 50
break;
fi
if [ "$MODE" = "custom" ]; then
dialog --title "ENTER CUSTOM EXTENSION" --inputbox "Now, enter the custom \
extension you have used for your tagfiles. This must be a valid MS-DOS format \
file extension consisting of a period followed by three characters. For \
example, I use '.pat'. You might see my tagfiles on your disks. :^)" \
12 60 2> $TMP/SeTtagext
if [ ! $? = 0 ]; then
continue
fi
if [ -r $TMP/SeTtagext ]; then
if [ "`cat $TMP/SeTtagext`" = "" ]; then
rm -f $TMP/SeTtagext
fi
fi
dialog --infobox "'custom' prompt mode selected. Using prompting defaults \
found in custom tagfiles." 4 50
break;
fi
if [ "$MODE" = "full" ]; then
IGNORE_TAGFILES="-ignore_tagfiles"
dialog --infobox "Full installation mode. Installing all software \
packages without prompting." 4 45
break;
fi
if [ "$MODE" = "terse" ]; then
setterm -background cyan -foreground black -blank 0
clear
IGNORE_TAGFILES="-ignore_tagfiles"
echo
echo
echo "Full (terse display) installation mode."
echo
echo "A one-line description will be displayed as each package is installed."
echo
break;
fi
if [ "$MODE" = "menu" ]; then
dialog --infobox "'menu' prompt mode selected. Using interactive menus \
to choose subsystems of related packages." 4 60
break;
fi
if [ "$MODE" = "expert" ]; then
dialog --infobox "'expert' prompt mode selected. Using interactive menus \
to choose packages individually." 4 60
break;
fi
done
export MAKETAG;
sleep 1
# On a new system, make /etc/mtab a symlink to /proc/mounts:
if [ ! -r $T_PX/etc/mtab ]; then
mkdir -p $T_PX/etc
( cd $T_PX/etc ; ln -sf /proc/mounts mtab )
fi
# Do the package install:
if [ -r $TMP/SeTCDdev ]; then # only try to remount media if it's a CD/DVD
slackinstall --device `cat $TMP/SeTCDdev` --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES
elif [ -r $TMP/SeTremotesvr ]; then
slackinstall --device noremount --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES --net `cat $TMP/SeTremotesvr`
else
slackinstall --device noremount --promptmode $MODE --srcpath `cat $TMP/SeTDS` --mountpoint /var/log/mount --target $T_PX --series $SERIES
fi
if [ $MODE = terse ]; then
# Let's pause a moment and then restore the terminal settings
sleep 1
setterm -background black -foreground white -blank 0
fi
MAINSELECT="CONFIGURE"
fi
# End Slackware installation routine.
|