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