tazpkg annotate tazpkgbox @ rev 178

tazpkgbox: add blocked tab
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Oct 24 08:27:54 2008 +0000 (2008-10-24)
parents 2bf43ed75a02
children 974fdbd190db
rev   line source
pankso@82 1 #!/bin/sh
pankso@82 2 #
pankso@82 3 # GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Functions
pankso@86 4 # path: /usr/lib/slitaz/tazpkgbox. Notes: Notebook tab are vbox, tab are
pankso@82 5 # used to indent.
pankso@82 6 #
pankso@82 7 # (C) GNU gpl v3 - SliTaz GNU/Linux 2008.
pankso@82 8 #
pankso@126 9 VERSION=2.3
pankso@82 10
pankso@82 11 # Tazpkgbox is only for root.
pankso@82 12 if test $(id -u) != 0 ; then
pankso@82 13 exec subox tazpkgbox
pankso@82 14 exit 0
pankso@82 15 fi
pankso@82 16
pankso@82 17 # We need at least a mirror URL.
pankso@82 18 if [ ! -f /var/lib/tazpkg/mirror ]; then
pankso@82 19 tazpkg >/dev/null
pankso@82 20 fi
pankso@82 21
pankso@82 22 # Tmp dir and files used to get pkgs infos on the fly. Clean also
pankso@82 23 # list and search files to load less data and have a faster start.
pankso@82 24 mkdir -p /tmp/tazpkgbox
pankso@82 25 echo "all" > /tmp/tazpkgbox/installed-category
pascal@130 26 echo "all" > /tmp/tazpkgbox/installable-category
pankso@82 27 echo "all" > /tmp/tazpkgbox/mirrored-category
pankso@82 28 echo "" > /tmp/tazpkgbox/search-installed
pankso@82 29 echo "" > /tmp/tazpkgbox/search-mirrored
pankso@82 30
pankso@82 31 # English/French help dialod.
pankso@82 32 export HELP='
pankso@82 33 <window title="Tazpkgbox Help" icon-name="help">
pankso@82 34 <vbox>
pankso@82 35 <text use-markup="true" width-chars="54">
pankso@82 36 <label>"
pankso@82 37 <b>Tazpkgbox - Packages Manager Help</b>"
pankso@82 38 </label>
pankso@82 39 </text>
pankso@86 40
pankso@82 41 <frame English>
pankso@82 42 <text wrap="false">
pankso@82 43 <label>"
pankso@86 44 Tazpkgbox is a simple and easy to use interface to the SliTaz
pankso@86 45 package manager - aka Tazpkg. You can install, remove, repack or
pankso@86 46 get packages by double-clicking on the package item. A Search engine
pankso@86 47 lets you find and install new applications in a few mouse clicks.
pankso@86 48
pankso@86 49 Downloaded and repacked packages are stored in: /var/cache/tazpkg"
pankso@82 50 </label>
pankso@82 51 </text>
pankso@82 52 </frame>
pankso@86 53
pankso@82 54 <frame Français>
pankso@82 55 <text wrap="false">
pankso@82 56 <label>"
pankso@82 57 Tazpkgbox est une interface graphique au gestionnaire de paquet
pankso@86 58 de Slitaz aka Tazpkg. Simple et facile à utiliser, vous pouvez
pankso@82 59 installer, télécharger ou supprimer des paquet en double-cliquant
pankso@86 60 sur sa ligne. Les paquets téléchargés ou recréés sont stocké
pankso@82 61 dans: /var/cache/tazpkg"
pankso@82 62 </label>
pankso@82 63 </text>
pankso@82 64 </frame>
pankso@86 65
pankso@82 66 <hbox>
pankso@82 67 <button ok>
pankso@82 68 <action type="closewindow">HELP</action>
pankso@82 69 </button>
pankso@82 70 </hbox>
pankso@82 71 </vbox>
pankso@82 72 </window>
pankso@82 73 '
pankso@82 74
pascal@142 75 export LIST_CONFIG_FILES='
pascal@142 76 <window title="configuration files" icon-name="system-file-manager">
pascal@139 77 <vbox>
pascal@143 78 <tree exported_column="5">
pascal@143 79 <width>560</width><height>160</height>
pascal@142 80 <variable>CONF_FILE</variable>
pascal@143 81 <label>Access | User | Group | Size | Update Date | Name</label>
pascal@141 82 <input>tazpkg list-config --box</input>
pascal@142 83 <action>leafpad $CONF_FILE</action>
pascal@139 84 </tree>
pascal@139 85 <hbox>
pascal@142 86 <text wrap="false">
pascal@142 87 <label>
pascal@142 88 "Only files with Update Date have been modified after package installation"
pascal@142 89 </label>
pascal@141 90 </text>
pascal@139 91 <button>
pascal@142 92 <input file icon="gtk-close"></input>
pascal@142 93 <action type="closewindow">INSTALLED_PACKAGE_ACTIONS</action>
pascal@139 94 </button>
pascal@139 95 </hbox>
pascal@139 96 </vbox>
pascal@139 97 </window>
pascal@142 98 '
pascal@139 99
pankso@82 100 # Main dialog
pankso@82 101 export TAZPKG_DIALOG='
pankso@82 102 <window title="SliTaz Packages Manager" icon-name="package-x-generic">
pankso@82 103 <vbox>
pankso@82 104
pankso@82 105 <hbox>
pankso@82 106 <text use-markup="true">
pankso@82 107 <label>"<b>Packages Manager</b>"</label>
pankso@82 108 </text>
pankso@82 109 <pixmap>
pankso@82 110 <input file>/usr/share/pixmaps/tazpkg.png</input>
pankso@82 111 </pixmap>
pankso@82 112 </hbox>
pankso@82 113
pascal@178 114 <notebook labels="Installed|Installable|Mirrored|Blocked|Search|Configuration">
pankso@82 115
pankso@82 116 <vbox>
pankso@82 117 <tree>
pankso@102 118 <width>620</width><height>240</height>
pankso@82 119 <variable>PKG</variable>
pankso@82 120 <label>Package name|Version|Description</label>
pankso@82 121 <input>/usr/lib/slitaz/tazpkgbox/list installed</input>
pankso@82 122 <action>echo "$PKG" > /tmp/tazpkgbox/pkg</action>
pankso@82 123 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 124 <action>refresh:PKG</action>
pankso@82 125 <action>refresh:PKG_STATS</action>
pankso@82 126 <action>refresh:CACHE_STATS</action>
pankso@82 127 </tree>
pankso@82 128 <hbox>
pankso@82 129 <text>
pankso@82 130 <label>"Category:"</label>
pankso@82 131 </text>
pankso@82 132 <combobox>
pankso@82 133 <variable>INSTALLED_CAT</variable>
pankso@82 134 <item>all</item>
pankso@82 135 <item>base-system</item>
pascal@160 136 <item>x-window</item>
pankso@82 137 <item>utilities</item>
pankso@82 138 <item>network</item>
pankso@82 139 <item>graphics</item>
pankso@82 140 <item>multimedia</item>
pankso@82 141 <item>office</item>
pankso@82 142 <item>development</item>
pankso@82 143 <item>system-tools</item>
pankso@82 144 <item>security</item>
pankso@82 145 <item>games</item>
pankso@82 146 <item>misc</item>
pankso@82 147 <item>meta</item>
pankso@82 148 <item>non-free</item>
pankso@82 149 </combobox>
pankso@82 150 <button>
pankso@82 151 <label>List</label>
pankso@82 152 <input file icon="reload"></input>
pankso@82 153 <action>echo "$INSTALLED_CAT" > /tmp/tazpkgbox/installed-category</action>
pankso@82 154 <action>refresh:PKG</action>
pankso@82 155 </button>
pankso@82 156 <button>
pankso@82 157 <label>Upgrade all</label>
pankso@82 158 <input file icon="system-software-update"></input>
pascal@130 159 <action>xterm -T "Package upgrade" -geometry 80x16+120+120 -e "tazpkg upgrade; sleep 2" 2>/dev/null</action>
pankso@82 160 <action>refresh:PKG</action>
pankso@82 161 <action>refresh:PKG_STATS</action>
pankso@82 162 <action>refresh:CACHE_STATS</action>
pankso@82 163 </button>
pankso@82 164 </hbox>
pankso@82 165 </vbox>
pankso@82 166
pankso@82 167 <vbox>
pankso@82 168 <tree>
pankso@102 169 <width>620</width><height>240</height>
pascal@130 170 <variable>GETIT</variable>
pascal@130 171 <label>Package name|Version|Description</label>
pascal@130 172 <input>/usr/lib/slitaz/tazpkgbox/list installable</input>
pascal@130 173 <action>echo "$GETIT" > /tmp/tazpkgbox/pkg</action>
pascal@130 174 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pascal@130 175 <action>refresh:PKG</action>
pascal@130 176 <action>refresh:GETIT</action>
pascal@130 177 <action>refresh:PKG_STATS</action>
pascal@130 178 <action>refresh:CACHE_STATS</action>
pascal@130 179 </tree>
pascal@130 180 <hbox>
pascal@130 181 <text>
pascal@130 182 <label>"Category:"</label>
pascal@130 183 </text>
pascal@130 184 <combobox>
pascal@130 185 <variable>INSTALLABLE_CAT</variable>
pascal@130 186 <item>all</item>
pascal@130 187 <item>base-system</item>
pascal@160 188 <item>x-window</item>
pascal@130 189 <item>utilities</item>
pascal@130 190 <item>network</item>
pascal@130 191 <item>graphics</item>
pascal@130 192 <item>multimedia</item>
pascal@130 193 <item>office</item>
pascal@130 194 <item>development</item>
pascal@130 195 <item>system-tools</item>
pascal@130 196 <item>security</item>
pascal@130 197 <item>games</item>
pascal@130 198 <item>misc</item>
pascal@130 199 <item>meta</item>
pascal@130 200 <item>non-free</item>
pascal@130 201 </combobox>
pascal@130 202 <button>
pascal@130 203 <label>List</label>
pascal@130 204 <input file icon="reload"></input>
pascal@130 205 <action>echo "$INSTALLABLE_CAT" > /tmp/tazpkgbox/installable-category</action>
pascal@130 206 <action>refresh:GETIT</action>
pascal@130 207 </button>
pascal@130 208 <button>
pascal@130 209 <label>Recharge list</label>
pascal@130 210 <input file icon="system-software-update"></input>
pascal@130 211 <action>xterm -T "Recharge" -geometry 80x16+120+120 -e "tazpkg recharge; sleep 2" 2>/dev/null</action>
pascal@130 212 <action>refresh:GETIT</action>
pascal@130 213 <action>refresh:PKG_STATS</action>
pascal@130 214 </button>
pascal@130 215 </hbox>
pascal@130 216 </vbox>
pascal@130 217
pascal@130 218 <vbox>
pascal@130 219 <tree>
pascal@130 220 <width>620</width><height>240</height>
pankso@82 221 <variable>GET</variable>
pankso@82 222 <label>Package name|Version|Description</label>
pankso@82 223 <input>/usr/lib/slitaz/tazpkgbox/list mirrored</input>
pankso@82 224 <action>echo "$GET" > /tmp/tazpkgbox/pkg</action>
pankso@82 225 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 226 <action>refresh:PKG</action>
pankso@82 227 <action>refresh:PKG_STATS</action>
pankso@82 228 <action>refresh:CACHE_STATS</action>
pankso@82 229 </tree>
pankso@82 230 <hbox>
pascal@178 231 <text>
pascal@178 232 <label>"Category:"</label>
pascal@178 233 </text>
pankso@82 234 <combobox>
pankso@82 235 <variable>MIRRORED_CAT</variable>
pankso@82 236 <item>all</item>
pankso@82 237 <item>base-system</item>
pascal@160 238 <item>x-window</item>
pankso@82 239 <item>utilities</item>
pankso@82 240 <item>network</item>
pankso@82 241 <item>graphics</item>
pankso@82 242 <item>multimedia</item>
pankso@82 243 <item>office</item>
pankso@82 244 <item>development</item>
pankso@82 245 <item>system-tools</item>
pankso@82 246 <item>security</item>
pankso@82 247 <item>games</item>
pankso@82 248 <item>misc</item>
pankso@82 249 <item>meta</item>
pankso@82 250 <item>non-free</item>
pankso@82 251 </combobox>
pankso@82 252 <button>
pankso@82 253 <label>List</label>
pankso@82 254 <input file icon="reload"></input>
pankso@82 255 <action>echo "$MIRRORED_CAT" > /tmp/tazpkgbox/mirrored-category</action>
pankso@82 256 <action>refresh:GET</action>
pankso@82 257 </button>
pankso@82 258 <button>
pankso@82 259 <label>Recharge list</label>
pankso@86 260 <input file icon="system-software-update"></input>
pascal@130 261 <action>xterm -T "Recharge" -geometry 80x16+120+120 -e "tazpkg recharge; sleep 2" 2>/dev/null</action>
pankso@82 262 <action>refresh:GET</action>
pankso@82 263 <action>refresh:PKG_STATS</action>
pankso@82 264 </button>
pankso@82 265 </hbox>
pankso@82 266 </vbox>
pankso@82 267
pankso@82 268 <vbox>
pascal@178 269 <tree>
pascal@178 270 <width>620</width><height>240</height>
pascal@178 271 <variable>BLOCKED</variable>
pascal@178 272 <label>Package name|Version|Available|Description</label>
pascal@178 273 <input>/usr/lib/slitaz/tazpkgbox/list blocked</input>
pascal@178 274 <action>echo "$BLOCKED" > /tmp/tazpkgbox/pkg</action>
pascal@178 275 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pascal@178 276 </tree>
pascal@178 277 </vbox>
pascal@178 278
pascal@178 279 <vbox>
pankso@82 280 <tree icon="tazpkg">
pankso@102 281 <width>620</width><height>120</height>
pankso@82 282 <variable>RESULT_INSTALLED</variable>
pascal@100 283 <label>Installed packages|Version|Description / File</label>
pankso@82 284 <input>cat /tmp/tazpkgbox/search-installed</input>
pankso@82 285 <action>echo "$RESULT_INSTALLED" > /tmp/tazpkgbox/pkg</action>
pankso@82 286 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 287 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 288 <action>refresh:RESULT_INSTALLED</action>
pankso@82 289 <action>refresh:PKG</action>
pankso@82 290 <action>refresh:PKG_STATS</action>
pankso@82 291 <action>refresh:CACHE_STATS</action>
pankso@82 292 </tree>
pankso@82 293 <tree icon="tazpkg">
pankso@102 294 <width>620</width><height>120</height>
pankso@82 295 <variable>RESULT_MIRROR</variable>
pascal@100 296 <label>Mirrored packages|Version|Description / File</label>
pankso@82 297 <input>cat /tmp/tazpkgbox/search-mirrored</input>
pankso@82 298 <action>echo "$RESULT_MIRROR" > /tmp/tazpkgbox/pkg</action>
pankso@82 299 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 300 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 301 <action>refresh:RESULT_INSTALLED</action>
pankso@82 302 <action>refresh:PKG</action>
pankso@82 303 <action>refresh:PKG_STATS</action>
pankso@82 304 <action>refresh:CACHE_STATS</action>
pankso@82 305 </tree>
pankso@82 306 <hbox>
pankso@82 307 <entry>
pankso@82 308 <variable>SEARCH</variable>
pankso@82 309 </entry>
pankso@82 310 <button>
pascal@100 311 <label>Search Packages</label>
pankso@82 312 <input file icon="system-search"></input>
pankso@82 313 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 314 <action>refresh:RESULT_INSTALLED</action>
pankso@82 315 <action>refresh:RESULT_MIRROR</action>
pankso@82 316 </button>
pascal@100 317 <button>
pascal@100 318 <label>Search Files</label>
pascal@100 319 <input file icon="system-search"></input>
pascal@100 320 <action>/usr/lib/slitaz/tazpkgbox/search --files</action>
pascal@100 321 <action>refresh:RESULT_INSTALLED</action>
pascal@100 322 <action>refresh:RESULT_MIRROR</action>
pascal@100 323 </button>
pankso@82 324 </hbox>
pankso@82 325 </vbox>
pankso@82 326
pankso@82 327 <vbox>
pankso@82 328 <frame Cache directory>
pascal@143 329 <text use-markup="true" width-chars="60" wrap="false">
pankso@82 330 <label>
pankso@82 331 "The cache directory is used to store downloaded or repacked packages."
pankso@82 332 </label>
pankso@86 333 </text>
pankso@82 334 <hbox>
pankso@82 335 <entry editable="false">
pankso@82 336 <input>cd /var/cache/tazpkg; echo "Packages: `ls | wc -l`, size: `du -sh $PWD`"</input>
pankso@82 337 <variable>CACHE_STATS</variable>
pankso@82 338 </entry>
pankso@82 339 <button>
pankso@82 340 <label>Clean cache</label>
pankso@86 341 <input file icon="go-next"></input>
pankso@82 342 <action>rm -rf /var/cache/tazpkg/*</action>
pankso@82 343 <action>refresh:CACHE_STATS</action>
pankso@82 344 </button>
pankso@82 345 </hbox>
pankso@82 346 </frame>
pankso@82 347 <frame Mirror URL>
pankso@82 348 <hbox>
pankso@82 349 <entry>
pankso@82 350 <input>head -n 1 /var/lib/tazpkg/mirror</input>
pankso@82 351 <variable>MIRROR</variable>
pankso@82 352 </entry>
pankso@82 353 <button>
pankso@82 354 <label>Setup</label>
pankso@82 355 <input file icon="go-next"></input>
pankso@82 356 <action>echo "$MIRROR" > /var/lib/tazpkg/mirror</action>
pankso@82 357 <action>clear:MIRROR</action>
pankso@82 358 <action>refresh:MIRROR</action>
pankso@82 359 </button>
pankso@82 360 <button>
pankso@82 361 <label>Add</label>
pankso@82 362 <input file icon="gtk-add"></input>
pankso@82 363 <action>echo "$MIRROR" >> /var/lib/tazpkg/mirror</action>
pankso@82 364 <action>clear:MIRROR</action>
pankso@82 365 <action>refresh:MIRROR</action>
pankso@82 366 </button>
pankso@82 367 </hbox>
pankso@82 368 </frame>
pascal@142 369 <frame Files path>
pascal@91 370 <hbox>
pascal@91 371 <text use-markup="true" width-chars="60">
pascal@91 372 <label>
pankso@82 373 "Lists, mirror URL and installed packages: <b>/var/lib/tazpkg</b>"
pascal@91 374 </label>
pascal@91 375 </text>
pankso@102 376 </hbox>
pascal@142 377 </frame>
pascal@142 378 <hbox>
pascal@142 379 <frame Configuration files>
pascal@142 380 <hbox>
pascal@91 381 <button>
pascal@139 382 <label>Repack config</label>
pascal@139 383 <input file icon="edit-redo"></input>
pascal@142 384 <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 385 </button>
pascal@139 386 <button>
pascal@139 387 <label>Config Files</label>
pascal@139 388 <input file icon="tazpkg"></input>
pascal@139 389 <action type="launch">LIST_CONFIG_FILES</action>
pascal@139 390 </button>
pascal@142 391 </hbox>
pascal@142 392 </frame>
pascal@142 393 <frame Packages check>
pascal@142 394 <hbox>
pascal@139 395 <button>
pascal@91 396 <label>Quick check</label>
pascal@91 397 <input file icon="go-next"></input>
pascal@130 398 <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 399 </button>
pascal@91 400 <button>
pascal@91 401 <label>Full check</label>
pascal@91 402 <input file icon="go-next"></input>
pascal@130 403 <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 404 </button>
pascal@142 405 </hbox>
pascal@142 406 </frame>
pascal@142 407 </hbox>
pankso@82 408 </vbox>
pankso@82 409
pankso@82 410 </notebook>
pankso@82 411
pankso@82 412 <hbox>
pascal@143 413 <text wrap="false">
pascal@178 414 <input>installed=`ls /var/lib/tazpkg/installed | wc -l`; mirrored=`cat /var/lib/tazpkg/packages.list | wc -l`; blocked=`cat /var/lib/tazpkg/blocked-packages.list | wc -l`; echo "Packages: $installed installed, $blocked blocked, $(($mirrored - $installed)) installable, $mirrored mirrored, `cat /var/lib/tazpkg/upgradable-packages.list 2> /dev/null | wc -l` to upgrade "</input>
pankso@82 415 <variable>PKG_STATS</variable>
pankso@82 416 </text>
pankso@82 417 </hbox>
pankso@82 418
pankso@82 419 <hbox>
pascal@118 420 <button>
pascal@118 421 <label>Wok</label>
pascal@118 422 <input file icon="gtk-open"></input>
pascal@118 423 <action>firefox http://hg.slitaz.org/wok/file/</action>
pascal@118 424 </button>
pankso@82 425 <button help>
pankso@82 426 <label>Help</label>
pankso@82 427 <action type="launch">HELP</action>
pankso@82 428 </button>
pankso@82 429 <button>
pankso@82 430 <label>Exit</label>
pankso@82 431 <input file icon="exit"></input>
pankso@82 432 <action type="exit">Exit</action>
pankso@82 433 </button>
pankso@82 434 </hbox>
pankso@82 435
pankso@82 436 </vbox>
pankso@82 437
pankso@82 438 </window>
pankso@82 439 '
pankso@82 440
pankso@82 441 gtkdialog --center --program=TAZPKG_DIALOG >/dev/null
pankso@82 442
pankso@82 443 exit 0