tazpkg annotate tazpkg-box @ rev 589
tazpkg-box: add support for tazpkg-url: tazpkg://url.to.repo/version/pkg.tazpkg
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Apr 13 02:10:29 2012 +0200 (2012-04-13) |
parents | 7d8d81c885c3 |
children | 90038f19958b |
rev | line source |
---|---|
pankso@541 | 1 #!/bin/sh |
pankso@541 | 2 # |
paul@579 | 3 # Small GTK boxes to TazPKG for deep desktop integration. PcmanFM 0.5.x has a |
paul@579 | 4 # patch to extract a TazPKG file but not Thunar and other FM. TazPKGbox tries |
paul@579 | 5 # to follow freedesktop standards. |
pankso@541 | 6 # |
pankso@541 | 7 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2 |
pankso@541 | 8 # |
pankso@541 | 9 # Authors : Christophe Lincoln <pankso@slitaz.org> |
pankso@541 | 10 # |
pankso@541 | 11 |
pankso@589 | 12 title=$(gettext "TazPKG Action") |
pankso@555 | 13 icon="/usr/share/pixmaps/tazpkg.png" |
pankso@589 | 14 opts="--image=tazpkg --image-on-top --width=520 --center --on-top" |
pankso@589 | 15 |
pankso@589 | 16 # Nice GTK output for install and extract. |
pankso@589 | 17 output() { |
pankso@589 | 18 yad --text-info $opts --text="<b>$title</b>" \ |
pankso@589 | 19 --height=260 --title="$title" --window-icon=$icon \ |
pankso@589 | 20 --tail --margins=4 --button="gtk-close:0" |
pankso@589 | 21 } |
pankso@555 | 22 |
pankso@541 | 23 # Main GUI box function with pure Yad spec |
pankso@541 | 24 actions_main() { |
pankso@555 | 25 text=$(gettext "Package name:") |
pankso@589 | 26 yad --text="$text <b>${pkg%.tazpkg}</b>" $opts \ |
pankso@589 | 27 --title="$title" --height=100 \ |
pankso@589 | 28 --window-icon=$icon --image-on-top \ |
pankso@541 | 29 --button="Install:3" --button="Extract:2" \ |
pankso@541 | 30 --button="gtk-close:1" |
pankso@541 | 31 } |
pankso@541 | 32 |
pankso@541 | 33 # Actions user can do when clicking on a package. |
pankso@541 | 34 actions() { |
pankso@541 | 35 # Store box results |
pankso@541 | 36 main=$(actions_main) |
pankso@541 | 37 ret=$? |
pankso@541 | 38 # Deal with --button values |
pankso@541 | 39 case $ret in |
pankso@541 | 40 1) exit 0 ;; |
pankso@589 | 41 2) tazpkg extract $pkg | output ;; |
pankso@589 | 42 3) tazpkg -i $pkg --forced | output ;; |
pankso@541 | 43 esac |
pankso@541 | 44 } |
pankso@541 | 45 |
pankso@589 | 46 # TazPKG URL Handler. |
pankso@589 | 47 dl_inst() { |
pankso@589 | 48 pkg=$(basename $url) |
pankso@589 | 49 gettext "Downloading: $pkg"; echo -e "\n" |
pankso@589 | 50 cd /tmp && wget $url 2>&1 |
pankso@589 | 51 tazpkg -i $pkg --forced 2>&1 |
pankso@589 | 52 rm -f $pkg |
pankso@589 | 53 } |
pankso@589 | 54 |
pankso@541 | 55 # |
pankso@541 | 56 # Script commands |
pankso@541 | 57 # |
pankso@541 | 58 |
pankso@541 | 59 case "$1" in |
pankso@555 | 60 usage|help|-u|-h) |
pankso@589 | 61 echo "Usage: $(basename $0) [actions|url] [pkg]" ;; |
pankso@589 | 62 tazpkg://*) |
pankso@589 | 63 # TazPKG URL's handler. |
pankso@589 | 64 url="http://${1#tazpkg://}" |
pankso@589 | 65 dl_inst | output ;; |
pankso@541 | 66 actions) |
pankso@555 | 67 pkg=$(basename $2) |
pankso@555 | 68 cd $(dirname $2) |
pankso@541 | 69 actions ;; |
pankso@541 | 70 esac |
pankso@541 | 71 |
pankso@541 | 72 exit 0 |
pankso@541 | 73 |