tazpkg view 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
line source
1 #!/bin/sh
2 #
3 # List installed packages in a suitable format for GTK tree.
4 # List mirrored packages using the packages.desc file.
5 #
7 installable_list()
8 {
9 IFS="|"
10 while read PACKAGE VERSION SHORT_DESC; do
11 [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue
12 echo "$PACKAGE|$VERSION|$SHORT_DESC"
13 done < /var/lib/tazpkg/packages.desc 2> /dev/null
14 unset IFS
15 }
17 installed_list()
18 {
19 for pkg in /var/lib/tazpkg/installed/*
20 do
21 . $pkg/receipt
22 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then
23 echo "$PACKAGE|$VERSION|$SHORT_DESC"
24 fi
25 done
26 }
28 blocked_list()
29 {
30 for pkg in /var/lib/tazpkg/installed/*
31 do
32 . $pkg/receipt
33 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then
34 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }')
36 echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC"
37 fi
38 done
39 }
41 case $1 in
42 installed)
43 CAT=`cat /tmp/tazpkgbox/installed-category`
44 installed_list $CAT;;
45 installable)
46 CAT=`cat /tmp/tazpkgbox/installable-category`
47 if [ "$CAT" == "all" ]; then
48 installable_list
49 else
50 installable_list | grep "$CAT"
51 fi ;;
52 mirrored)
53 CAT=`cat /tmp/tazpkgbox/mirrored-category`
54 if [ "$CAT" == "all" ]; then
55 cat /var/lib/tazpkg/packages.desc
56 else
57 grep "$CAT" /var/lib/tazpkg/packages.desc
58 fi ;;
59 blocked)
60 blocked_list;;
61 *)
62 echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|blocked]" ;;
63 esac
65 exit 0