Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 765 - (hide 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 niro 765 # $Header: /home/cvsd/magellan-cvs/magellan-src/installer/gtk-gui/networking.sh,v 1.3 2008-09-22 22:05:17 niro Exp $
2 niro 719
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 niro 765 <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 niro 719 <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 niro 765 if [[ -z ${NETWORK_BROADCAST} ]]
210     then
211     FAILURE_MESSAGE="No broadcast given!" rundialog FAILURE_DIALOG
212     return 1
213     fi
214    
215 niro 719 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 niro 765 export NETWORK_BROADCAST
311 niro 719
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 niro 762 rundialog_network_select_nic
350 niro 719 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 niro 765 export NETWORK_BROADCAST
369 niro 719 export NETWORK_GATEWAY
370     export NETWORK_NAMESERVER
371     }