tazpkg annotate tazpkgbox @ rev 139

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