tazpkg rev 287

tazpkgbox: use /home/slitaz/wok if available
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Aug 19 20:48:39 2009 +0200 (2009-08-19)
parents 23dd3368c79a
children 4d497976d2c3
files lib/tazpkgbox/package_infos lib/tazpkgbox/search tazpkgbox
line diff
     1.1 --- a/lib/tazpkgbox/package_infos	Sat Aug 15 21:43:43 2009 +0000
     1.2 +++ b/lib/tazpkgbox/package_infos	Wed Aug 19 20:48:39 2009 +0200
     1.3 @@ -176,6 +176,7 @@
     1.4  	DEPENDS=""
     1.5  	MAINTAINER=""
     1.6  	BUGS=""
     1.7 +	TAGS=""
     1.8  	. /var/lib/tazpkg/installed/$PKG/receipt
     1.9  	MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g')
    1.10  	upgrade_version="$(cat /var/lib/tazpkg/packages.desc \
    1.11 @@ -221,6 +222,8 @@
    1.12  		<item icon=\"important\">Bugs: | $BUGS</item>"
    1.13  [ -n "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.14  		<item icon=\"ascii\">Handbook: | $HANDBOOK_URL</item>"
    1.15 +[ -n "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.16 +		<item icon=\"tazpkg\">Tags: | $TAGS</item>"
    1.17  [ -n "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.18  		<item icon=\"tazpkg\">Config files: | $CONFIG_FILES</item>"
    1.19  [ -f /var/lib/tazpkg/installed/$PKG/modifiers ] && 
    1.20 @@ -330,19 +333,44 @@
    1.21  	WEB_SITE=`echo "$RES" | cut -d "|" -f 5`
    1.22  	SIZES=`grep -sh -A 3 "^$(echo $PACKAGE)$" /var/lib/tazpkg/packages.txt \
    1.23  		/var/lib/tazpkg/undigest/*/packages.txt | tail -1`
    1.24 +	DEPENDS=""
    1.25 +	SUGGESTED=""
    1.26 +	MAINTAINER=""
    1.27 +	BUGS=""
    1.28 +	HANDBOOK_URL=""
    1.29 +	TAGS=""
    1.30 +	CONFIG_FILES=""
    1.31 +	height=160
    1.32 +	if [ -s /home/slitaz/wok/$PKG/receipt ]; then
    1.33 +		. /home/slitaz/wok/$PKG/receipt
    1.34 +		height=200
    1.35 +	fi
    1.36  	PACKAGE_INFOS="
    1.37  <window title=\"Package: $PACKAGE\" icon-name=\"package-x-generic\">
    1.38  <vbox>
    1.39  
    1.40  	<tree>
    1.41 -		<width>460</width><height>160</height>
    1.42 +		<width>460</width><height>$height</height>
    1.43  		<label>$PKG|$SHORT_DESC</label>
    1.44  		<variable>FIELD2</variable>
    1.45 -		<item icon=\"tazpkg\">Name: | $PACKAGE</item>
    1.46  		<item icon=\"tazpkg\">Version: | $VERSION</item>
    1.47  		<item icon=\"tazpkg\">Category: | $CATEGORY</item>"
    1.48 +	[ -n "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.49 +		<item icon=\"tazpkg\">Depends: | $(echo $DEPENDS)</item>"
    1.50 +	[ -n "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.51 +		<item icon=\"tazpkg\">Suggested: | $(echo $SUGGESTED)</item>"
    1.52  	[ -n "$SIZES" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.53  		<item icon=\"tazpkg\">Size: | $SIZES</item>"
    1.54 +	[ -n "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.55 +		<item icon=\"system-users\">Maintainer: | $MAINTAINER</item>"
    1.56 +	[ -n "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.57 +		<item icon=\"important\">Bugs: | $BUGS</item>"
    1.58 +	[ -n "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.59 +		<item icon=\"ascii\">Handbook: | $HANDBOOK_URL</item>"
    1.60 +	[ -n "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.61 +		<item icon=\"tazpkg\">Tags: | $TAGS</item>"
    1.62 +	[ -n "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.63 +		<item icon=\"tazpkg\">Config files: | $CONFIG_FILES</item>"
    1.64  	PACKAGE_INFOS="$PACKAGE_INFOS
    1.65  		<item icon=\"applications-internet\">Web site: | $WEB_SITE</item>
    1.66  		<action>case \$FIELD2 in Web*) firefox $WEB_SITE &;; esac</action>
     2.1 --- a/lib/tazpkgbox/search	Sat Aug 15 21:43:43 2009 +0000
     2.2 +++ b/lib/tazpkgbox/search	Wed Aug 19 20:48:39 2009 +0200
     2.3 @@ -34,6 +34,16 @@
     2.4  	done
     2.5  }
     2.6  
     2.7 +list_package()
     2.8 +{
     2.9 +		if [ -d /var/lib/tazpkg/installed/$1 ]; then
    2.10 +			. /var/lib/tazpkg/installed/$1/receipt
    2.11 +			echo "tazpkg-installed|$PACKAGE|$VERSION|$SHORT_DESC"
    2.12 +		else
    2.13 +			echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC"
    2.14 +		fi
    2.15 +}
    2.16 +
    2.17  search_package()
    2.18  {
    2.19  	IFS="|"
    2.20 @@ -41,12 +51,7 @@
    2.21  	    /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \
    2.22  	while read PACKAGE VERSION SHORT_DESC; do
    2.23  	if echo "$PACKAGE $SHORT_DESC" | grep -q "$SEARCH"; then
    2.24 -		if [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ]; then
    2.25 -			. /var/lib/tazpkg/installed/${PACKAGE%% *}/receipt
    2.26 -			echo "tazpkg-installed|$PACKAGE|$VERSION|$SHORT_DESC"
    2.27 -		else
    2.28 -			echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC"
    2.29 -		fi
    2.30 +		list_package ${PACKAGE%% *}
    2.31  	fi
    2.32  	done 
    2.33  	unset IFS
    2.34 @@ -57,9 +62,22 @@
    2.35  		tazpkg search-file "$SEARCH" --mirror | list_files > \
    2.36  			/tmp/tazpkgbox/search ;;
    2.37  	packages)
    2.38 -		search_package > /tmp/tazpkgbox/search ;;
    2.39 +		( search_package ;
    2.40 +		  for i in $(grep ^$SEARCH= /var/lib/tazpkg/packages.equiv | \
    2.41 +		          cut -d= -f2); do
    2.42 +		        SEARCH=${i#*:}
    2.43 +		        search_package
    2.44 +		  done ) > /tmp/tazpkgbox/search ;;
    2.45 +	tags)
    2.46 +		grep -ls TAGS /home/slitaz/wok/*/receipt | while read file; do
    2.47 +			TAGS=""
    2.48 +			. $file
    2.49 +			case "$TAGS" in
    2.50 +			*$SEARCH*) list_package $PACKAGE ;;
    2.51 +			esac
    2.52 +		done > /tmp/tazpkgbox/search ;;
    2.53  	*)
    2.54 -		echo "Usage: $0 [packages|files]" ;;
    2.55 +		echo "Usage: $0 [packages|files|tags]" ;;
    2.56  esac
    2.57  
    2.58  
     3.1 --- a/tazpkgbox	Sat Aug 15 21:43:43 2009 +0000
     3.2 +++ b/tazpkgbox	Wed Aug 19 20:48:39 2009 +0200
     3.3 @@ -357,6 +357,17 @@
     3.4  				<action>$LIB/search files</action>
     3.5  				<action>refresh:RESULT</action>
     3.6  			</button>
     3.7 +'
     3.8 +tmp='
     3.9 +			<button>
    3.10 +				<label>Tags</label>
    3.11 +				<input file icon="system-search"></input>
    3.12 +				<action>$LIB/search tags</action>
    3.13 +				<action>refresh:RESULT</action>
    3.14 +			</button>
    3.15 +'
    3.16 +[ -d /home/slitaz/wok ] && TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp"
    3.17 +tmp='
    3.18  		</hbox>
    3.19  	</vbox>
    3.20  
    3.21 @@ -386,6 +397,7 @@
    3.22  			<combobox>
    3.23  				<variable>UNDIGEST_ENTRY</variable>
    3.24  '
    3.25 +TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp"
    3.26  for i in all $(ls /var/lib/tazpkg/undigest 2> /dev/null); do
    3.27  	TAZPKG_DIALOG="$TAZPKG_DIALOG <item>$i</item> "
    3.28  done