tazpkg annotate tazpkgbox @ rev 130

tazpkgbox: add installable tab, auto install depends checkbox and improve non-free support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Jul 18 14:14:13 2008 +0000 (2008-07-18)
parents 0217427a955e
children be0dfeb8dc88
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
pankso@82 75 # Main dialog
pankso@82 76 export TAZPKG_DIALOG='
pankso@82 77 <window title="SliTaz Packages Manager" icon-name="package-x-generic">
pankso@82 78 <vbox>
pankso@82 79
pankso@82 80 <hbox>
pankso@82 81 <text use-markup="true">
pankso@82 82 <label>"<b>Packages Manager</b>"</label>
pankso@82 83 </text>
pankso@82 84 <pixmap>
pankso@82 85 <input file>/usr/share/pixmaps/tazpkg.png</input>
pankso@82 86 </pixmap>
pankso@82 87 </hbox>
pankso@82 88
pascal@130 89 <notebook labels="Installed|Installable|Mirrored|Search|Configuration">
pankso@82 90
pankso@82 91 <vbox>
pankso@82 92 <tree>
pankso@102 93 <width>620</width><height>240</height>
pankso@82 94 <variable>PKG</variable>
pankso@82 95 <label>Package name|Version|Description</label>
pankso@82 96 <input>/usr/lib/slitaz/tazpkgbox/list installed</input>
pankso@82 97 <action>echo "$PKG" > /tmp/tazpkgbox/pkg</action>
pankso@82 98 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 99 <action>refresh:PKG</action>
pankso@82 100 <action>refresh:PKG_STATS</action>
pankso@82 101 <action>refresh:CACHE_STATS</action>
pankso@82 102 </tree>
pankso@82 103 <hbox>
pankso@82 104 <text>
pankso@82 105 <label>"Category:"</label>
pankso@82 106 </text>
pankso@82 107 <combobox>
pankso@82 108 <variable>INSTALLED_CAT</variable>
pankso@82 109 <item>all</item>
pankso@82 110 <item>base-system</item>
pankso@82 111 <item>utilities</item>
pankso@82 112 <item>network</item>
pankso@82 113 <item>graphics</item>
pankso@82 114 <item>multimedia</item>
pankso@82 115 <item>office</item>
pankso@82 116 <item>development</item>
pankso@82 117 <item>system-tools</item>
pankso@82 118 <item>security</item>
pankso@82 119 <item>games</item>
pankso@82 120 <item>misc</item>
pankso@82 121 <item>meta</item>
pankso@82 122 <item>non-free</item>
pankso@82 123 </combobox>
pankso@82 124 <button>
pankso@82 125 <label>List</label>
pankso@82 126 <input file icon="reload"></input>
pankso@82 127 <action>echo "$INSTALLED_CAT" > /tmp/tazpkgbox/installed-category</action>
pankso@82 128 <action>refresh:PKG</action>
pankso@82 129 </button>
pankso@82 130 <button>
pankso@82 131 <label>Upgrade all</label>
pankso@82 132 <input file icon="system-software-update"></input>
pascal@130 133 <action>xterm -T "Package upgrade" -geometry 80x16+120+120 -e "tazpkg upgrade; sleep 2" 2>/dev/null</action>
pankso@82 134 <action>refresh:PKG</action>
pankso@82 135 <action>refresh:PKG_STATS</action>
pankso@82 136 <action>refresh:CACHE_STATS</action>
pankso@82 137 </button>
pankso@82 138 </hbox>
pankso@82 139 </vbox>
pankso@82 140
pankso@82 141 <vbox>
pankso@82 142 <tree>
pankso@102 143 <width>620</width><height>240</height>
pascal@130 144 <variable>GETIT</variable>
pascal@130 145 <label>Package name|Version|Description</label>
pascal@130 146 <input>/usr/lib/slitaz/tazpkgbox/list installable</input>
pascal@130 147 <action>echo "$GETIT" > /tmp/tazpkgbox/pkg</action>
pascal@130 148 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pascal@130 149 <action>refresh:PKG</action>
pascal@130 150 <action>refresh:GETIT</action>
pascal@130 151 <action>refresh:PKG_STATS</action>
pascal@130 152 <action>refresh:CACHE_STATS</action>
pascal@130 153 </tree>
pascal@130 154 <hbox>
pascal@130 155 <text>
pascal@130 156 <label>"Category:"</label>
pascal@130 157 </text>
pascal@130 158 <combobox>
pascal@130 159 <variable>INSTALLABLE_CAT</variable>
pascal@130 160 <item>all</item>
pascal@130 161 <item>base-system</item>
pascal@130 162 <item>utilities</item>
pascal@130 163 <item>network</item>
pascal@130 164 <item>graphics</item>
pascal@130 165 <item>multimedia</item>
pascal@130 166 <item>office</item>
pascal@130 167 <item>development</item>
pascal@130 168 <item>system-tools</item>
pascal@130 169 <item>security</item>
pascal@130 170 <item>games</item>
pascal@130 171 <item>misc</item>
pascal@130 172 <item>meta</item>
pascal@130 173 <item>non-free</item>
pascal@130 174 </combobox>
pascal@130 175 <button>
pascal@130 176 <label>List</label>
pascal@130 177 <input file icon="reload"></input>
pascal@130 178 <action>echo "$INSTALLABLE_CAT" > /tmp/tazpkgbox/installable-category</action>
pascal@130 179 <action>refresh:GETIT</action>
pascal@130 180 </button>
pascal@130 181 <button>
pascal@130 182 <label>Recharge list</label>
pascal@130 183 <input file icon="system-software-update"></input>
pascal@130 184 <action>xterm -T "Recharge" -geometry 80x16+120+120 -e "tazpkg recharge; sleep 2" 2>/dev/null</action>
pascal@130 185 <action>refresh:GETIT</action>
pascal@130 186 <action>refresh:PKG_STATS</action>
pascal@130 187 </button>
pascal@130 188 </hbox>
pascal@130 189 </vbox>
pascal@130 190
pascal@130 191 <vbox>
pascal@130 192 <tree>
pascal@130 193 <width>620</width><height>240</height>
pankso@82 194 <variable>GET</variable>
pankso@82 195 <label>Package name|Version|Description</label>
pankso@82 196 <input>/usr/lib/slitaz/tazpkgbox/list mirrored</input>
pankso@82 197 <action>echo "$GET" > /tmp/tazpkgbox/pkg</action>
pankso@82 198 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 199 <action>refresh:PKG</action>
pankso@82 200 <action>refresh:PKG_STATS</action>
pankso@82 201 <action>refresh:CACHE_STATS</action>
pankso@82 202 </tree>
pankso@82 203 <hbox>
pankso@82 204 <combobox>
pankso@82 205 <variable>MIRRORED_CAT</variable>
pankso@82 206 <item>all</item>
pankso@82 207 <item>base-system</item>
pankso@82 208 <item>utilities</item>
pankso@82 209 <item>network</item>
pankso@82 210 <item>graphics</item>
pankso@82 211 <item>multimedia</item>
pankso@82 212 <item>office</item>
pankso@82 213 <item>development</item>
pankso@82 214 <item>system-tools</item>
pankso@82 215 <item>security</item>
pankso@82 216 <item>games</item>
pankso@82 217 <item>misc</item>
pankso@82 218 <item>meta</item>
pankso@82 219 <item>non-free</item>
pankso@82 220 </combobox>
pankso@82 221 <button>
pankso@82 222 <label>List</label>
pankso@82 223 <input file icon="reload"></input>
pankso@82 224 <action>echo "$MIRRORED_CAT" > /tmp/tazpkgbox/mirrored-category</action>
pankso@82 225 <action>refresh:GET</action>
pankso@82 226 </button>
pankso@82 227 <button>
pankso@82 228 <label>Recharge list</label>
pankso@86 229 <input file icon="system-software-update"></input>
pascal@130 230 <action>xterm -T "Recharge" -geometry 80x16+120+120 -e "tazpkg recharge; sleep 2" 2>/dev/null</action>
pankso@82 231 <action>refresh:GET</action>
pankso@82 232 <action>refresh:PKG_STATS</action>
pankso@82 233 </button>
pankso@82 234 </hbox>
pankso@82 235 </vbox>
pankso@82 236
pankso@82 237 <vbox>
pankso@82 238 <tree icon="tazpkg">
pankso@102 239 <width>620</width><height>120</height>
pankso@82 240 <variable>RESULT_INSTALLED</variable>
pascal@100 241 <label>Installed packages|Version|Description / File</label>
pankso@82 242 <input>cat /tmp/tazpkgbox/search-installed</input>
pankso@82 243 <action>echo "$RESULT_INSTALLED" > /tmp/tazpkgbox/pkg</action>
pankso@82 244 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 245 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 246 <action>refresh:RESULT_INSTALLED</action>
pankso@82 247 <action>refresh:PKG</action>
pankso@82 248 <action>refresh:PKG_STATS</action>
pankso@82 249 <action>refresh:CACHE_STATS</action>
pankso@82 250 </tree>
pankso@82 251 <tree icon="tazpkg">
pankso@102 252 <width>620</width><height>120</height>
pankso@82 253 <variable>RESULT_MIRROR</variable>
pascal@100 254 <label>Mirrored packages|Version|Description / File</label>
pankso@82 255 <input>cat /tmp/tazpkgbox/search-mirrored</input>
pankso@82 256 <action>echo "$RESULT_MIRROR" > /tmp/tazpkgbox/pkg</action>
pankso@82 257 <action>/usr/lib/slitaz/tazpkgbox/package_infos</action>
pankso@82 258 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 259 <action>refresh:RESULT_INSTALLED</action>
pankso@82 260 <action>refresh:PKG</action>
pankso@82 261 <action>refresh:PKG_STATS</action>
pankso@82 262 <action>refresh:CACHE_STATS</action>
pankso@82 263 </tree>
pankso@82 264 <hbox>
pankso@82 265 <entry>
pankso@82 266 <variable>SEARCH</variable>
pankso@82 267 </entry>
pankso@82 268 <button>
pascal@100 269 <label>Search Packages</label>
pankso@82 270 <input file icon="system-search"></input>
pankso@82 271 <action>/usr/lib/slitaz/tazpkgbox/search</action>
pankso@82 272 <action>refresh:RESULT_INSTALLED</action>
pankso@82 273 <action>refresh:RESULT_MIRROR</action>
pankso@82 274 </button>
pascal@100 275 <button>
pascal@100 276 <label>Search Files</label>
pascal@100 277 <input file icon="system-search"></input>
pascal@100 278 <action>/usr/lib/slitaz/tazpkgbox/search --files</action>
pascal@100 279 <action>refresh:RESULT_INSTALLED</action>
pascal@100 280 <action>refresh:RESULT_MIRROR</action>
pascal@100 281 </button>
pankso@82 282 </hbox>
pankso@82 283 </vbox>
pankso@82 284
pankso@82 285 <vbox>
pankso@82 286 <frame Cache directory>
pankso@82 287 <text use-markup="true" width-chars="60">
pankso@82 288 <label>
pankso@82 289 "The cache directory is used to store downloaded or repacked packages."
pankso@82 290 </label>
pankso@86 291 </text>
pankso@82 292 <hbox>
pankso@82 293 <entry editable="false">
pankso@82 294 <input>cd /var/cache/tazpkg; echo "Packages: `ls | wc -l`, size: `du -sh $PWD`"</input>
pankso@82 295 <variable>CACHE_STATS</variable>
pankso@82 296 </entry>
pankso@82 297 <button>
pankso@82 298 <label>Clean cache</label>
pankso@86 299 <input file icon="go-next"></input>
pankso@82 300 <action>rm -rf /var/cache/tazpkg/*</action>
pankso@82 301 <action>refresh:CACHE_STATS</action>
pankso@82 302 </button>
pankso@82 303 </hbox>
pankso@82 304 </frame>
pankso@82 305 <frame Mirror URL>
pankso@82 306 <hbox>
pankso@82 307 <entry>
pankso@82 308 <input>head -n 1 /var/lib/tazpkg/mirror</input>
pankso@82 309 <variable>MIRROR</variable>
pankso@82 310 </entry>
pankso@82 311 <button>
pankso@82 312 <label>Setup</label>
pankso@82 313 <input file icon="go-next"></input>
pankso@82 314 <action>echo "$MIRROR" > /var/lib/tazpkg/mirror</action>
pankso@82 315 <action>clear:MIRROR</action>
pankso@82 316 <action>refresh:MIRROR</action>
pankso@82 317 </button>
pankso@82 318 <button>
pankso@82 319 <label>Add</label>
pankso@82 320 <input file icon="gtk-add"></input>
pankso@82 321 <action>echo "$MIRROR" >> /var/lib/tazpkg/mirror</action>
pankso@82 322 <action>clear:MIRROR</action>
pankso@82 323 <action>refresh:MIRROR</action>
pankso@82 324 </button>
pankso@82 325 </hbox>
pankso@82 326 </frame>
pankso@102 327 <frame Files path and packages check>
pascal@91 328 <hbox>
pascal@91 329 <text use-markup="true" width-chars="60">
pascal@91 330 <label>
pankso@82 331 "Lists, mirror URL and installed packages: <b>/var/lib/tazpkg</b>"
pascal@91 332 </label>
pascal@91 333 </text>
pankso@102 334 </hbox>
pankso@102 335 <hbox>
pascal@91 336 <button>
pascal@91 337 <label>Quick check</label>
pascal@91 338 <input file icon="go-next"></input>
pascal@130 339 <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 340 </button>
pascal@91 341 <button>
pascal@91 342 <label>Full check</label>
pascal@91 343 <input file icon="go-next"></input>
pascal@130 344 <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 345 </button>
pascal@91 346 </hbox>
pankso@82 347 </frame>
pankso@82 348 </vbox>
pankso@82 349
pankso@82 350 </notebook>
pankso@82 351
pankso@82 352 <hbox>
pankso@82 353 <text>
pascal@130 354 <input>echo "Packages: `ls /var/lib/tazpkg/installed | wc -l` installed, `cat /var/lib/tazpkg/packages.list | wc -l` mirrored, `cat /var/lib/tazpkg/upradable-packages.list 2> /dev/null | wc -l` to upgrade "</input>
pankso@82 355 <variable>PKG_STATS</variable>
pankso@82 356 </text>
pankso@82 357 </hbox>
pankso@82 358
pankso@82 359 <hbox>
pascal@118 360 <button>
pascal@118 361 <label>Wok</label>
pascal@118 362 <input file icon="gtk-open"></input>
pascal@118 363 <action>firefox http://hg.slitaz.org/wok/file/</action>
pascal@118 364 </button>
pankso@82 365 <button help>
pankso@82 366 <label>Help</label>
pankso@82 367 <action type="launch">HELP</action>
pankso@82 368 </button>
pankso@82 369 <button>
pankso@82 370 <label>Exit</label>
pankso@82 371 <input file icon="exit"></input>
pankso@82 372 <action type="exit">Exit</action>
pankso@82 373 </button>
pankso@82 374 </hbox>
pankso@82 375
pankso@82 376 </vbox>
pankso@82 377
pankso@82 378 </window>
pankso@82 379 '
pankso@82 380
pankso@82 381 gtkdialog --center --program=TAZPKG_DIALOG >/dev/null
pankso@82 382
pankso@82 383 exit 0