tazpkg annotate lib/tazpkgbox/list @ rev 178

tazpkgbox: add blocked tab
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Oct 24 08:27:54 2008 +0000 (2008-10-24)
parents 3ad89c4852fb
children 64e13d7d11db
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@130 7 installable_list()
pascal@130 8 {
pascal@130 9 IFS="|"
pascal@130 10 while read PACKAGE VERSION SHORT_DESC; do
pascal@130 11 [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue
pascal@130 12 echo "$PACKAGE|$VERSION|$SHORT_DESC"
pascal@130 13 done < /var/lib/tazpkg/packages.desc 2> /dev/null
pascal@130 14 unset IFS
pascal@130 15 }
pascal@130 16
pascal@130 17 installed_list()
pascal@130 18 {
pascal@130 19 for pkg in /var/lib/tazpkg/installed/*
pascal@130 20 do
pascal@130 21 . $pkg/receipt
pascal@130 22 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then
pascal@130 23 echo "$PACKAGE|$VERSION|$SHORT_DESC"
pascal@130 24 fi
pascal@130 25 done
pascal@130 26 }
pascal@130 27
pascal@178 28 blocked_list()
pascal@178 29 {
pascal@178 30 for pkg in /var/lib/tazpkg/installed/*
pascal@178 31 do
pascal@178 32 . $pkg/receipt
pascal@178 33 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then
pascal@178 34 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }')
pascal@178 35
pascal@178 36 echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC"
pascal@178 37 fi
pascal@178 38 done
pascal@178 39 }
pascal@178 40
pankso@81 41 case $1 in
pankso@81 42 installed)
pankso@81 43 CAT=`cat /tmp/tazpkgbox/installed-category`
pascal@130 44 installed_list $CAT;;
pascal@130 45 installable)
pascal@130 46 CAT=`cat /tmp/tazpkgbox/installable-category`
pankso@81 47 if [ "$CAT" == "all" ]; then
pascal@130 48 installable_list
pankso@81 49 else
pascal@130 50 installable_list | grep "$CAT"
pankso@81 51 fi ;;
pankso@81 52 mirrored)
pankso@81 53 CAT=`cat /tmp/tazpkgbox/mirrored-category`
pankso@81 54 if [ "$CAT" == "all" ]; then
pankso@81 55 cat /var/lib/tazpkg/packages.desc
pankso@81 56 else
pankso@81 57 grep "$CAT" /var/lib/tazpkg/packages.desc
pankso@81 58 fi ;;
pascal@178 59 blocked)
pascal@178 60 blocked_list;;
pankso@81 61 *)
pascal@178 62 echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|blocked]" ;;
pankso@81 63 esac
pankso@81 64
pankso@81 65 exit 0