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