tazpkg annotate lib/tazpkgbox/list @ rev 231
tazpkgbox: update lib for new functions
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sat Feb 21 22:12:27 2009 +0100 (2009-02-21) |
parents | 9720c1c3d4f5 |
children | d689a99ecd2d |
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 |
pankso@231 | 26 # Check first for category for more speed. |
pankso@231 | 27 CATEGORY=${CATEGORY%| *} |
pankso@231 | 28 if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then |
pankso@231 | 29 [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue |
pankso@231 | 30 echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@231 | 31 fi |
pascal@187 | 32 done |
pascal@130 | 33 unset IFS |
pascal@130 | 34 } |
pascal@130 | 35 |
pascal@130 | 36 installed_list() |
pascal@130 | 37 { |
pascal@130 | 38 for pkg in /var/lib/tazpkg/installed/* |
pascal@130 | 39 do |
pascal@130 | 40 . $pkg/receipt |
pascal@130 | 41 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then |
pankso@231 | 42 echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC" |
pascal@130 | 43 fi |
pascal@130 | 44 done |
pascal@130 | 45 } |
pascal@130 | 46 |
pankso@231 | 47 all_list() |
pankso@231 | 48 { |
pankso@231 | 49 IFS="|" |
pankso@231 | 50 cat /var/lib/tazpkg/packages.desc \ |
pankso@231 | 51 /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ |
pankso@231 | 52 while read PACKAGE VERSION SHORT_DESC CATEGORY; do |
pankso@231 | 53 # Check first for category for more speed. |
pankso@231 | 54 CATEGORY=${CATEGORY%| *} |
pankso@231 | 55 if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then |
pankso@231 | 56 if [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ]; then |
pankso@231 | 57 . /var/lib/tazpkg/installed/${PACKAGE%% *}/receipt |
pankso@231 | 58 echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@231 | 59 else |
pankso@231 | 60 echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@231 | 61 fi |
pankso@231 | 62 fi |
pankso@231 | 63 done |
pankso@231 | 64 unset IFS |
pankso@231 | 65 } |
pankso@231 | 66 |
pascal@178 | 67 blocked_list() |
pascal@178 | 68 { |
pascal@178 | 69 for pkg in /var/lib/tazpkg/installed/* |
pascal@178 | 70 do |
pascal@178 | 71 . $pkg/receipt |
pascal@178 | 72 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then |
pascal@178 | 73 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }') |
pankso@231 | 74 echo "stop|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" |
pascal@178 | 75 fi |
pascal@178 | 76 done |
pascal@178 | 77 } |
pascal@178 | 78 |
pankso@81 | 79 case $1 in |
pankso@231 | 80 all) |
pankso@231 | 81 STATUS=`cat /tmp/tazpkgbox/status` |
pankso@231 | 82 case $STATUS in |
pankso@231 | 83 blocked) |
pankso@231 | 84 blocked_list ;; |
pankso@231 | 85 installed) |
pankso@231 | 86 CAT=`cat /tmp/tazpkgbox/category` |
pankso@231 | 87 installed_list ;; |
pankso@231 | 88 installable) |
pankso@231 | 89 CAT=`cat /tmp/tazpkgbox/category` |
pankso@231 | 90 installable_list ;; |
pankso@231 | 91 *) |
pankso@231 | 92 CAT=`cat /tmp/tazpkgbox/category` |
pankso@231 | 93 all_list ;; |
pankso@231 | 94 esac ;; |
pascal@187 | 95 undigest) |
pascal@187 | 96 set -- `cat /tmp/tazpkgbox/undigest-category` |
pascal@187 | 97 if [ "$1" == "all" -o "$1" == "" ]; then |
pascal@187 | 98 undigest_list $2 |
pascal@187 | 99 else |
pascal@187 | 100 undigest_list $2 | grep "$1" |
pascal@187 | 101 fi ;; |
pascal@178 | 102 blocked) |
pankso@231 | 103 blocked_list ;; |
pankso@81 | 104 *) |
pankso@231 | 105 echo "Usage: $0 [all|undigest|blocked]" ;; |
pankso@81 | 106 esac |
pankso@81 | 107 |
pankso@81 | 108 exit 0 |