tazpkg rev 231

tazpkgbox: update lib for new functions
author Christophe Lincoln <pankso@slitaz.org>
date Sat Feb 21 22:12:27 2009 +0100 (2009-02-21)
parents 9f4db6b4a0ef
children dd48da6e9023
files lib/tazpkgbox/list tazpkgbox
line diff
     1.1 --- a/lib/tazpkgbox/list	Sat Feb 21 22:06:40 2009 +0100
     1.2 +++ b/lib/tazpkgbox/list	Sat Feb 21 22:12:27 2009 +0100
     1.3 @@ -23,8 +23,12 @@
     1.4  	cat /var/lib/tazpkg/packages.desc \
     1.5  	    /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \
     1.6  	while read PACKAGE VERSION SHORT_DESC; do
     1.7 -		[ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue
     1.8 -		echo "$PACKAGE|$VERSION|$SHORT_DESC"
     1.9 +		# Check first for category for more speed.
    1.10 +		CATEGORY=${CATEGORY%| *}
    1.11 +		if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then
    1.12 +			[ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue
    1.13 +			echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC"
    1.14 +		fi
    1.15  	done
    1.16  	unset IFS
    1.17  }
    1.18 @@ -35,11 +39,31 @@
    1.19  	do
    1.20  		. $pkg/receipt
    1.21  		if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then
    1.22 -			echo "$PACKAGE|$VERSION|$SHORT_DESC"
    1.23 +			echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC"
    1.24  		fi
    1.25  	done
    1.26  }
    1.27  
    1.28 +all_list()
    1.29 +{
    1.30 +	IFS="|"
    1.31 +	cat /var/lib/tazpkg/packages.desc \
    1.32 +	    /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \
    1.33 +	while read PACKAGE VERSION SHORT_DESC CATEGORY; do
    1.34 +	# Check first for category for more speed.
    1.35 +	CATEGORY=${CATEGORY%| *}
    1.36 +	if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then
    1.37 +		if [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ]; then
    1.38 +			. /var/lib/tazpkg/installed/${PACKAGE%% *}/receipt
    1.39 +			echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC"
    1.40 +		else
    1.41 +			echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC"
    1.42 +		fi
    1.43 +	fi
    1.44 +	done
    1.45 +	unset IFS
    1.46 +}
    1.47 +
    1.48  blocked_list()
    1.49  {
    1.50  	for pkg in /var/lib/tazpkg/installed/*
    1.51 @@ -47,23 +71,27 @@
    1.52  		. $pkg/receipt
    1.53  		if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then
    1.54  			AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }')
    1.55 -			
    1.56 -			echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC"
    1.57 +			echo "stop|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC"
    1.58  		fi
    1.59  	done
    1.60  }
    1.61  
    1.62  case $1 in
    1.63 -	installed)
    1.64 -		CAT=`cat /tmp/tazpkgbox/installed-category`
    1.65 -		installed_list $CAT;;
    1.66 -	installable)
    1.67 -		CAT=`cat /tmp/tazpkgbox/installable-category`
    1.68 -		if [ "$CAT" == "all" ]; then
    1.69 -			installable_list
    1.70 -		else
    1.71 -			installable_list | grep "$CAT"
    1.72 -		fi ;;
    1.73 +	all)
    1.74 +		STATUS=`cat /tmp/tazpkgbox/status`
    1.75 +		case $STATUS in
    1.76 +			blocked)
    1.77 +				blocked_list ;;
    1.78 +			installed)
    1.79 +				CAT=`cat /tmp/tazpkgbox/category`
    1.80 +				installed_list ;;
    1.81 +			installable)
    1.82 +				CAT=`cat /tmp/tazpkgbox/category`
    1.83 +				installable_list ;;
    1.84 +			*)
    1.85 +				CAT=`cat /tmp/tazpkgbox/category`
    1.86 +				all_list ;;
    1.87 +		esac ;;
    1.88  	undigest)
    1.89  		set -- `cat /tmp/tazpkgbox/undigest-category`
    1.90  		if [ "$1" == "all" -o "$1" == "" ]; then
    1.91 @@ -71,17 +99,10 @@
    1.92  		else
    1.93  			undigest_list $2 | grep "$1"
    1.94  		fi ;;
    1.95 -	mirrored)
    1.96 -		CAT=`cat /tmp/tazpkgbox/mirrored-category`
    1.97 -		if [ "$CAT" == "all" ]; then
    1.98 -			cat /var/lib/tazpkg/packages.desc
    1.99 -		else
   1.100 -			grep "$CAT" /var/lib/tazpkg/packages.desc
   1.101 -		fi ;;
   1.102  	blocked)
   1.103 -		blocked_list;;
   1.104 +		blocked_list ;;
   1.105  	*)
   1.106 -		echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|undigest|blocked]" ;;
   1.107 +		echo "Usage: $0 [all|undigest|blocked]" ;;
   1.108  esac
   1.109  
   1.110  exit 0
     2.1 --- a/tazpkgbox	Sat Feb 21 22:06:40 2009 +0100
     2.2 +++ b/tazpkgbox	Sat Feb 21 22:12:27 2009 +0100
     2.3 @@ -1,21 +1,22 @@
     2.4  #!/bin/sh
     2.5  #
     2.6 -# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Functions
     2.7 -# path: /usr/lib/slitaz/tazpkgbox. Notes: Notebook tab are vbox, tab are
     2.8 -# used to indent.
     2.9 +# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Notes: 
    2.10 +# Notebook tab are vbox, tab are used to indent and functions are 
    2.11 +# splited ang found in $LIB.
    2.12  #
    2.13  # (C) GNU gpl v3 - SliTaz GNU/Linux 2009.
    2.14  #
    2.15  VERSION=2.6
    2.16  
    2.17 +# Functions path.
    2.18 +export LIB=/usr/lib/lib/tazpkgbox
    2.19 +
    2.20  # Tazpkgbox is only for root.
    2.21  if test $(id -u) != 0 ; then
    2.22  	exec subox tazpkgbox
    2.23  	exit 0
    2.24  fi
    2.25  
    2.26 -export LIB=$PWD/lib/tazpkgbox
    2.27 -
    2.28  # We need at least a mirror URL.
    2.29  if [ ! -f /var/lib/tazpkg/mirror ]; then
    2.30  	tazpkg >/dev/null