tazlito annotate tazlitobox @ rev 138

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sat Jan 23 21:59:04 2010 +0000 (2010-01-23)
parents 6b97ef60644a
children 3f6208cdbd12
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