tazpkg annotate tazpkgbox @ rev 326

tazpkgbox: add link support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Mar 03 15:19:29 2010 +0100 (2010-03-03)
parents eb6c5f270796
children 58396b6c385e
rev   line source
pankso@82 1 #!/bin/sh
pankso@82 2 #
pankso@279 3 # GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Notes:
pankso@279 4 # Notebook tab are vbox, tabs are used to indent and functions are
paul@247 5 # split and found in $LIB.
pankso@82 6 #
pankso@310 7 # (C) GNU gpl v3 - SliTaz GNU/Linux 2010.
pankso@82 8 #
pascal@316 9 VERSION=3.2.1
pankso@82 10
pankso@231 11 # Functions path.
pankso@237 12 export LIB=/usr/lib/slitaz/tazpkgbox
pankso@231 13
pankso@82 14 # Tazpkgbox is only for root.
pankso@82 15 if test $(id -u) != 0 ; then
pankso@82 16 exec subox tazpkgbox
pankso@82 17 exit 0
pankso@82 18 fi
pankso@82 19
pankso@82 20 # We need at least a mirror URL.
pankso@82 21 if [ ! -f /var/lib/tazpkg/mirror ]; then
pankso@82 22 tazpkg >/dev/null
pankso@82 23 fi
pankso@82 24
pascal@258 25 RELEASE=$(cat /etc/slitaz-release)
pascal@258 26 case "$1" in
pascal@258 27 dliso)
pascal@258 28 echo "Downloading packages-$RELEASE.iso into $2..."
pascal@258 29 cd $2
pascal@258 30 for i in $(cat /var/lib/tazpkg/mirror) ; do
pascal@258 31 wget ${i%packages*}/iso/$RELEASE/packages-$RELEASE.iso && break
pascal@258 32 done
pascal@258 33 exit 0;;
pascal@258 34 instiso)
pascal@258 35 PKGSIGN="LABEL=\"packages-$RELEASE\" TYPE=\"iso9660\""
pascal@258 36 PKGDEV=$(blkid $2 | grep "$PKGSIGN" | cut -d: -f1)
pascal@258 37 [ -z "$PKGDEV$2" -a -L /dev/cdrom ] && PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1)
pascal@258 38 if [ -n "$PKGDEV" ]; then
pascal@258 39 mkdir /packages 2> /dev/null
pascal@258 40 mount -t iso9660 -o ro $PKGDEV /packages
pascal@258 41 /packages/install.sh
pascal@258 42 fi
pascal@258 43 exit 0;;
pascal@258 44 esac
paul@247 45 # Tmp dir and files used to get pkgs info on the fly. Clean also
paul@247 46 # lists and searches for files to load less data and have a faster start.
pankso@82 47 mkdir -p /tmp/tazpkgbox
pankso@230 48 echo "all" > /tmp/tazpkgbox/status
pankso@230 49 echo "all" > /tmp/tazpkgbox/category
pascal@187 50 echo "all" > /tmp/tazpkgbox/undigest-category
pankso@233 51 echo "" > /tmp/tazpkgbox/search
pankso@82 52
paul@247 53 # English/French help dialog.
pankso@82 54 export HELP='
pankso@82 55 <window title="Tazpkgbox Help" icon-name="help">
pankso@82 56 <vbox>
pankso@82 57 <text use-markup="true" width-chars="54">
pankso@82 58 <label>"
pankso@82 59 <b>Tazpkgbox - Packages Manager Help</b>"
pankso@82 60 </label>
pankso@82 61 </text>
pankso@86 62
pankso@82 63 <frame English>
pankso@82 64 <text wrap="false">
pankso@82 65 <label>"
pankso@86 66 Tazpkgbox is a simple and easy to use interface to the SliTaz
pankso@86 67 package manager - aka Tazpkg. You can install, remove, repack or
pankso@86 68 get packages by double-clicking on the package item. A Search engine
pankso@237 69 lets you find and install new applications in a few mouse clicks."
pankso@82 70 </label>
pankso@82 71 </text>
pankso@82 72 </frame>
pankso@86 73
pankso@82 74 <frame Français>
pankso@82 75 <text wrap="false">
pankso@82 76 <label>"
pankso@82 77 Tazpkgbox est une interface graphique au gestionnaire de paquet
pankso@86 78 de Slitaz aka Tazpkg. Simple et facile à utiliser, vous pouvez
pankso@237 79 installer, télécharger ou supprimer des paquets en double-cliquant
pankso@237 80 sur sa ligne. La fonction de recherche permet de facilement trouver
pankso@237 81 et installer des logiciels ou fichiers."
pankso@82 82 </label>
pankso@82 83 </text>
pankso@82 84 </frame>
pankso@86 85
pankso@82 86 <hbox>
pankso@82 87 <button ok>
pankso@82 88 <action type="closewindow">HELP</action>
pankso@82 89 </button>
pankso@82 90 </hbox>
pankso@82 91 </vbox>
pankso@82 92 </window>
pankso@82 93 '
pankso@82 94
pascal@210 95 FILES="$2"
pascal@210 96 [ "$1" = "list_config" ] || FILES=""
pascal@258 97
pascal@258 98 export SETUP_DVD="
pascal@258 99 <window title=\"Packages archive\" icon-name=\"media-cdrom\">
pascal@258 100 <vbox>
pascal@258 101 <text use-markup=\"true\" width-chars=\"54\">
pascal@258 102 <label>\"
pascal@258 103 <b>Tazpkgbox - Packages Archive Manager</b>\"
pascal@258 104 </label>
pascal@258 105 </text>
pascal@258 106 <frame English>
pascal@258 107 <text wrap=\"false\">
pascal@258 108 <label>\"
pascal@258 109 An ISO image with all $(cat /etc/slitaz-release) packages is available on Slitaz mirrors.
paul@285 110 You can burn it onto a DVD or install it on an USB key and each
paul@285 111 package becomes installable without an Internet connection.\"
pascal@258 112 </label>
pascal@258 113 </text>
pascal@258 114 </frame>
pascal@258 115
pascal@258 116 <frame Français>
pascal@258 117 <text wrap=\"false\">
pascal@258 118 <label>\"
pankso@279 119 Une image ISO installable sur clé USB ou gravable sur DVD est
pascal@258 120 disponible sur les mirroirs Slitaz. Elle contient tous les paquets
pascal@258 121 de la version $(cat /etc/slitaz-release) pour pouvoir installer des paquets sans
pascal@258 122 connexion Internet.\"
pascal@258 123 </label>
pascal@258 124 </text>
pascal@258 125 </frame>
pascal@258 126 <frame>
pascal@258 127 <hbox>
pascal@258 128 <text use-markup=\"true\">
pascal@258 129 <label>\"<b>ISO image : </b>\"</label>
pascal@258 130 </text>
pascal@258 131 <entry>
pascal@258 132 <variable>PKGISO</variable>
pascal@258 133 </entry>
pascal@258 134 <button>
pascal@258 135 <input file stock=\"gtk-open\"></input>
pascal@258 136 <action type=\"fileselect\">PKGISO</action>
pascal@258 137 </button>
pascal@258 138 <button>
pascal@258 139 <label>Install ISO</label>
pascal@258 140 <input file icon=\"go-jump\"></input>
pascal@258 141 <action>xterm -T \"Install ISO\" -geometry 80x16+120+120 -e \"tazpkgbox instiso \$PKGISO; sleep 2\" 2>/dev/null</action>
pascal@258 142 <action>refresh:PKG</action>
pascal@258 143 <action>refresh:PKG_STATS</action>
pascal@258 144 <action>refresh:CACHE_STATS</action>
pascal@258 145 </button>
pascal@258 146 </hbox>
pascal@258 147 </frame>
pascal@258 148 <hbox>
pascal@258 149 <button>
pascal@258 150 <label>Download ISO</label>
pascal@258 151 <input file icon=\"system-software-update\"></input>
pascal@258 152 <action>xterm -T \"Download ISO\" -geometry 80x16+120+120 -e \"tazpkgbox dliso /tmp; sleep 2\" 2>/dev/null</action>
pascal@258 153 </button>
pascal@258 154 <button>
pascal@258 155 <input file icon=\"media-cdrom\"></input>
pascal@258 156 <label>Burn DVD</label>
pascal@258 157 <action>burnbox</action>
pascal@258 158 </button>
pascal@258 159 <button>
pascal@258 160 <label>Install DVD/USB key</label>
pascal@258 161 <input file icon=\"go-jump\"></input>
pascal@258 162 <action>xterm -T \"Install DVD/USB key\" -geometry 80x16+120+120 -e \"tazpkgbox instiso; sleep 2\" 2>/dev/null</action>
pascal@258 163 <action>refresh:PKG</action>
pascal@258 164 <action>refresh:PKG_STATS</action>
pascal@258 165 <action>refresh:CACHE_STATS</action>
pascal@258 166 </button>
pascal@258 167 <button>
pascal@258 168 <input file icon=\"gtk-close\"></input>
pascal@258 169 <action type=\"closewindow\">SETUP_DVD</action>
pascal@258 170 </button>
pascal@258 171 </hbox>
pascal@258 172 </vbox>
pascal@258 173 </window>
pascal@258 174 "
pascal@258 175
pascal@210 176 export LIST_CONFIG_FILES="
pascal@210 177 <window title=\"configuration files\" icon-name=\"system-file-manager\">
pascal@139 178 <vbox>
pascal@210 179 <tree exported_column=\"5\">
pascal@143 180 <width>560</width><height>160</height>
pascal@142 181 <variable>CONF_FILE</variable>
pascal@143 182 <label>Access | User | Group | Size | Update Date | Name</label>
pascal@210 183 <input>tazpkg list-config --box $FILES</input>
pascal@210 184 <action>leafpad \$CONF_FILE</action>
pascal@139 185 </tree>
pascal@139 186 <hbox>
pascal@210 187 <text wrap=\"false\">
pascal@142 188 <label>
pascal@210 189 \"Only files with Update Date have been modified after package installation\"
pascal@142 190 </label>
pascal@141 191 </text>
pascal@139 192 <button>
pascal@210 193 <input file icon=\"gtk-close\"></input>
pascal@210 194 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
pascal@139 195 </button>
pascal@139 196 </hbox>
pascal@139 197 </vbox>
pascal@139 198 </window>
pascal@210 199 "
pascal@210 200 if [ "$1" = "list_config" ]; then
pascal@210 201 gtkdialog --center --program=LIST_CONFIG_FILES >/dev/null
pascal@210 202 exit 0
pascal@210 203 fi
pascal@139 204
pascal@187 205 export SETUP_UNDIGEST='
pascal@187 206 <window title="undigest mirrors" icon-name="tazpkg">
pascal@187 207 <vbox>
pascal@187 208 <tree>
pascal@187 209 <width>560</width><height>160</height>
pascal@187 210 <variable>UNDIGEST_LIST</variable>
pascal@187 211 <label>Name | URL</label>
pascal@187 212 <input>tazpkg list-undigest --box</input>
pascal@187 213 <action>xterm -T "Remove undigest" -geometry 80x16+120+120 -e "tazpkg remove-undigest $UNDIGEST_LIST; sleep 2"</action>
pascal@187 214 </tree>
pascal@187 215 <hbox>
pascal@187 216 <text>
pascal@187 217 <label>URL:</label>
pascal@187 218 </text>
pascal@187 219 <entry>
pascal@187 220 <variable>UNDIGEST_URL</variable>
pascal@187 221 </entry>
pascal@187 222 </hbox>
pascal@187 223 <hbox>
pascal@187 224 <text>
pascal@187 225 <label>Name:</label>
pascal@187 226 </text>
pascal@187 227 <entry>
pascal@187 228 <variable>UNDIGEST_NAME</variable>
pascal@187 229 </entry>
pascal@187 230 <button>
pascal@187 231 <label>Add</label>
pascal@187 232 <input file icon="gtk-add"></input>
pascal@187 233 <action>tazpkg add-undigest "$UNDIGEST_NAME" $UNDIGEST_URL</action>
pascal@187 234 <action>refresh:UNDIGEST_LIST</action>
pascal@187 235 </button>
pascal@187 236 <button>
pascal@187 237 <label>Remove</label>
pascal@187 238 <input file icon="gtk-remove"></input>
pascal@187 239 <action>xterm -T "Remove undigest" -geometry 80x16+120+120 -e "tazpkg remove-undigest $UNDIGEST_NAME; sleep 2"</action>
pascal@187 240 <action>refresh:UNDIGEST_LIST</action>
pascal@187 241 </button>
pascal@187 242 <button>
pascal@187 243 <label>Update</label>
pascal@187 244 <input file icon="reload"></input>
pascal@187 245 <action>tazpkg setup-undigest "$UNDIGEST_NAME" $UNDIGEST_URL</action>
pascal@187 246 <action>refresh:UNDIGEST_LIST</action>
pascal@187 247 </button>
pascal@187 248 <button>
pascal@187 249 <input file icon="gtk-close"></input>
pascal@187 250 <action type="closewindow">SETUP_UNDIGEST</action>
pascal@187 251 </button>
pascal@187 252 </hbox>
pascal@187 253 </vbox>
pascal@187 254 </window>
pascal@187 255 '
pascal@187 256
paul@247 257 # Scan notification
pankso@229 258 desktopbox notify "Scanning packages database" 6 &
pankso@229 259
pankso@82 260 # Main dialog
pankso@82 261 export TAZPKG_DIALOG='
pankso@82 262 <window title="SliTaz Packages Manager" icon-name="package-x-generic">
pankso@82 263 <vbox>
pankso@82 264
pankso@82 265 <hbox>
pankso@82 266 <text use-markup="true">
pankso@82 267 <label>"<b>Packages Manager</b>"</label>
pankso@82 268 </text>
pankso@82 269 <pixmap>
pankso@82 270 <input file>/usr/share/pixmaps/tazpkg.png</input>
pankso@82 271 </pixmap>
pankso@82 272 </hbox>
pankso@82 273
pankso@236 274 <notebook labels="Packages|Search|Undigest|Configuration">
pankso@82 275
pankso@82 276 <vbox>
pankso@82 277 <tree>
pankso@102 278 <width>620</width><height>240</height>
pankso@82 279 <variable>PKG</variable>
pankso@230 280 <label>Name|Version|Description</label>
pankso@230 281 <input icon_column="0">$LIB/list all</input>
pankso@82 282 <action>echo "$PKG" > /tmp/tazpkgbox/pkg</action>
pankso@230 283 <action>$LIB/package_infos</action>
pankso@82 284 <action>refresh:PKG</action>
pankso@82 285 <action>refresh:PKG_STATS</action>
pankso@82 286 <action>refresh:CACHE_STATS</action>
pankso@82 287 </tree>
pankso@82 288 <hbox>
pankso@82 289 <text>
pankso@230 290 <label>"Status:"</label>
pankso@230 291 </text>
pankso@230 292 <combobox>
pankso@230 293 <variable>STATUS</variable>
pankso@230 294 <item>all</item>
pankso@230 295 <item>installed</item>
pankso@230 296 <item>installable</item>
pankso@230 297 <item>blocked</item>
pascal@319 298 <item>upgradeable</item>
pascal@326 299 <item>linkable</item>
pankso@230 300 </combobox>
pankso@230 301 <text>
pankso@82 302 <label>"Category:"</label>
pankso@82 303 </text>
pankso@82 304 <combobox>
pankso@230 305 <variable>CAT</variable>
pankso@82 306 <item>all</item>
pankso@82 307 <item>base-system</item>
pascal@160 308 <item>x-window</item>
pankso@82 309 <item>utilities</item>
pankso@82 310 <item>network</item>
pankso@82 311 <item>graphics</item>
pankso@82 312 <item>multimedia</item>
pankso@82 313 <item>office</item>
pankso@82 314 <item>development</item>
pankso@82 315 <item>system-tools</item>
pankso@82 316 <item>security</item>
pankso@82 317 <item>games</item>
pankso@82 318 <item>misc</item>
pankso@82 319 <item>meta</item>
pankso@82 320 <item>non-free</item>
pankso@82 321 </combobox>
pankso@82 322 <button>
pankso@82 323 <label>List</label>
pankso@82 324 <input file icon="reload"></input>
pankso@230 325 <action>echo "$CAT" > /tmp/tazpkgbox/category</action>
pankso@230 326 <action>echo "$STATUS" > /tmp/tazpkgbox/status</action>
pankso@82 327 <action>refresh:PKG</action>
pankso@82 328 </button>
pankso@82 329 </hbox>
pankso@82 330 </vbox>
pankso@279 331
pankso@238 332 <vbox>
pankso@233 333 <tree>
pankso@230 334 <width>620</width><height>120</height>
pankso@233 335 <variable>RESULT</variable>
pankso@236 336 <label>Packages Name|Version|Description / File</label>
pankso@233 337 <input icon_column="0">cat /tmp/tazpkgbox/search</input>
pankso@233 338 <action>echo "$RESULT" > /tmp/tazpkgbox/pkg</action>
pankso@230 339 <action>$LIB/package_infos</action>
pankso@238 340 <action>$LIB/search packages</action>
pankso@233 341 <action>refresh:RESULT</action>
pankso@230 342 <action>refresh:PKG</action>
pascal@130 343 <action>refresh:PKG_STATS</action>
pascal@130 344 <action>refresh:CACHE_STATS</action>
pascal@130 345 </tree>
pascal@130 346 <hbox>
pankso@230 347 <entry>
pankso@230 348 <variable>SEARCH</variable>
pankso@230 349 </entry>
pascal@130 350 <button>
pascal@323 351 <label>Packages/Description</label>
pankso@230 352 <input file icon="system-search"></input>
pankso@233 353 <action>$LIB/search packages</action>
pankso@233 354 <action>refresh:RESULT</action>
pascal@130 355 </button>
pankso@82 356 <button>
pankso@233 357 <label>Files</label>
pankso@230 358 <input file icon="system-search"></input>
pankso@233 359 <action>$LIB/search files</action>
pankso@233 360 <action>refresh:RESULT</action>
pankso@82 361 </button>
pascal@287 362 '
pascal@287 363 tmp='
pascal@287 364 <button>
pascal@287 365 <label>Tags</label>
pascal@287 366 <input file icon="system-search"></input>
pascal@287 367 <action>$LIB/search tags</action>
pascal@287 368 <action>refresh:RESULT</action>
pascal@287 369 </button>
pascal@287 370 '
pascal@287 371 [ -d /home/slitaz/wok ] && TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp"
pascal@287 372 tmp='
pankso@82 373 </hbox>
pankso@82 374 </vbox>
pankso@82 375
pankso@82 376 <vbox>
pascal@178 377 <tree>
pascal@178 378 <width>620</width><height>240</height>
pascal@187 379 <variable>DEV</variable>
pascal@243 380 <label>Name|Version|Description</label>
pascal@243 381 <input icon_column="0">$LIB/list undigest</input>
pascal@187 382 <action>echo "$DEV" > /tmp/tazpkgbox/pkg</action>
pankso@230 383 <action>$LIB/package_infos</action>
pascal@187 384 <action>refresh:PKG</action>
pascal@187 385 <action>refresh:PKG_STATS</action>
pascal@187 386 <action>refresh:CACHE_STATS</action>
pascal@187 387 </tree>
pascal@187 388 <hbox>
pascal@187 389 <text>
pascal@187 390 <label>"Undigest:"</label>
pascal@187 391 </text>
pascal@187 392 <combobox>
pascal@187 393 <variable>UNDIGEST_ENTRY</variable>
pascal@213 394 '
pascal@287 395 TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp"
pascal@213 396 for i in all $(ls /var/lib/tazpkg/undigest 2> /dev/null); do
pascal@213 397 TAZPKG_DIALOG="$TAZPKG_DIALOG <item>$i</item> "
pascal@213 398 done
pascal@213 399 tmp=' </combobox>
pascal@322 400 <button>
pascal@322 401 <label>Setup undigest mirrors</label>
pascal@322 402 <input file icon="go-next"></input>
pascal@322 403 <action type="launch">SETUP_UNDIGEST</action>
pascal@322 404 </button>
pascal@322 405 </hbox>
pascal@322 406 <hbox>
pascal@322 407 <text>
pascal@322 408 <label>"Status:"</label>
pascal@322 409 </text>
pascal@322 410 <combobox>
pascal@322 411 <variable>UNDIGEST_STATUS</variable>
pascal@322 412 <item>all</item>
pascal@322 413 <item>installed</item>
pascal@322 414 <item>installable</item>
pascal@322 415 <item>blocked</item>
pascal@322 416 <item>upgradeable</item>
pascal@322 417 </combobox>
pascal@187 418 <text>
pascal@187 419 <label>"Category:"</label>
pascal@187 420 </text>
pascal@187 421 <combobox>
pascal@187 422 <variable>UNDIGEST_CAT</variable>
pascal@187 423 <item>all</item>
pascal@187 424 <item>base-system</item>
pascal@187 425 <item>x-window</item>
pascal@187 426 <item>utilities</item>
pascal@187 427 <item>network</item>
pascal@187 428 <item>graphics</item>
pascal@187 429 <item>multimedia</item>
pascal@187 430 <item>office</item>
pascal@187 431 <item>development</item>
pascal@187 432 <item>system-tools</item>
pascal@187 433 <item>security</item>
pascal@187 434 <item>games</item>
pascal@187 435 <item>misc</item>
pascal@187 436 <item>meta</item>
pascal@187 437 <item>non-free</item>
pascal@187 438 </combobox>
pascal@187 439 <button>
pascal@187 440 <label>List</label>
pascal@187 441 <input file icon="reload"></input>
pascal@322 442 <action>echo "$UNDIGEST_CAT $UNDIGEST_ENTRY $UNDIGEST_STATUS" > /tmp/tazpkgbox/undigest-category</action>
pascal@187 443 <action>refresh:DEV</action>
pascal@187 444 </button>
pascal@187 445 </hbox>
pascal@187 446 </vbox>
pascal@187 447
pascal@187 448 <vbox>
pankso@227 449 <frame Files and Cache directory>
pascal@143 450 <text use-markup="true" width-chars="60" wrap="false">
pankso@227 451 <label>"
pankso@227 452 Lists, mirror URL and installed packages: <b>/var/lib/tazpkg</b>
pankso@227 453 The cache directory is used to store downloaded or repacked packages.
pankso@227 454 "</label>
pankso@86 455 </text>
pankso@82 456 <hbox>
pankso@82 457 <entry editable="false">
pankso@82 458 <input>cd /var/cache/tazpkg; echo "Packages: `ls | wc -l`, size: `du -sh $PWD`"</input>
pankso@82 459 <variable>CACHE_STATS</variable>
pankso@82 460 </entry>
pankso@82 461 <button>
pankso@82 462 <label>Clean cache</label>
pankso@86 463 <input file icon="go-next"></input>
pankso@82 464 <action>rm -rf /var/cache/tazpkg/*</action>
pankso@82 465 <action>refresh:CACHE_STATS</action>
pankso@82 466 </button>
pankso@82 467 </hbox>
pankso@82 468 </frame>
pascal@326 469 <frame Filesystem link (to install packages as soft link from another mounted Slitaz)>
pascal@326 470 <hbox>
pascal@326 471 <entry>
pascal@326 472 <input>readlink /var/lib/tazpkg/fslink</input>
pascal@326 473 <variable>FSLINK</variable>
pascal@326 474 </entry>
pascal@326 475 <button>
pascal@326 476 <label>Setup</label>
pascal@326 477 <input file icon="go-next"></input>
pascal@326 478 <action>rm -f /var/lib/tazpkg/fslink ; [ "$FSLINK" != "/" -a -d $FSLINK/var/lib/tazpkg ] && ln -s $FSLINK /var/lib/tazpkg/fslink</action>
pascal@326 479 <action>clear:FSLINK</action>
pascal@326 480 <action>refresh:FSLINK</action>
pascal@326 481 </button>
pascal@326 482 <button>
pascal@326 483 <label>Mountbox</label>
pascal@326 484 <input file icon="media-flash"></input>
pascal@326 485 <action>mountbox</action>
pascal@326 486 </button>
pascal@326 487 </hbox>
pascal@326 488 </frame>
pankso@82 489 <frame Mirror URL>
pankso@82 490 <hbox>
pankso@82 491 <entry>
pankso@82 492 <input>head -n 1 /var/lib/tazpkg/mirror</input>
pankso@82 493 <variable>MIRROR</variable>
pankso@82 494 </entry>
pankso@82 495 <button>
pankso@82 496 <label>Setup</label>
pankso@82 497 <input file icon="go-next"></input>
pankso@82 498 <action>echo "$MIRROR" > /var/lib/tazpkg/mirror</action>
pankso@82 499 <action>clear:MIRROR</action>
pankso@82 500 <action>refresh:MIRROR</action>
pankso@82 501 </button>
pankso@82 502 <button>
pankso@82 503 <label>Add</label>
pankso@82 504 <input file icon="gtk-add"></input>
pankso@82 505 <action>echo "$MIRROR" >> /var/lib/tazpkg/mirror</action>
pankso@82 506 <action>clear:MIRROR</action>
pankso@82 507 <action>refresh:MIRROR</action>
pankso@82 508 </button>
pascal@258 509 <button>
pascal@258 510 <input file icon="media-cdrom"></input>
pascal@258 511 <label>DVD</label>
pascal@258 512 <action type="launch">SETUP_DVD</action>
pascal@258 513 </button>
pankso@82 514 </hbox>
pankso@82 515 </frame>
pascal@142 516 <hbox>
pascal@183 517 <frame Journal>
pascal@183 518 <hbox>
pascal@183 519 <button>
pascal@183 520 <label>Show journal</label>
pascal@183 521 <input file icon="find"></input>
pascal@207 522 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -T "$(ls -l /var/log/tazpkg.log | while read mod links user grep remain ; do echo $remain ; done) (q to quit)" -geometry 80x25+120+120 -e "cat /var/log/tazpkg.log | less"</action>
pascal@183 523 </button>
pascal@183 524 </hbox>
pascal@183 525 </frame>
pascal@142 526 <frame Configuration files>
pascal@142 527 <hbox>
pascal@91 528 <button>
pascal@139 529 <label>Repack config</label>
pascal@139 530 <input file icon="edit-redo"></input>
pascal@142 531 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -T "Repack configs" -geometry 80x25+120+120 -e "tazpkg repack-config ; sleep 5" 2> /dev/null</action>
pascal@139 532 </button>
pascal@139 533 <button>
pascal@326 534 <label>Show Files</label>
pascal@139 535 <input file icon="tazpkg"></input>
pascal@139 536 <action type="launch">LIST_CONFIG_FILES</action>
pascal@139 537 </button>
pascal@142 538 </hbox>
pascal@142 539 </frame>
pascal@142 540 <frame Packages check>
pascal@142 541 <hbox>
pascal@139 542 <button>
pascal@91 543 <label>Quick check</label>
pascal@326 544 <input file icon="system-search"></input>
pascal@130 545 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -T "Check packages (q to quit)" -geometry 80x25+120+120 -e "tazpkg check | less " 2> /dev/null</action>
pascal@91 546 </button>
pascal@91 547 <button>
pascal@91 548 <label>Full check</label>
pascal@326 549 <input file icon="system-search"></input>
pascal@130 550 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -T "Check packages (q to quit)" -geometry 80x25+120+120 -e "tazpkg check --full | less " 2> /dev/null</action>
pascal@91 551 </button>
pascal@142 552 </hbox>
pascal@142 553 </frame>
pascal@142 554 </hbox>
pankso@82 555 </vbox>
pankso@82 556
pankso@82 557 </notebook>
pankso@82 558
pankso@82 559 <hbox>
pankso@242 560 <text wrap="false" width-chars="82">
pascal@313 561 <input>installed=`ls /var/lib/tazpkg/installed | wc -l`; mirrored=`cat /var/lib/tazpkg/packages.list | wc -l`; undigest=`cat /var/lib/tazpkg/undigest/*/packages.list 2> /dev/null | wc -l`; blocked=`cat /var/lib/tazpkg/blocked-packages.list 2> /dev/null | wc -l`; installable=$(($mirrored + $undigest - $installed)); [ $installable -lt 0 ] && installable=0; echo -n "Packages statistics: $installed installed, $blocked blocked, $installable installable, $undigest undigest, $mirrored mirrored, `cat /var/lib/tazpkg/upgradeable-packages.list 2> /dev/null | wc -l` to upgrade "</input>
pankso@82 562 <variable>PKG_STATS</variable>
pankso@82 563 </text>
pankso@82 564 </hbox>
pankso@82 565
pankso@82 566 <hbox>
pascal@118 567 <button>
pankso@227 568 <label>Recharge lists</label>
pankso@227 569 <input file icon="system-software-update"></input>
pascal@319 570 <action>xterm -T "Recharge" -geometry 80x16+120+120 -e "tazpkg recharge ; tazpkg upgradeable" 2>/dev/null</action>
pankso@227 571 <action>refresh:DEV</action>
pankso@238 572 <action>refresh:PKG</action>
pankso@227 573 <action>refresh:PKG_STATS</action>
pankso@238 574 <action>refresh:CACHE_STATS</action>
pankso@227 575 </button>
pankso@227 576 <button>
pankso@227 577 <label>Upgrade all</label>
pankso@227 578 <input file icon="system-software-update"></input>
pankso@227 579 <action>xterm -T "Package upgrade" -geometry 80x16+120+120 -e "tazpkg upgrade; sleep 2" 2>/dev/null</action>
pankso@227 580 <action>refresh:PKG</action>
pankso@227 581 <action>refresh:DEV</action>
pankso@227 582 <action>refresh:PKG_STATS</action>
pankso@227 583 <action>refresh:CACHE_STATS</action>
pankso@227 584 </button>
pankso@227 585 <button>
pascal@118 586 <label>Wok</label>
pascal@118 587 <input file icon="gtk-open"></input>
pascal@118 588 <action>firefox http://hg.slitaz.org/wok/file/</action>
pascal@118 589 </button>
pankso@82 590 <button help>
pankso@82 591 <label>Help</label>
pankso@82 592 <action type="launch">HELP</action>
pankso@82 593 </button>
pankso@82 594 <button>
pankso@82 595 <label>Exit</label>
pankso@82 596 <input file icon="exit"></input>
pankso@82 597 <action type="exit">Exit</action>
pankso@82 598 </button>
pankso@82 599 </hbox>
pankso@82 600
pankso@82 601 </vbox>
pankso@82 602
pankso@82 603 </window>
pankso@82 604 '
pascal@213 605 TAZPKG_DIALOG="$TAZPKG_DIALOG$tmp"
pankso@82 606
pankso@82 607 gtkdialog --center --program=TAZPKG_DIALOG >/dev/null
pankso@82 608
pankso@82 609 exit 0