Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1013 - (hide 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 niro 1013 # $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