tazpkg annotate lib/tazpkgbox/list @ rev 213
tazpkgbox: fix undigest filter
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Nov 24 17:44:37 2008 +0000 (2008-11-24) |
parents | 64e13d7d11db |
children | 1956016c0998 |
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@187 | 7 undigest_list() |
pascal@187 | 8 { |
pascal@187 | 9 IFS="|" |
pascal@213 | 10 if [ -n "$1" -a "$1" != "all" ]; then |
pascal@187 | 11 cat /var/lib/tazpkg/undigest/$1/packages.desc |
pascal@187 | 12 else |
pascal@187 | 13 cat /var/lib/tazpkg/undigest/*/packages.desc |
pascal@187 | 14 fi 2> /dev/null | sort | while read PACKAGE VERSION SHORT_DESC; do |
pascal@187 | 15 echo "$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@187 | 16 done |
pascal@187 | 17 unset IFS |
pascal@187 | 18 } |
pascal@187 | 19 |
pascal@130 | 20 installable_list() |
pascal@130 | 21 { |
pascal@130 | 22 IFS="|" |
pascal@187 | 23 cat /var/lib/tazpkg/packages.desc \ |
pascal@187 | 24 /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ |
pascal@130 | 25 while read PACKAGE VERSION SHORT_DESC; do |
pascal@130 | 26 [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue |
pascal@130 | 27 echo "$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@187 | 28 done |
pascal@130 | 29 unset IFS |
pascal@130 | 30 } |
pascal@130 | 31 |
pascal@130 | 32 installed_list() |
pascal@130 | 33 { |
pascal@130 | 34 for pkg in /var/lib/tazpkg/installed/* |
pascal@130 | 35 do |
pascal@130 | 36 . $pkg/receipt |
pascal@130 | 37 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then |
pascal@130 | 38 echo "$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@130 | 39 fi |
pascal@130 | 40 done |
pascal@130 | 41 } |
pascal@130 | 42 |
pascal@178 | 43 blocked_list() |
pascal@178 | 44 { |
pascal@178 | 45 for pkg in /var/lib/tazpkg/installed/* |
pascal@178 | 46 do |
pascal@178 | 47 . $pkg/receipt |
pascal@178 | 48 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then |
pascal@178 | 49 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }') |
pascal@178 | 50 |
pascal@178 | 51 echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC" |
pascal@178 | 52 fi |
pascal@178 | 53 done |
pascal@178 | 54 } |
pascal@178 | 55 |
pankso@81 | 56 case $1 in |
pankso@81 | 57 installed) |
pankso@81 | 58 CAT=`cat /tmp/tazpkgbox/installed-category` |
pascal@130 | 59 installed_list $CAT;; |
pascal@130 | 60 installable) |
pascal@130 | 61 CAT=`cat /tmp/tazpkgbox/installable-category` |
pankso@81 | 62 if [ "$CAT" == "all" ]; then |
pascal@130 | 63 installable_list |
pankso@81 | 64 else |
pascal@130 | 65 installable_list | grep "$CAT" |
pankso@81 | 66 fi ;; |
pascal@187 | 67 undigest) |
pascal@187 | 68 set -- `cat /tmp/tazpkgbox/undigest-category` |
pascal@187 | 69 if [ "$1" == "all" -o "$1" == "" ]; then |
pascal@187 | 70 undigest_list $2 |
pascal@187 | 71 else |
pascal@187 | 72 undigest_list $2 | grep "$1" |
pascal@187 | 73 fi ;; |
pankso@81 | 74 mirrored) |
pankso@81 | 75 CAT=`cat /tmp/tazpkgbox/mirrored-category` |
pankso@81 | 76 if [ "$CAT" == "all" ]; then |
pankso@81 | 77 cat /var/lib/tazpkg/packages.desc |
pankso@81 | 78 else |
pankso@81 | 79 grep "$CAT" /var/lib/tazpkg/packages.desc |
pankso@81 | 80 fi ;; |
pascal@178 | 81 blocked) |
pascal@178 | 82 blocked_list;; |
pankso@81 | 83 *) |
pascal@187 | 84 echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|undigest|blocked]" ;; |
pankso@81 | 85 esac |
pankso@81 | 86 |
pankso@81 | 87 exit 0 |