Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 765 - (show annotations) (download) (as text)
Mon Sep 22 22:05:17 2008 UTC (15 years, 7 months ago) by niro
File MIME type: application/x-sh
File size: 7673 byte(s)
-added missing NETWORK_BROADCAST

1 # $Header: /home/cvsd/magellan-cvs/magellan-src/installer/gtk-gui/networking.sh,v 1.3 2008-09-22 22:05:17 niro Exp $
2
3 export NETWORK_CONFIG='
4 <window title="Network Configuration" icon-name="gtk-network" window_position="1">
5 <vbox>
6 <pixmap>
7 <input file>header.png</input>
8 </pixmap>
9 <hbox spacing="175">
10 <pixmap>
11 <input file stock="gtk-network"></input>
12 </pixmap>
13 <text>
14 <label>"Enter Hostname"</label>
15 </text>
16 </hbox>
17 <frame Hostname>
18 <entry>
19 <input>echo ${NETWORK_HOSTNAME}</input>
20 <variable>NETWORK_HOSTNAME</variable>
21 </entry>
22 </frame>
23 <frame Domainname>
24 <entry>
25 <input>echo ${NETWORK_DOMAIN}</input>
26 <variable>NETWORK_DOMAIN</variable>
27 </entry>
28 </frame>
29 <hbox>
30 <button>
31 <label>back</label>
32 <input file stock="gtk-go-back"></input>
33 </button>
34 <button>
35 <label>next</label>
36 <input file stock="gtk-go-forward"></input>
37 </button>
38 </hbox>
39 </vbox>
40 </window>
41 '
42
43 export NETWORK_CONFIG_SELECT='
44 <window title="Network Configuration" icon-name="gtk-network" window_position="1" resizable="false">
45 <vbox>
46 <pixmap>
47 <input file>header.png</input>
48 </pixmap>
49 <hbox>
50 <pixmap>
51 <input file stock="gtk-network"></input>
52 </pixmap>
53 <text>
54 <label>Select a network type</label>
55 </text>
56 </hbox>
57
58 <frame Networking via>
59 <radiobutton active="true">
60 <label>DHCP</label>
61 <variable>NETWORK_DHCP</variable>
62 </radiobutton>
63 <radiobutton>
64 <label>Static</label>
65 <variable>NETWORK_STATIC</variable>
66 </radiobutton>
67 <radiobutton>
68 <label>None</label>
69 <variable>NETWORK_NONE</variable>
70 </radiobutton>
71 </frame>
72
73 <hbox>
74 <button>
75 <label>back</label>
76 <input file stock="gtk-go-back"></input>
77 </button>
78 <button>
79 <label>next</label>
80 <input file stock="gtk-go-forward"></input>
81 </button>
82 </hbox>
83 </vbox>
84 </window>
85 '
86
87 export NETWORK_CONFIG_STATIC='
88 <window title="Network Configuration" icon-name="gtk-network" window_position="1" resizable="false">
89 <vbox>
90 <pixmap>
91 <input file>header.png</input>
92 </pixmap>
93 <hbox spacing="140">
94 <pixmap>
95 <input file stock="gtk-network"></input>
96 </pixmap>
97 <text>
98 <label>Setup a static network</label>
99 </text>
100 </hbox>
101 <frame Static>
102
103 <text xalign="0">
104 <label>IP</label>
105 </text>
106 <entry>
107 <input>echo "${NETWORK_IP}"</input>
108 <variable>NETWORK_IP</variable>
109 </entry>
110
111 <text xalign="0">
112 <label>Netmask</label>
113 </text>
114 <entry>
115 <input>echo "${NETWORK_NETMASK}"</input>
116 <variable>NETWORK_NETMASK</variable>
117 </entry>
118
119 <text xalign="0">
120 <label>Broadcast</label>
121 </text>
122 <entry>
123 <input>echo "${NETWORK_BROADCAST}"</input>
124 <variable>NETWORK_BROADCAST</variable>
125 </entry>
126
127 <text xalign="0">
128 <label>Gateway</label>
129 </text>
130 <entry>
131 <input>echo "${NETWORK_GATEWAY}"</input>
132 <variable>NETWORK_GATEWAY</variable>
133 </entry>
134
135 <text xalign="0">
136 <label>Nameserver</label>
137 </text>
138 <entry>
139 <input>echo "${NETWORK_NAMESERVER}"</input>
140 <variable>NETWORK_NAMESERVER</variable>
141 </entry>
142 <hbox>
143 <button>
144 <label>back</label>
145 <input file stock="gtk-go-back"></input>
146 </button>
147 <button>
148 <label>next</label>
149 <input file stock="gtk-go-forward"></input>
150 </button>
151 </hbox>
152 </frame>
153 </vbox>
154 </window>
155 '
156
157 export NETWORK_SELECT_NIC='
158 <window title="Network Configuration" icon-name="gtk-network" window_position="1" resizable="false">
159 <vbox>
160 <pixmap>
161 <input file>header.png</input>
162 </pixmap>
163 <hbox spacing="140">
164 <pixmap>
165 <input file stock="gtk-network"></input>
166 </pixmap>
167 <text>
168 <label>Select a available NIC</label>
169 </text>
170 </hbox>
171
172 <frame Available NICs>
173 <table>
174 <label>Interface|Description</label>
175 <input>source hwdetection.sh; get_hwinfo -d netcard | sed "s:;:\|:g"</input>
176 <variable>NETWORK_NIC</variable>
177 </table>
178 </frame>
179
180 <hbox>
181 <button>
182 <label>back</label>
183 <input file stock="gtk-go-back"></input>
184 </button>
185 <button>
186 <label>next</label>
187 <input file stock="gtk-go-forward"></input>
188 </button>
189 </hbox>
190 </vbox>
191 </window>
192 '
193
194 check_static_network_config()
195 {
196 # these are a requirement
197 if [[ -z ${NETWORK_IP} ]]
198 then
199 FAILURE_MESSAGE="No IP-Address given!" rundialog FAILURE_DIALOG
200 return 1
201 fi
202
203 if [[ -z ${NETWORK_NETMASK} ]]
204 then
205 FAILURE_MESSAGE="No netmask given!" rundialog FAILURE_DIALOG
206 return 1
207 fi
208
209 if [[ -z ${NETWORK_BROADCAST} ]]
210 then
211 FAILURE_MESSAGE="No broadcast given!" rundialog FAILURE_DIALOG
212 return 1
213 fi
214
215 return 0
216 }
217 # needed to be available in the gtk-dialog
218 export -f check_static_network_config
219
220
221 rundialog_network_config()
222 {
223 rundialog NETWORK_CONFIG
224 echo "DEBUG: EXIT='${EXIT}'"
225
226 # save given variables in env
227 # they will be shown as default on error
228 export NETWORK_HOSTNAME
229 export NETWORK_DOMAIN
230
231 case ${EXIT} in
232 abort)
233 echo "Aborted by user."
234 exit 1
235 ;;
236 back)
237 # placeholder
238 return 1
239 ;;
240 next)
241 if [[ -z ${NETWORK_HOSTNAME} ]]
242 then
243 FAILURE_MESSAGE="No hostname given." \
244 rundialog FAILURE_DIALOG
245 rundialog_network_config
246 elif [[ -z ${NETWORK_DOMAIN} ]]
247 then
248 FAILURE_MESSAGE="No domain given." \
249 rundialog FAILURE_DIALOG
250 rundialog_network_config
251 fi
252 ;;
253 esac
254 }
255
256 rundialog_network_config_select()
257 {
258 rundialog NETWORK_CONFIG_SELECT
259 echo "DEBUG: EXIT='${EXIT}'"
260
261 echo "DEBUG: NETWORK_DHCP='${NETWORK_DHCP}'"
262 echo "DEBUG: NETWORK_STATIC='${NETWORK_STATIC}'"
263 echo "DEBUG: NETWORK_NONE='${NETWORK_NONE}'"
264
265 case ${EXIT} in
266 abort)
267 echo "Aborted by user."
268 exit 1
269 ;;
270 back)
271 rundialog_network_config
272 rundialog_network_config_select
273 ;;
274 next)
275 if [[ ${NETWORK_NONE} = true ]]
276 then
277 export NETWORK_METHOD="none"
278 WARNING_MESSAGE="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." \
279 rundialog WARNING_DIALOG
280 else
281 # want networking, run nic selection
282 rundialog_network_select_nic
283
284 if [[ ${NETWORK_DHCP} = true ]]
285 then
286 export NETWORK_METHOD="dhcp"
287
288 elif [[ ${NETWORK_STATIC} = true ]]
289 then
290 export NETWORK_METHOD="static"
291 # run static config dialog
292 rundialog_network_config_static
293 fi
294 fi
295 ;;
296 esac
297 }
298
299 rundialog_network_config_static()
300 {
301 rundialog NETWORK_CONFIG_STATIC
302 echo "DEBUG: EXIT='${EXIT}'"
303
304 # save given variables in env
305 # they will be shown as default on error
306 export NETWORK_IP
307 export NETWORK_NETMASK
308 export NETWORK_GATEWAY
309 export NETWORK_NAMESERVER
310 export NETWORK_BROADCAST
311
312 case ${EXIT} in
313 abort)
314 echo "Aborted by user."
315 exit 1
316 ;;
317 back)
318 rundialog_network_select_nic
319 rundialog_network_config_static
320 ;;
321 next)
322 if ! check_static_network_config
323 then
324 rundialog_network_config_static
325 fi
326 ;;
327 esac
328 }
329
330 rundialog_network_select_nic()
331 {
332 rundialog NETWORK_SELECT_NIC
333 echo "DEBUG: EXIT='${EXIT}'"
334
335 case ${EXIT} in
336 abort)
337 echo "Aborted by user."
338 exit 1
339 ;;
340 back)
341 rundialog_network_config_select
342 rundialog_network_select_nic
343 ;;
344 next)
345 if [[ -z ${NETWORK_NIC} ]]
346 then
347 FAILURE_MESSAGE="No NIC selected!" \
348 rundialog FAILURE_DIALOG
349 rundialog_network_select_nic
350 fi
351 ;;
352 esac
353 }
354
355 main_networking()
356 {
357 rundialog_network_config
358 rundialog_network_config_select
359 #rundialog_network_select_nic
360
361 # export all variables
362 export NETWORK_HOSTNAME
363 export NETWORK_DOMAIN
364 export NETWORK_NIC
365 export NETWORK_METHOD
366 export NETWORK_IP
367 export NETWORK_NETMASK
368 export NETWORK_BROADCAST
369 export NETWORK_GATEWAY
370 export NETWORK_NAMESERVER
371 }