Magellan Linux

Contents of /trunk/installer/ncurses-gui/networking.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1013 - (show annotations) (download) (as text)
Sun May 30 17:33:29 2010 UTC (13 years, 11 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