tazpkg rev 322
Add status filter for undigest lists
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Feb 23 09:34:10 2010 +0100 (2010-02-23) |
parents | e2cf4184c576 |
children | eb6c5f270796 |
files | lib/tazpkgbox/list tazpkgbox |
line diff
1.1 --- a/lib/tazpkgbox/list Tue Feb 23 08:58:20 2010 +0100 1.2 +++ b/lib/tazpkgbox/list Tue Feb 23 09:34:10 2010 +0100 1.3 @@ -8,18 +8,24 @@ 1.4 { 1.5 IFS="|" 1.6 if [ -n "$1" -a "$1" != "all" ]; then 1.7 - cat /var/lib/tazpkg/undigest/$1/packages.desc 1.8 + cat undigest/$1/packages.desc 1.9 else 1.10 - cat /var/lib/tazpkg/undigest/*/packages.desc 1.11 + cat undigest/*/packages.desc 1.12 fi 2> /dev/null | sort | while read PACKAGE VERSION SHORT_DESC; do 1.13 ICON=tazpkg 1.14 PACKAGE=${PACKAGE%% *} 1.15 - if [ -d /var/lib/tazpkg/installed/$PACKAGE ]; then 1.16 + if [ -d installed/$PACKAGE ]; then 1.17 + [ "$2" == "installable" ] && continue 1.18 ICON=tazpkg-installed 1.19 - if grep -qs "^$PACKAGE$" /var/lib/tazpkg/blocked-packages.list; then 1.20 + if grep -qs "^$PACKAGE$" blocked-packages.list; then 1.21 ICON=stop 1.22 fi 1.23 + else 1.24 + [ "$2" == "installed" ] && continue 1.25 fi 1.26 + [ "$2" == "blocked" -a "$ICON" != "stop" ] && continue 1.27 + [ "$2" == "upgradeable" ] && 1.28 + ! grep -q ^$PACKAGE$ upgradeable-packages.list && continue 1.29 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" 1.30 done 1.31 unset IFS 1.32 @@ -28,23 +34,20 @@ 1.33 installable_list() 1.34 { 1.35 local cache 1.36 - cache=/var/lib/tazpkg/packages.installable_list.$CAT 1.37 - if [ -s $cache -a $cache -nt /var/lib/tazpkg/packages.desc \ 1.38 - -a $cache -nt /var/lib/tazpkg/installed ]; then 1.39 + cache=packages.installable_list.$CAT 1.40 + if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then 1.41 cat $cache 1.42 return 1.43 fi 1.44 IFS="|" 1.45 - cat /var/lib/tazpkg/packages.desc \ 1.46 - /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ 1.47 + cat packages.desc undigest/*/packages.desc 2> /dev/null | sort | \ 1.48 while read PACKAGE VERSION SHORT_DESC CATEGORY; do 1.49 # Check first for category for more speed. 1.50 CATEGORY=${CATEGORY%| *} 1.51 ICON=tazpkg 1.52 [ $CAT == all -o $CATEGORY == " $CAT " ] || continue 1.53 - [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue 1.54 - grep -qs "^$PACKAGE" /var/lib/tazpkg/undigest/*/packages.desc && 1.55 - ICON=add 1.56 + [ -d installed/${PACKAGE%% *} ] && continue 1.57 + grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add 1.58 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" 1.59 done | tee $cache 1.60 unset IFS 1.61 @@ -52,15 +55,13 @@ 1.62 1.63 installed_list() 1.64 { 1.65 - for pkg in /var/lib/tazpkg/installed/* 1.66 + for pkg in installed/* 1.67 do 1.68 . $pkg/receipt 1.69 ICON=tazpkg-installed 1.70 [ $CAT == all -o $CATEGORY == $CAT ] || continue 1.71 - grep -qs "^$PACKAGE" /var/lib/tazpkg/undigest/*/packages.desc && 1.72 - ICON=add 1.73 - grep -qs "^$PACKAGE$" /var/lib/tazpkg/blocked-packages.list && 1.74 - ICON=stop 1.75 + grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add 1.76 + grep -qs "^$PACKAGE$" blocked-packages.list && ICON=stop 1.77 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" 1.78 done 1.79 } 1.80 @@ -68,9 +69,8 @@ 1.81 all_list() 1.82 { 1.83 local cache 1.84 - cache=/var/lib/tazpkg/packages.all_list.$CAT 1.85 - if [ -s $cache -a $cache -nt /var/lib/tazpkg/packages.desc \ 1.86 - -a $cache -nt /var/lib/tazpkg/installed ]; then 1.87 + cache=packages.all_list.$CAT 1.88 + if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then 1.89 cat $cache 1.90 return 1.91 fi 1.92 @@ -81,16 +81,17 @@ 1.93 { 1.94 ICON=tazpkg-installed 1.95 [ "$1" = "blocked" ] && ICON=stop 1.96 - for pkg in $(cat /var/lib/tazpkg/$1-packages.list 2> /dev/null); do 1.97 - [ -f /var/lib/tazpkg/installed/$pkg/receipt ] || continue 1.98 - . /var/lib/tazpkg/installed/$pkg/receipt 1.99 + for pkg in $(cat $1-packages.list 2> /dev/null); do 1.100 + [ -f installed/$pkg/receipt ] || continue 1.101 + . installed/$pkg/receipt 1.102 [ $CAT == all -o $CATEGORY == $CAT ] || continue 1.103 - AVAILABLE=$(grep -s "^$pkg " /var/lib/tazpkg/packages.desc \ 1.104 - /var/lib/tazpkg/undigest/*/packages.desc | awk '{ print $3 }') 1.105 + AVAILABLE=$(grep -s "^$pkg " packages.desc \ 1.106 + undigest/*/packages.desc | awk '{ print $3 }') 1.107 echo "$ICON|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" 1.108 done 1.109 } 1.110 1.111 +cd /var/lib/tazpkg 1.112 CAT=`cat /tmp/tazpkgbox/category` 1.113 case $1 in 1.114 all) 1.115 @@ -108,9 +109,9 @@ 1.116 undigest) 1.117 set -- `cat /tmp/tazpkgbox/undigest-category` 1.118 if [ "$1" == "all" -o "$1" == "" ]; then 1.119 - undigest_list $2 1.120 + undigest_list $2 $3 1.121 else 1.122 - undigest_list $2 | grep "$1" 1.123 + undigest_list $2 $3 | grep "$1" 1.124 fi ;; 1.125 blocked|upgradeable) 1.126 blocked_list $1;;
2.1 --- a/tazpkgbox Tue Feb 23 08:58:20 2010 +0100 2.2 +++ b/tazpkgbox Tue Feb 23 09:34:10 2010 +0100 2.3 @@ -385,13 +385,6 @@ 2.4 <action>refresh:CACHE_STATS</action> 2.5 </tree> 2.6 <hbox> 2.7 - <button> 2.8 - <label>Setup undigest mirrors</label> 2.9 - <input file icon="go-next"></input> 2.10 - <action type="launch">SETUP_UNDIGEST</action> 2.11 - </button> 2.12 - </hbox> 2.13 - <hbox> 2.14 <text> 2.15 <label>"Undigest:"</label> 2.16 </text> 2.17 @@ -403,6 +396,24 @@ 2.18 TAZPKG_DIALOG="$TAZPKG_DIALOG <item>$i</item> " 2.19 done 2.20 tmp=' </combobox> 2.21 + <button> 2.22 + <label>Setup undigest mirrors</label> 2.23 + <input file icon="go-next"></input> 2.24 + <action type="launch">SETUP_UNDIGEST</action> 2.25 + </button> 2.26 + </hbox> 2.27 + <hbox> 2.28 + <text> 2.29 + <label>"Status:"</label> 2.30 + </text> 2.31 + <combobox> 2.32 + <variable>UNDIGEST_STATUS</variable> 2.33 + <item>all</item> 2.34 + <item>installed</item> 2.35 + <item>installable</item> 2.36 + <item>blocked</item> 2.37 + <item>upgradeable</item> 2.38 + </combobox> 2.39 <text> 2.40 <label>"Category:"</label> 2.41 </text> 2.42 @@ -427,7 +438,7 @@ 2.43 <button> 2.44 <label>List</label> 2.45 <input file icon="reload"></input> 2.46 - <action>echo "$UNDIGEST_CAT $UNDIGEST_ENTRY" > /tmp/tazpkgbox/undigest-category</action> 2.47 + <action>echo "$UNDIGEST_CAT $UNDIGEST_ENTRY $UNDIGEST_STATUS" > /tmp/tazpkgbox/undigest-category</action> 2.48 <action>refresh:DEV</action> 2.49 </button> 2.50 </hbox>