tazpkg annotate lib/tazpkgbox/list @ rev 243

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