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@132
|
20 # By default we go in /home/slitaz to download or gen flavors.
|
pankso@74
|
21 cd_flavors()
|
pankso@74
|
22 {
|
pankso@74
|
23 mkdir -p /home/slitaz/flavors
|
pankso@132
|
24 cd /home/slitaz
|
pankso@74
|
25 }
|
pankso@74
|
26
|
pankso@133
|
27 # We need to parse flavors.list for GTK tree.
|
pankso@133
|
28 list_flavors()
|
pankso@133
|
29 {
|
pankso@133
|
30 tazlito list-flavors | grep ^[a-z] | while read line
|
pankso@133
|
31 do
|
pankso@133
|
32 info=`echo -n $line | awk '{print $1 " " $2 " " $3}'`
|
pankso@133
|
33 printinfo=`echo -n $line | awk '{print $1 "|" $2 "|" $3}'`
|
pankso@133
|
34 echo "$printinfo|`echo $line | sed s/\"$info\"//`"
|
pankso@133
|
35 done
|
pankso@133
|
36 }
|
pankso@133
|
37
|
pankso@133
|
38 recharge_list()
|
pankso@133
|
39 {
|
pankso@133
|
40 xterm -geometry 90x14 \
|
pankso@133
|
41 -title "list-flavors --recharge" \
|
pankso@133
|
42 -e "tazlito list-flavors --recharge | grep ^[a-z] && sleep 2"
|
pankso@133
|
43 }
|
pankso@133
|
44
|
pankso@133
|
45 # When using gen-liveflavor, gen-flavor or gen-distro, user can put some
|
pankso@133
|
46 # addfiles copied into the rootfs.
|
pankso@133
|
47 addfiles_action()
|
pankso@133
|
48 {
|
pankso@133
|
49 cd /home/slitaz
|
pankso@133
|
50 mkdir -p distro/addfiles/rootfs
|
pankso@133
|
51 mkdir -p distro/addfiles/rootcd
|
pankso@133
|
52 file-manager distro/addfiles &
|
pankso@133
|
53 }
|
pankso@133
|
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@132
|
144 <notebook labels="Writeiso|Live flavor|Flavors list|Gen flavor|Configuration files">
|
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@132
|
160 <label>"<b>Compression :</b> (gzip,lzma,none)"</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@133
|
172 <action>xterm -geometry 80x16 -title "writeiso" -e "tazlito writeiso $COMPRESSION"</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@132
|
227 list can be recharged from SliTaz mirror.
|
pankso@74
|
228 "
|
pankso@74
|
229 </label>
|
pankso@74
|
230 </text>
|
pankso@74
|
231
|
pankso@74
|
232 <hbox>
|
pankso@74
|
233 <text use-markup="true">
|
pankso@74
|
234 <label>"<b>Flavor :</b>"</label>
|
pankso@74
|
235 </text>
|
pankso@74
|
236 <entry>
|
pankso@74
|
237 <default>core</default>
|
pankso@74
|
238 <variable>COMMUNITY_FLAVOR</variable>
|
pankso@74
|
239 </entry>
|
pankso@74
|
240 <button>
|
pankso@74
|
241 <label>List flavors</label>
|
pankso@74
|
242 <input file icon="media-cdrom"></input>
|
pankso@133
|
243 <action type="launch">LIST_FLAVORS_BOX</action>
|
pankso@74
|
244 </button>
|
pankso@74
|
245 </hbox>
|
pankso@74
|
246
|
pankso@74
|
247 <hbox>
|
pankso@74
|
248 <button>
|
pankso@74
|
249 <label>Get flavor</label>
|
pankso@74
|
250 <input file icon="forward"></input>
|
pankso@133
|
251 <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
|
252 </button>
|
pankso@74
|
253 <button>
|
paul@90
|
254 <label>Gen distro</label>
|
pankso@74
|
255 <input file icon="forward"></input>
|
pankso@133
|
256 <action>xterm -geometry 80x16 -title "gen-distro" -e "tazlito gen-distro && echo -e \"----\nENTER to continue...\" && read close"</action>
|
pankso@74
|
257 </button>
|
pankso@74
|
258 <button>
|
pankso@74
|
259 <label>Clean distro</label>
|
pankso@74
|
260 <input file icon="edit-clear"></input>
|
pankso@133
|
261 <action>xterm -geometry 80x16 -title "clean-distro" -e "tazlito clean-distro && sleep 1"</action>
|
pankso@74
|
262 </button>
|
pankso@74
|
263 </hbox>
|
pankso@74
|
264 </frame>
|
pankso@132
|
265
|
pankso@132
|
266 <frame Generate a flavor>
|
pankso@132
|
267
|
pankso@132
|
268 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@132
|
269 <label>
|
pankso@132
|
270 "
|
pankso@132
|
271 Gen Flavor will generate a new flavor file based on rootfs in
|
paul@134
|
272 home/slitaz/distro. All addfiles will be included in the flavor file.
|
pankso@132
|
273 "
|
pankso@132
|
274 </label>
|
pankso@132
|
275 </text>
|
pankso@132
|
276
|
pankso@132
|
277 <hbox>
|
pankso@132
|
278 <text use-markup="true">
|
pankso@132
|
279 <label>"<b>New flavor :</b>"</label>
|
pankso@132
|
280 </text>
|
pankso@132
|
281 <entry>
|
pankso@132
|
282 <default>slitaz</default>
|
pankso@132
|
283 <variable>GEN_FLAVOR_NAME</variable>
|
pankso@132
|
284 </entry>
|
pankso@132
|
285 </hbox>
|
pankso@132
|
286 <hbox>
|
pankso@132
|
287 <button>
|
pankso@133
|
288 <label>Addfiles</label>
|
pankso@133
|
289 <input file icon="gtk-open"></input>
|
pankso@133
|
290 <action>$BIN addfiles_action</action>
|
pankso@133
|
291 </button>
|
pankso@133
|
292 <button>
|
pankso@132
|
293 <label>Gen new flavor</label>
|
pankso@132
|
294 <input file icon="forward"></input>
|
pankso@133
|
295 <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
|
296 </button>
|
pankso@132
|
297 </hbox>
|
pankso@132
|
298 </frame>
|
pankso@74
|
299
|
pankso@74
|
300 <frame Flavor config and packages list>
|
pankso@132
|
301 <text wrap="true" width-chars="60" use-markup="true">
|
pankso@74
|
302 <label>
|
pankso@74
|
303 "
|
pankso@74
|
304 Before editing files you must have a flavor description.
|
pankso@74
|
305 "
|
pankso@74
|
306 </label>
|
pankso@74
|
307 </text>
|
pankso@74
|
308
|
pankso@74
|
309 <hbox>
|
pankso@74
|
310 <text use-markup="true">
|
pankso@74
|
311 <label>"<b>Flavor config :</b>"</label>
|
pankso@74
|
312 </text>
|
pankso@74
|
313 <entry>
|
pankso@131
|
314 <default>/home/slitaz/tazlito.conf</default>
|
pankso@74
|
315 <variable>CONFIG_FILE</variable>
|
pankso@74
|
316 </entry>
|
pankso@74
|
317 <button>
|
pankso@74
|
318 <input file icon="accessories-text-editor"></input>
|
pankso@133
|
319 <action>editor $CONFIG_FILE</action>
|
pankso@74
|
320 </button>
|
pankso@74
|
321 </hbox>
|
pankso@74
|
322
|
pankso@74
|
323 <hbox>
|
pankso@74
|
324 <text use-markup="true">
|
pankso@74
|
325 <label>"<b>Packages list :</b>"</label>
|
pankso@74
|
326 </text>
|
pankso@74
|
327 <entry>
|
pankso@131
|
328 <default>/home/slitaz/distro-packages.list</default>
|
pankso@74
|
329 <variable>PKGS_LIST</variable>
|
pankso@74
|
330 </entry>
|
pankso@74
|
331 <button>
|
pankso@74
|
332 <input file icon="accessories-text-editor"></input>
|
pankso@133
|
333 <action>editor $PKGS_LIST</action>
|
pankso@74
|
334 </button>
|
pankso@74
|
335 </hbox>
|
pankso@74
|
336
|
pankso@74
|
337 </frame>
|
pankso@74
|
338
|
pankso@74
|
339 </notebook>
|
pankso@74
|
340
|
pankso@74
|
341 <hbox>
|
pankso@74
|
342 <button help>
|
pankso@74
|
343 <input file icon="help-browser"></input>
|
pankso@74
|
344 <action type="launch">HELP</action>
|
pankso@74
|
345 </button>
|
pankso@74
|
346 <button>
|
pankso@132
|
347 <label>Exit</label>
|
pankso@74
|
348 <input file icon="exit"></input>
|
pankso@74
|
349 <action type="exit">Exit</action>
|
pankso@74
|
350 </button>
|
pankso@74
|
351 </hbox>
|
pankso@74
|
352
|
pankso@74
|
353 </vbox>
|
pankso@74
|
354 </window>
|
pankso@74
|
355 '
|
pankso@74
|
356
|
pankso@133
|
357 case $1 in
|
pankso@133
|
358 *_*)
|
pankso@133
|
359 # Exec all function called by args (must have an underscore).
|
pankso@133
|
360 $1 ;;
|
pankso@133
|
361 *)
|
pankso@133
|
362 # Tazlitobox action
|
pankso@133
|
363 check_root
|
pankso@133
|
364 cd_flavors
|
pankso@133
|
365 gtkdialog --center --program=TAZLITO_BOX ;;
|
pankso@133
|
366 esac
|
pankso@74
|
367
|
pankso@74
|
368 exit 0
|