tazlito annotate tazlitobox @ rev 134

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sat Jan 23 14:13:08 2010 +0000 (2010-01-23)
parents 1cc96a18d594
children f2b3006d4e42
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