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>