rev |
line source |
pankso@74
|
1 #! /bin/sh
|
pankso@74
|
2 #
|
pankso@74
|
3 # Gtkdialog box for Tazlito - SliTaz Live Tool.
|
pankso@74
|
4 #
|
pankso@133
|
5 VERSION=2.2
|
pankso@133
|
6
|
pankso@133
|
7 export BIN=$0
|
pankso@74
|
8
|
pankso@74
|
9 # Check if user is root.
|
pankso@74
|
10 check_root()
|
pankso@74
|
11 {
|
pankso@74
|
12 if test $(id -u) != 0 ; then
|
pankso@74
|
13 echo -e "
|
pankso@74
|
14 You must be root to run `basename $0`. Please type 'su' and
|
pankso@74
|
15 root password to become super-user.\n"
|
pankso@74
|
16 exit 0
|
pankso@74
|
17 fi
|
pankso@74
|
18 }
|
pankso@74
|
19
|
pankso@133
|
20 # We need to parse flavors.list for GTK tree.
|
pankso@133
|
21 list_flavors()
|
pankso@133
|
22 {
|
pankso@133
|
23 tazlito list-flavors | grep ^[a-z] | while read line
|
pankso@133
|
24 do
|
pankso@133
|
25 info=`echo -n $line | awk '{print $1 " " $2 " " $3}'`
|
pankso@133
|
26 printinfo=`echo -n $line | awk '{print $1 "|" $2 "|" $3}'`
|
pankso@133
|
27 echo "$printinfo|`echo $line | sed s/\"$info\"//`"
|
pankso@133
|
28 done
|
pankso@133
|
29 }
|
pankso@133
|
30
|
pankso@133
|
31 recharge_list()
|
pankso@133
|
32 {
|
pankso@133
|
33 xterm -geometry 90x14 \
|
pankso@133
|
34 -title "list-flavors --recharge" \
|
pankso@133
|
35 -e "tazlito list-flavors --recharge | grep ^[a-z] && sleep 2"
|
pankso@133
|
36 }
|
pankso@133
|
37
|
pankso@133
|
38 # When using gen-liveflavor, gen-flavor or gen-distro, user can put some
|
pankso@133
|
39 # addfiles copied into the rootfs.
|
pankso@133
|
40 addfiles_action()
|
pankso@133
|
41 {
|
pankso@133
|
42 cd /home/slitaz
|
pankso@136
|
43 mkdir -p distro/addfiles/rootfs/usr/share/images
|
pankso@133
|
44 mkdir -p distro/addfiles/rootcd
|
pankso@133
|
45 file-manager distro/addfiles &
|
pankso@133
|
46 }
|
pankso@133
|
47
|
pankso@136
|
48 writeiso_action()
|
pankso@136
|
49 {
|
pankso@136
|
50 xterm -geometry 80x16 \
|
pankso@136
|
51 -title "writeiso" \
|
pankso@136
|
52 -e "tazlito writeiso $COMPRESSION"
|
pankso@136
|
53 }
|
pankso@136
|
54
|
pankso@137
|
55 gen_liveflavor_action()
|
pankso@137
|
56 {
|
pankso@137
|
57 cd /home/slitaz
|
pankso@137
|
58 sed -i "s/ISO_NAME=.*/ISO_NAME=\"slitaz-$GEN_LIVEFLAVOR_NAME\"/" \
|
pankso@137
|
59 /etc/tazlito/tazlito.conf
|
pankso@137
|
60 xterm -geometry 80x16 \
|
pankso@137
|
61 -title "gen-liveflavor" \
|
pankso@137
|
62 -e "tazlito gen-liveflavor $GEN_LIVEFLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"
|
pankso@137
|
63 }
|
pankso@137
|
64
|
pankso@137
|
65 clean_distro_action()
|
pankso@137
|
66 {
|
pankso@137
|
67 cd /home/slitaz
|
pankso@137
|
68 xterm -geometry 80x16 \
|
pankso@137
|
69 -title "clean-distro" \
|
pankso@137
|
70 -e "tazlito clean-distro && sleep 1"
|
pankso@137
|
71 }
|
pankso@137
|
72
|
pankso@74
|
73 export HELP='
|
pankso@74
|
74 <window title="Tazlito Box - Help" icon-name="media-cdrom">
|
pankso@133
|
75 <vbox>
|
pankso@133
|
76 <text use-markup="true">
|
pankso@133
|
77 <label>"
|
pankso@74
|
78 <b>Tazlito Box - Help</b>"
|
pankso@133
|
79 </label>
|
pankso@133
|
80 </text>
|
pankso@133
|
81
|
pankso@133
|
82 <frame Overview>
|
pankso@133
|
83 <text wrap="true" width-chars="52" use-markup="true">
|
pankso@133
|
84 <label>
|
pankso@74
|
85 "
|
paul@90
|
86 Tazlito Box is a tiny interface to the SliTaz Live Tool aka Tazlito.
|
pankso@74
|
87 You can simply generate a LiveCD in a few minutes, using your
|
pankso@74
|
88 own flavor or one from the SliTaz community. Tazlito can also
|
paul@90
|
89 generate a LiveCD flavor using all of the currently installed
|
paul@90
|
90 packages. Tazlito commands are executed in a XTerm, you can
|
paul@90
|
91 press ENTER or the mouse to close the window.
|
pankso@74
|
92 "
|
pankso@133
|
93 </label>
|
pankso@133
|
94 </text>
|
pankso@133
|
95 </frame>
|
pankso@133
|
96
|
pankso@133
|
97 <frame Default paths>
|
pankso@133
|
98 <text wrap="true" width-chars="50" use-markup="true">
|
pankso@133
|
99 <label>
|
pankso@74
|
100 "
|
pankso@74
|
101 Distro : /home/slitaz/distro
|
pankso@74
|
102 Flavors : /home/slitaz/flavors
|
pankso@74
|
103 Packages : /home/slitaz/packages
|
pankso@74
|
104 "
|
pankso@133
|
105 </label>
|
pankso@133
|
106 </text>
|
pankso@133
|
107 </frame>
|
pankso@133
|
108
|
pankso@133
|
109 <hbox>
|
pankso@133
|
110 <button>
|
pankso@133
|
111 <input file icon="exit"></input>
|
pankso@133
|
112 <action type="closewindow">HELP</action>
|
pankso@133
|
113 </button>
|
pankso@133
|
114 </hbox>
|
pankso@133
|
115
|
pankso@133
|
116 </vbox>
|
pankso@74
|
117 </window>
|
pankso@74
|
118 '
|
pankso@74
|
119
|
pankso@133
|
120 # List all flavors on the mirror.
|
pankso@133
|
121 export LIST_FLAVORS_BOX='
|
pankso@133
|
122 <window title="Community flavors list" icon-name="tazlito">
|
pankso@133
|
123 <vbox>
|
pankso@133
|
124 <tree>
|
pankso@133
|
125 <width>500</width><height>200</height>
|
pankso@133
|
126 <variable>COMMUNITY_FLAVOR</variable>
|
pankso@133
|
127 <label>Name|ISO|Rootfs|Description</label>
|
pankso@133
|
128 <input exported_column="0">$BIN list_flavors</input>
|
pankso@133
|
129 </tree>
|
pankso@133
|
130 <hbox>
|
pankso@133
|
131 <button>
|
pankso@133
|
132 <label>Recharge list</label>
|
pankso@133
|
133 <input file icon="reload"></input>
|
pankso@133
|
134 <action>$BIN recharge_list</action>
|
pankso@133
|
135 <action>refresh:COMMUNITY_FLAVOR</action>
|
pankso@133
|
136 </button>
|
pankso@133
|
137 <button>
|
pankso@133
|
138 <label>Exit</label>
|
pankso@133
|
139 <input file icon="exit"></input>
|
pankso@133
|
140 <action type="closewindow">LIST_FLAVORS_BOX</action>
|
pankso@133
|
141 </button>
|
pankso@133
|
142 </hbox>
|
pankso@133
|
143 </vbox>
|
pankso@133
|
144 </window>'
|
pankso@133
|
145
|
pankso@133
|
146 # Execute tazlito commands in a XTerm. Notebook: tab-pos="GTK_POS_LEFT"
|
pankso@133
|
147 export TAZLITO_BOX='
|
pankso@74
|
148 <window title="Tazlito Box" icon-name="media-cdrom">
|
pankso@74
|
149 <vbox>
|
pankso@74
|
150
|
pankso@132
|
151 <hbox>
|
pankso@74
|
152 <text use-markup="true">
|
pankso@132
|
153 <label>"<b>SliTaz Live Tool</b>"</label>
|
pankso@132
|
154
|
pankso@74
|
155 </text>
|
pankso@132
|
156 <pixmap>
|
pankso@132
|
157 <input file>/usr/share/pixmaps/tazlito.png</input>
|
pankso@132
|
158 </pixmap>
|
pankso@132
|
159
|
pankso@132
|
160 </hbox>
|
pankso@132
|
161
|
pankso@136
|
162 <notebook labels="Writeiso|Live flavor|Flavors list|Gen flavor|Configuration">
|
pankso@74
|
163
|
pankso@132
|
164 <frame Filesystem to ISO>
|
pankso@74
|
165
|
pankso@132
|
166 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@74
|
167 <label>
|
pankso@74
|
168 "
|
pankso@132
|
169 Writeiso will generate an ISO image of the current filesystem as
|
paul@134
|
170 is, including the /home directory. It is an easy way to remaster a
|
pankso@132
|
171 SliTaz Live system, you just have to: boot, modify, writeiso.
|
pankso@74
|
172 "
|
pankso@74
|
173 </label>
|
pankso@74
|
174 </text>
|
pankso@132
|
175
|
pankso@132
|
176 <hbox>
|
pankso@132
|
177 <text use-markup="true">
|
pankso@136
|
178 <label>"<b>Compression (gzip,lzma,none):</b>"</label>
|
pankso@132
|
179 </text>
|
pankso@132
|
180 <entry>
|
pankso@132
|
181 <default>gzip</default>
|
pankso@132
|
182 <variable>COMPRESSION</variable>
|
pankso@132
|
183 </entry>
|
pankso@132
|
184 </hbox>
|
pankso@132
|
185
|
pankso@132
|
186 <hbox>
|
pankso@132
|
187 <button>
|
pankso@132
|
188 <label>Writeiso</label>
|
pankso@132
|
189 <input file icon="forward"></input>
|
pankso@136
|
190 <action>$BIN writeiso_action</action>
|
pankso@132
|
191 </button>
|
pankso@132
|
192 </hbox>
|
pankso@132
|
193 </frame>
|
pankso@132
|
194
|
pankso@132
|
195 <frame Current packages selection>
|
pankso@132
|
196 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@132
|
197 <label>
|
pankso@132
|
198 "
|
pankso@132
|
199 Gen Live flavor will create a LiveCD based on all the currently
|
pankso@132
|
200 installed packages. To build the rootfs and ISO image it will use
|
paul@134
|
201 original SliTaz packages. Some addfiles can be copied before
|
paul@134
|
202 gen distro.
|
pankso@132
|
203 "
|
pankso@132
|
204 </label>
|
pankso@132
|
205 </text>
|
pankso@132
|
206
|
pankso@132
|
207 <hbox>
|
pankso@132
|
208 <text use-markup="true">
|
pankso@132
|
209 <label>"<b>Flavor name :</b>"</label>
|
pankso@132
|
210 </text>
|
pankso@132
|
211 <entry>
|
pankso@132
|
212 <default>slitaz</default>
|
pankso@132
|
213 <variable>GEN_LIVEFLAVOR_NAME</variable>
|
pankso@132
|
214 </entry>
|
pankso@132
|
215 </hbox>
|
pankso@74
|
216
|
pankso@74
|
217 <hbox>
|
pankso@74
|
218 <button>
|
pankso@133
|
219 <label>Addfiles</label>
|
pankso@133
|
220 <input file icon="gtk-open"></input>
|
pankso@133
|
221 <action>$BIN addfiles_action</action>
|
pankso@133
|
222 </button>
|
pankso@133
|
223 <button>
|
paul@90
|
224 <label>Gen distro</label>
|
pankso@74
|
225 <input file icon="forward"></input>
|
pankso@137
|
226 <action>$BIN gen_liveflavor_action</action>
|
pankso@74
|
227 </button>
|
pankso@74
|
228 <button>
|
pankso@74
|
229 <label>Clean distro</label>
|
pankso@74
|
230 <input file icon="edit-clear"></input>
|
pankso@137
|
231 <action>$BIN clean_distro_action</action>
|
pankso@74
|
232 </button>
|
pankso@74
|
233 </hbox>
|
pankso@132
|
234
|
paul@90
|
235 </frame>
|
paul@90
|
236
|
pankso@132
|
237 <frame Community and personal flavors>
|
pankso@132
|
238 <text wrap="true" width-chars="60" use-markup="true">
|
paul@90
|
239 <label>
|
paul@90
|
240 "
|
pankso@132
|
241 Get and build preconfigured flavors from the community. Flavors
|
paul@138
|
242 list can be recharged from SliTaz mirror. Some addfiles can be
|
pankso@136
|
243 copied before generating the distro.
|
pankso@74
|
244 "
|
pankso@74
|
245 </label>
|
pankso@74
|
246 </text>
|
pankso@74
|
247
|
pankso@74
|
248 <hbox>
|
pankso@74
|
249 <text use-markup="true">
|
pankso@74
|
250 <label>"<b>Flavor :</b>"</label>
|
pankso@74
|
251 </text>
|
pankso@74
|
252 <entry>
|
pankso@74
|
253 <default>core</default>
|
pankso@74
|
254 <variable>COMMUNITY_FLAVOR</variable>
|
pankso@74
|
255 </entry>
|
pankso@74
|
256 <button>
|
pankso@74
|
257 <label>List flavors</label>
|
pankso@74
|
258 <input file icon="media-cdrom"></input>
|
pankso@133
|
259 <action type="launch">LIST_FLAVORS_BOX</action>
|
pankso@74
|
260 </button>
|
pankso@74
|
261 </hbox>
|
pankso@74
|
262
|
pankso@74
|
263 <hbox>
|
pankso@74
|
264 <button>
|
pankso@74
|
265 <label>Get flavor</label>
|
pankso@74
|
266 <input file icon="forward"></input>
|
pankso@136
|
267 <action>cd /home/slitaz</action>
|
pankso@133
|
268 <action>xterm -geometry 80x16 -title "get-flavor $COMMUNITY_FLAVOR" -e "tazlito get-flavor $COMMUNITY_FLAVOR && echo -e \"----\nENTER to continue...\" && read close"</action>
|
pankso@74
|
269 </button>
|
pankso@74
|
270 <button>
|
pankso@136
|
271 <label>Addfiles</label>
|
pankso@136
|
272 <input file icon="gtk-open"></input>
|
pankso@136
|
273 <action>$BIN addfiles_action</action>
|
pankso@136
|
274 </button>
|
pankso@136
|
275 <button>
|
paul@90
|
276 <label>Gen distro</label>
|
pankso@74
|
277 <input file icon="forward"></input>
|
pankso@136
|
278 <action>cd /home/slitaz</action>
|
pankso@133
|
279 <action>xterm -geometry 80x16 -title "gen-distro" -e "tazlito gen-distro && echo -e \"----\nENTER to continue...\" && read close"</action>
|
pankso@74
|
280 </button>
|
pankso@74
|
281 <button>
|
pankso@74
|
282 <label>Clean distro</label>
|
pankso@74
|
283 <input file icon="edit-clear"></input>
|
pankso@137
|
284 <action>$BIN clean_distro_action</action>
|
pankso@74
|
285 </button>
|
pankso@74
|
286 </hbox>
|
pankso@74
|
287 </frame>
|
pankso@132
|
288
|
pankso@132
|
289 <frame Generate a flavor>
|
pankso@132
|
290
|
pankso@132
|
291 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@132
|
292 <label>
|
pankso@132
|
293 "
|
pankso@132
|
294 Gen Flavor will generate a new flavor file based on rootfs in
|
pankso@136
|
295 /home/slitaz/distro. All addfiles will be included in the flavor file.
|
pankso@132
|
296 "
|
pankso@132
|
297 </label>
|
pankso@132
|
298 </text>
|
pankso@132
|
299
|
pankso@132
|
300 <hbox>
|
pankso@132
|
301 <text use-markup="true">
|
pankso@132
|
302 <label>"<b>New flavor :</b>"</label>
|
pankso@132
|
303 </text>
|
pankso@132
|
304 <entry>
|
pankso@132
|
305 <default>slitaz</default>
|
pankso@132
|
306 <variable>GEN_FLAVOR_NAME</variable>
|
pankso@132
|
307 </entry>
|
pankso@132
|
308 </hbox>
|
pankso@132
|
309 <hbox>
|
pankso@132
|
310 <button>
|
pankso@133
|
311 <label>Addfiles</label>
|
pankso@133
|
312 <input file icon="gtk-open"></input>
|
pankso@133
|
313 <action>$BIN addfiles_action</action>
|
pankso@133
|
314 </button>
|
pankso@133
|
315 <button>
|
pankso@132
|
316 <label>Gen new flavor</label>
|
pankso@132
|
317 <input file icon="forward"></input>
|
pankso@136
|
318 <action>cd /home/slitaz</action>
|
pankso@133
|
319 <action>xterm -geometry 80x16 -title "gen-flavor $GEN_FLAVOR_NAME" -e "tazlito gen-flavor $GEN_FLAVOR_NAME && echo -e \"----\nENTER to continue...\" && read close"</action>
|
pankso@132
|
320 </button>
|
pankso@132
|
321 </hbox>
|
pankso@132
|
322 </frame>
|
pankso@74
|
323
|
pankso@74
|
324 <frame Flavor config and packages list>
|
pankso@132
|
325 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@74
|
326 <label>
|
pankso@74
|
327 "
|
pankso@136
|
328 Before editing files you must have a flavor description. Distro
|
paul@138
|
329 script can be used to perform actions into the rootfs before
|
pankso@136
|
330 compression.
|
pankso@74
|
331 "
|
pankso@74
|
332 </label>
|
pankso@74
|
333 </text>
|
pankso@74
|
334
|
pankso@74
|
335 <hbox>
|
pankso@74
|
336 <text use-markup="true">
|
pankso@74
|
337 <label>"<b>Flavor config :</b>"</label>
|
pankso@74
|
338 </text>
|
pankso@74
|
339 <entry>
|
pankso@131
|
340 <default>/home/slitaz/tazlito.conf</default>
|
pankso@74
|
341 <variable>CONFIG_FILE</variable>
|
pankso@74
|
342 </entry>
|
pankso@74
|
343 <button>
|
pankso@74
|
344 <input file icon="accessories-text-editor"></input>
|
pankso@133
|
345 <action>editor $CONFIG_FILE</action>
|
pankso@74
|
346 </button>
|
pankso@74
|
347 </hbox>
|
pankso@74
|
348
|
pankso@74
|
349 <hbox>
|
pankso@74
|
350 <text use-markup="true">
|
pankso@74
|
351 <label>"<b>Packages list :</b>"</label>
|
pankso@74
|
352 </text>
|
pankso@74
|
353 <entry>
|
pankso@131
|
354 <default>/home/slitaz/distro-packages.list</default>
|
pankso@74
|
355 <variable>PKGS_LIST</variable>
|
pankso@74
|
356 </entry>
|
pankso@74
|
357 <button>
|
pankso@74
|
358 <input file icon="accessories-text-editor"></input>
|
pankso@133
|
359 <action>editor $PKGS_LIST</action>
|
pankso@74
|
360 </button>
|
pankso@74
|
361 </hbox>
|
pankso@74
|
362
|
pankso@136
|
363 <hbox>
|
pankso@136
|
364 <text use-markup="true">
|
pankso@136
|
365 <label>"<b>Distro script :</b> "</label>
|
pankso@136
|
366 </text>
|
pankso@136
|
367 <entry>
|
pankso@136
|
368 <default>/home/slitaz/distro.sh</default>
|
pankso@136
|
369 <variable>DISTRO_SCRIPT</variable>
|
pankso@136
|
370 </entry>
|
pankso@136
|
371 <button>
|
pankso@136
|
372 <input file icon="accessories-text-editor"></input>
|
pankso@136
|
373 <action>[ ! -f $DISTRO_SCRIPT ] && echo "#!/bin/sh" > $DISTRO_SCRIPT</action>
|
pankso@136
|
374 <action>chmod +x $DISTRO_SCRIPT</action>
|
pankso@136
|
375 <action>editor $DISTRO_SCRIPT</action>
|
pankso@136
|
376 </button>
|
pankso@136
|
377 </hbox>
|
pankso@136
|
378
|
pankso@74
|
379 </frame>
|
pankso@74
|
380
|
pankso@74
|
381 </notebook>
|
pankso@74
|
382
|
pankso@74
|
383 <hbox>
|
pankso@74
|
384 <button help>
|
pankso@74
|
385 <input file icon="help-browser"></input>
|
pankso@74
|
386 <action type="launch">HELP</action>
|
pankso@74
|
387 </button>
|
pankso@74
|
388 <button>
|
pankso@132
|
389 <label>Exit</label>
|
pankso@74
|
390 <input file icon="exit"></input>
|
pankso@74
|
391 <action type="exit">Exit</action>
|
pankso@74
|
392 </button>
|
pankso@74
|
393 </hbox>
|
pankso@74
|
394
|
pankso@74
|
395 </vbox>
|
pankso@74
|
396 </window>
|
pankso@74
|
397 '
|
pankso@74
|
398
|
pankso@133
|
399 case $1 in
|
pankso@133
|
400 *_*)
|
pankso@133
|
401 # Exec all function called by args (must have an underscore).
|
pankso@133
|
402 $1 ;;
|
pankso@133
|
403 *)
|
pankso@136
|
404 # Tazlitobox action.
|
pankso@133
|
405 check_root
|
pankso@133
|
406 gtkdialog --center --program=TAZLITO_BOX ;;
|
pankso@133
|
407 esac
|
pankso@74
|
408
|
pankso@74
|
409 exit 0
|