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