Contents of /trunk/installer/ncurses-gui/networking.sh
Parent Directory | Revision Log
Revision 1013 -
(show annotations)
(download)
(as text)
Sun May 30 17:33:29 2010 UTC (14 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 8198 byte(s)
Sun May 30 17:33:29 2010 UTC (14 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 8198 byte(s)
-added ncurses-gui
1 | # $Id$ |
2 | |
3 | # network_config() |
4 | # { |
5 | # local retval |
6 | # local i |
7 | # local highlite |
8 | # local tag |
9 | # local item |
10 | # |
11 | # retval=-1 |
12 | # while [ ${retval} != 1 ] && [ ${retval} != 250 ] && [ ${retval} != 0 ] |
13 | # do |
14 | # i=$(dialog \ |
15 | # --stdout \ |
16 | # --colors \ |
17 | # --title "Network Configuration" \ |
18 | # --backtitle "${TITLE}" \ |
19 | # --default-item "${highlite}" \ |
20 | # --inputmenu "Enter a Hostname" 16 70 10 \ |
21 | # "Hostname:" "${NETWORK_HOSTNAME}" \ |
22 | # "Domain:" "${NETWORK_DOMAIN}") |
23 | # retval="$?" |
24 | # highlite="$(echo "$i" | sed -e 's/^RENAMED //' -e 's/:.*//'):" |
25 | # # echo "DEBUG: ${highlite}" |
26 | # # read |
27 | # case ${retval} in |
28 | # 0) |
29 | # export NETWORK_HOSTNAME |
30 | # export NETWORK_DOMAIN |
31 | # ;; |
32 | # 3) |
33 | # tag=$(echo "${i}" | sed -e 's/^RENAMED //' -e 's/:.*//') |
34 | # item=$(echo "${i}" | sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//') |
35 | # case "${tag}" in |
36 | # Hostname) NETWORK_HOSTNAME="${item}" ;; |
37 | # Domain) NETWORK_DOMAIN="${item}" ;; |
38 | # esac |
39 | # ;; |
40 | # esac |
41 | # done |
42 | # |
43 | # return ${retval} |
44 | # } |
45 | |
46 | network_config() |
47 | { |
48 | dialog \ |
49 | --stdout \ |
50 | --colors \ |
51 | --title "Network Configuration" \ |
52 | --backtitle "${TITLE}" \ |
53 | --form "Enter a Hostname:" 10 70 0 \ |
54 | "Hostname:" 1 1 "${NETWORK_HOSTNAME}" 1 18 36 0 \ |
55 | " Domain:" 2 1 "${NETWORK_DOMAIN}" 2 18 36 0 |
56 | } |
57 | |
58 | network_config_select() |
59 | { |
60 | dialog \ |
61 | --stdout \ |
62 | --colors \ |
63 | --title "Network Configuration" \ |
64 | --backtitle "${TITLE}" \ |
65 | --radiolist "Select a network type" \ |
66 | 10 45 3 \ |
67 | dhcp "DHCP based networking" on \ |
68 | static "IP based networking" "" \ |
69 | none "Disable network support" "" |
70 | |
71 | return $? |
72 | } |
73 | |
74 | # network_config_static() |
75 | # { |
76 | # local retval |
77 | # local i |
78 | # local highlite |
79 | # local tag |
80 | # local item |
81 | # |
82 | # retval=-1 |
83 | # while [ ${retval} != 1 ] && [ ${retval} != 250 ] && [ ${retval} != 0 ] |
84 | # do |
85 | # i=$(dialog \ |
86 | # --stdout \ |
87 | # --colors \ |
88 | # --title "Network Configuration" \ |
89 | # --backtitle "${TITLE}" \ |
90 | # --default-item "${highlite}" \ |
91 | # --inputmenu "Static network setup" 25 70 15 \ |
92 | # "IP:" "${NETWORK_IP}" \ |
93 | # "Netmask:" "${NETWORK_NETMASK}" \ |
94 | # "Broadcast:" "${NETWORK_BROADCAST}" \ |
95 | # "Gateway:" "${NETWORK_GATEWAY}" \ |
96 | # "Nameserver:" "${NETWORK_NAMESERVER}") |
97 | # retval="$?" |
98 | # highlite="$(echo "$i" | sed -e 's/^RENAMED //' -e 's/:.*//'):" |
99 | # # echo "DEBUG: ${highlite}" |
100 | # # read |
101 | # case ${retval} in |
102 | # 0) |
103 | # export NETWORK_IP |
104 | # export NETWORK_NETMASK |
105 | # export NETWORK_BROADCAST |
106 | # export NETWORK_GATEWAY |
107 | # export NETWORK_NAMESERVER |
108 | # ;; |
109 | # 3) |
110 | # tag=$(echo "${i}" | sed -e 's/^RENAMED //' -e 's/:.*//') |
111 | # item=$(echo "${i}" | sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//') |
112 | # case "${tag}" in |
113 | # IP) NETWORK_IP="${item}" ;; |
114 | # Netmask) NETWORK_NETMASK="${item}" ;; |
115 | # Broadcast) NETWORK_BROADCAST="${item}" ;; |
116 | # Gateway) NETWORK_GATEWAY="${item}" ;; |
117 | # Nameserver) NETWORK_NAMESERVER="${item}" ;; |
118 | # esac |
119 | # ;; |
120 | # esac |
121 | # done |
122 | # |
123 | # return ${retval} |
124 | # } |
125 | |
126 | network_config_static() |
127 | { |
128 | dialog \ |
129 | --stdout \ |
130 | --colors \ |
131 | --title "Network Configuration" \ |
132 | --backtitle "${TITLE}" \ |
133 | --form "Static network setup:" 12 70 0 \ |
134 | "IP-Address:" 1 1 "${NETWORK_IP}" 1 18 36 0 \ |
135 | " Netmask:" 2 1 "${NETWORK_NETMASK}" 2 18 36 0 \ |
136 | " Broadcast:" 3 1 "${NETWORK_BROADCAST}" 3 18 36 0 \ |
137 | " Gateway:" 4 1 "${NETWORK_GATEWAY}" 4 18 36 0 \ |
138 | "Nameserver:" 5 1 "${NETWORK_NAMESERVER}" 5 18 36 0 |
139 | } |
140 | |
141 | network_select_nic() |
142 | { |
143 | local items=( $(get_hwinfo -d netcard | sed -e "s:\ :_:g") ) |
144 | local count=${#items[*]} |
145 | local i |
146 | |
147 | dialog \ |
148 | --stdout \ |
149 | --colors \ |
150 | --title "Network Configuration" \ |
151 | --backtitle "${TITLE}" \ |
152 | --radiolist "Select a available NIC" \ |
153 | 10 60 ${count} \ |
154 | $(for (( i=0; i<count; i++ )); do echo "${items[$i]%;*} ${items[$i]#*;} $([[ ${i} -eq 0 ]] && echo on || echo off)"; done) |
155 | |
156 | return $? |
157 | } |
158 | |
159 | check_static_network_config() |
160 | { |
161 | # these are a requirement |
162 | if [[ -z ${NETWORK_IP} ]] |
163 | then |
164 | messagebox "Warning" "No IP-Address given!" 10 40 |
165 | return 1 |
166 | fi |
167 | |
168 | if [[ -z ${NETWORK_NETMASK} ]] |
169 | then |
170 | messagebox "Warning" "No netmask given!" 10 40 |
171 | return 1 |
172 | fi |
173 | |
174 | if [[ -z ${NETWORK_BROADCAST} ]] |
175 | then |
176 | messagebox "Warning" "No broadcast given!" 10 40 |
177 | return 1 |
178 | fi |
179 | |
180 | return 0 |
181 | } |
182 | |
183 | # rundialog_network_config() |
184 | # { |
185 | # network_config |
186 | # case $? in |
187 | # -1) die "Error!" ;; |
188 | # 255) die "aborted by user" ;; |
189 | # |
190 | # 1) |
191 | # rundialog_network_config |
192 | # ;; |
193 | # |
194 | # # vars already exported |
195 | # 0) |
196 | # if [[ -z ${NETWORK_HOSTNAME} ]] |
197 | # then |
198 | # messagebox "Warning" "No hostname given." 10 40 |
199 | # rundialog_network_config |
200 | # elif [[ -z ${NETWORK_DOMAIN} ]] |
201 | # then |
202 | # messagebox "Warning" "No domain given." 10 40 |
203 | # rundialog_network_config |
204 | # fi |
205 | # ;; |
206 | # esac |
207 | # |
208 | # debug "NETWORK_HOSTNAME='${NETWORK_HOSTNAME}'" |
209 | # debug "NETWORK_DOMAIN='${NETWORK_DOMAIN}'" |
210 | # } |
211 | |
212 | rundialog_network_config() |
213 | { |
214 | local NETWORK_CONFIG |
215 | NETWORK_CONFIG=($(network_config)) |
216 | case $? in |
217 | -1) die "Error!" ;; |
218 | 255) die "aborted by user" ;; |
219 | |
220 | 1) |
221 | rundialog_network_config |
222 | ;; |
223 | |
224 | # vars already exported |
225 | 0) |
226 | NETWORK_HOSTNAME="${NETWORK_CONFIG[0]}" |
227 | NETWORK_DOMAIN="${NETWORK_CONFIG[1]}" |
228 | if [[ -z ${NETWORK_HOSTNAME} ]] |
229 | then |
230 | messagebox "Warning" "No hostname given." 10 40 |
231 | rundialog_network_config |
232 | elif [[ -z ${NETWORK_DOMAIN} ]] |
233 | then |
234 | messagebox "Warning" "No domain given." 10 40 |
235 | rundialog_network_config |
236 | fi |
237 | export NETWORK_HOSTNAME |
238 | export NETWORK_DOMAIN |
239 | ;; |
240 | esac |
241 | |
242 | debug "NETWORK_HOSTNAME='${NETWORK_HOSTNAME}'" |
243 | debug "NETWORK_DOMAIN='${NETWORK_DOMAIN}'" |
244 | } |
245 | |
246 | rundialog_network_config_select() |
247 | { |
248 | NETWORK_METHOD=$(network_config_select) |
249 | case $? in |
250 | -1) die "Error!" ;; |
251 | 255) die "aborted by user" ;; |
252 | |
253 | 1) |
254 | rundialog_network_config |
255 | rundialog_network_config_select |
256 | ;; |
257 | |
258 | 0) export NETWORK_METHOD |
259 | if [[ ${NETWORK_METHOD} = none ]] |
260 | then |
261 | export NETWORK_METHOD="none" |
262 | messagebox "Warning" "Magellan needs network support for further installations.\nOnly a very basic system get installed.\nTo use more packages, you have to setup your networking manually." 10 70 |
263 | else |
264 | # want networking, run nic selection |
265 | rundialog_network_select_nic |
266 | |
267 | if [[ ${NETWORK_METHOD} = static ]] |
268 | then |
269 | # run static config dialog |
270 | rundialog_network_config_static |
271 | fi |
272 | fi |
273 | ;; |
274 | esac |
275 | |
276 | debug "NETWORK_METHOD='${NETWORK_METHOD}'" |
277 | } |
278 | |
279 | # rundialog_network_config_static() |
280 | # { |
281 | # network_config_static |
282 | # case $? in |
283 | # -1) die "Error!" ;; |
284 | # 255) die "aborted by user" ;; |
285 | # |
286 | # 1) |
287 | # rundialog_network_select_nic |
288 | # rundialog_network_config_static |
289 | # ;; |
290 | # |
291 | # 0) if ! check_static_network_config |
292 | # then |
293 | # rundialog_network_config_static |
294 | # fi |
295 | # ;; |
296 | # esac |
297 | # |
298 | # debug "NETWORK_IP='${NETWORK_IP}'" |
299 | # debug "NETWORK_NETMASK='${NETWORK_NETMASK}'" |
300 | # debug "NETWORK_BROADCAST='${NETWORK_BROADCAST}'" |
301 | # debug "NETWORK_GATEWAY='${NETWORK_GATEWAY}'" |
302 | # debug "NETWORK_NAMESERVER='${NETWORK_NAMESERVER}'" |
303 | # } |
304 | |
305 | rundialog_network_config_static() |
306 | { |
307 | local NETWORK_CONFIG |
308 | NETWORK_CONFIG=($(network_config_static)) |
309 | case $? in |
310 | -1) die "Error!" ;; |
311 | 255) die "aborted by user" ;; |
312 | |
313 | 1) |
314 | rundialog_network_select_nic |
315 | rundialog_network_config_static |
316 | ;; |
317 | |
318 | 0) |
319 | NETWORK_IP="${NETWORK_CONFIG[0]}" |
320 | NETWORK_NETMASK="${NETWORK_CONFIG[1]}" |
321 | NETWORK_BROADCAST="${NETWORK_CONFIG[2]}" |
322 | NETWORK_GATEWAY="${NETWORK_CONFIG[3]}" |
323 | NETWORK_NAMESERVER="${NETWORK_CONFIG[4]}" |
324 | if ! check_static_network_config |
325 | then |
326 | rundialog_network_config_static |
327 | fi |
328 | export NETWORK_IP |
329 | export NETWORK_NETMASK |
330 | export NETWORK_BROADCAST |
331 | export NETWORK_GATEWAY |
332 | export NETWORK_NAMESERVER |
333 | ;; |
334 | esac |
335 | |
336 | debug "NETWORK_IP='${NETWORK_IP}'" |
337 | debug "NETWORK_NETMASK='${NETWORK_NETMASK}'" |
338 | debug "NETWORK_BROADCAST='${NETWORK_BROADCAST}'" |
339 | debug "NETWORK_GATEWAY='${NETWORK_GATEWAY}'" |
340 | debug "NETWORK_NAMESERVER='${NETWORK_NAMESERVER}'" |
341 | } |
342 | |
343 | rundialog_network_select_nic() |
344 | { |
345 | NETWORK_NIC=$(network_select_nic) |
346 | case $? in |
347 | -1) die "Error!" ;; |
348 | 255) die "aborted by user" ;; |
349 | |
350 | 1) |
351 | rundialog_network_config_select |
352 | rundialog_network_select_nic |
353 | ;; |
354 | |
355 | 0) export NETWORK_NIC ;; |
356 | esac |
357 | |
358 | debug "NETWORK_NIC='${NETWORK_NIC}'" |
359 | } |
360 | |
361 | main_networking() |
362 | { |
363 | rundialog_network_config |
364 | rundialog_network_config_select |
365 | #rundialog_network_select_nic |
366 | } |
Properties
Name | Value |
---|---|
svn:keywords | Id |