tazpkg annotate lib/tazpkgbox/list @ 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 | 3ad89c4852fb |
children | 64e13d7d11db |
rev | line source |
---|---|
pankso@81 | 1 #!/bin/sh |
pankso@81 | 2 # |
pankso@81 | 3 # List installed packages in a suitable format for GTK tree. |
pankso@81 | 4 # List mirrored packages using the packages.desc file. |
pankso@81 | 5 # |
pankso@81 | 6 |
pascal@130 | 7 installable_list() |
pascal@130 | 8 { |
pascal@130 | 9 IFS="|" |
pascal@130 | 10 while read PACKAGE VERSION SHORT_DESC; do |
pascal@130 | 11 [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue |
pascal@130 | 12 echo "$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@130 | 13 done < /var/lib/tazpkg/packages.desc 2> /dev/null |
pascal@130 | 14 unset IFS |
pascal@130 | 15 } |
pascal@130 | 16 |
pascal@130 | 17 installed_list() |
pascal@130 | 18 { |
pascal@130 | 19 for pkg in /var/lib/tazpkg/installed/* |
pascal@130 | 20 do |
pascal@130 | 21 . $pkg/receipt |
pascal@130 | 22 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then |
pascal@130 | 23 echo "$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@130 | 24 fi |
pascal@130 | 25 done |
pascal@130 | 26 } |
pascal@130 | 27 |
pascal@178 | 28 blocked_list() |
pascal@178 | 29 { |
pascal@178 | 30 for pkg in /var/lib/tazpkg/installed/* |
pascal@178 | 31 do |
pascal@178 | 32 . $pkg/receipt |
pascal@178 | 33 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then |
pascal@178 | 34 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }') |
pascal@178 | 35 |
pascal@178 | 36 echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC" |
pascal@178 | 37 fi |
pascal@178 | 38 done |
pascal@178 | 39 } |
pascal@178 | 40 |
pankso@81 | 41 case $1 in |
pankso@81 | 42 installed) |
pankso@81 | 43 CAT=`cat /tmp/tazpkgbox/installed-category` |
pascal@130 | 44 installed_list $CAT;; |
pascal@130 | 45 installable) |
pascal@130 | 46 CAT=`cat /tmp/tazpkgbox/installable-category` |
pankso@81 | 47 if [ "$CAT" == "all" ]; then |
pascal@130 | 48 installable_list |
pankso@81 | 49 else |
pascal@130 | 50 installable_list | grep "$CAT" |
pankso@81 | 51 fi ;; |
pankso@81 | 52 mirrored) |
pankso@81 | 53 CAT=`cat /tmp/tazpkgbox/mirrored-category` |
pankso@81 | 54 if [ "$CAT" == "all" ]; then |
pankso@81 | 55 cat /var/lib/tazpkg/packages.desc |
pankso@81 | 56 else |
pankso@81 | 57 grep "$CAT" /var/lib/tazpkg/packages.desc |
pankso@81 | 58 fi ;; |
pascal@178 | 59 blocked) |
pascal@178 | 60 blocked_list;; |
pankso@81 | 61 *) |
pascal@178 | 62 echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|blocked]" ;; |
pankso@81 | 63 esac |
pankso@81 | 64 |
pankso@81 | 65 exit 0 |