tazpkg rev 215

tazpkgbox: add upgrade per package
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Dec 03 18:06:41 2008 +0000 (2008-12-03)
parents 0f4a72e43305
children ae76cb388d71
files lib/tazpkgbox/package_infos
line diff
     1.1 --- a/lib/tazpkgbox/package_infos	Wed Dec 03 16:43:18 2008 +0000
     1.2 +++ b/lib/tazpkgbox/package_infos	Wed Dec 03 18:06:41 2008 +0000
     1.3 @@ -24,6 +24,7 @@
     1.4  	case "$2" in
     1.5  	Web*) firefox $WEB_SITE &;;
     1.6  	Siz*) xterm -T "$3 depends (q to quit)" -e "$0 sizes $3 | less";;
     1.7 +	Upg*) xterm -T "$3 upgrade" -e "tazpkg get-install $3 --forced ; sleep 2";;
     1.8  	Hand*) firefox $HANDBOOK_URL &;;
     1.9  	Sug*) $0 list_packages $SUGGESTED;;
    1.10  	Dep*) $0 list_packages $DEPENDS;;
    1.11 @@ -177,6 +178,25 @@
    1.12  	BUGS=""
    1.13  	. /var/lib/tazpkg/installed/$PKG/receipt
    1.14  	MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g')
    1.15 +	upgrade_version="$(cat /var/lib/tazpkg/packages.desc \
    1.16 +		/var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | \
    1.17 +		awk "/^$PACKAGE / { print \$3 }" | head -1 )"
    1.18 +	UPGRADE=""
    1.19 +	if [ -n "$upgrade_version" ]; then
    1.20 +		if [ "$upgrade_version" != "$VERSION" ]; then
    1.21 +			UPGRADE="$upgrade_version"
    1.22 +		else
    1.23 +			cur_md5="$(awk "/ $PACKAGE-$VERSION/ { print \$1 }" \
    1.24 +				/var/lib/tazpkg/installed.md5)"
    1.25 +			new_md5="$(cat /var/lib/tazpkg/packages.md5 \
    1.26 +				/var/lib/tazpkg/undigest/*/packages.md5 \
    1.27 +				2> /dev/null | awk "/ $PACKAGE-$VERSION/ { print \$1 }")"
    1.28 +			if [ -n "$cur_md5" -a -n "$new_md5" -a \
    1.29 +				"$cur_md5" != "$new_md5" ]; then
    1.30 +				UPGRADE="build"
    1.31 +			fi
    1.32 +		fi
    1.33 +	fi
    1.34  	PACKAGE_INFOS="
    1.35  <window title=\"Package: $PKG\" icon-name=\"package-x-generic\">
    1.36  <vbox>
    1.37 @@ -187,6 +207,8 @@
    1.38  		<variable>FIELD</variable>
    1.39  		<item icon=\"tazpkg\">Version: | $VERSION</item>
    1.40  		<item icon=\"tazpkg\">Category: | $CATEGORY</item>"
    1.41 +[ -n "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.42 +		<item icon=\"tazpkg\">Upgrade: | $(echo $UPGRADE)</item>"
    1.43  [ -n "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.44  		<item icon=\"tazpkg\">Depends: | $(echo $DEPENDS)</item>"
    1.45  [ -n "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS
    1.46 @@ -245,6 +267,28 @@
    1.47  			<action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
    1.48  		</button>"
    1.49  fi
    1.50 +if [ -s /var/lib/tazpkg/installed/$PKG/modifiers ]; then
    1.51 +	PACKAGE_INFOS="$PACKAGE_INFOS
    1.52 +		<button>
    1.53 +			<label>Repack</label>
    1.54 +			<input file icon=\"edit-redo\"></input>
    1.55 +			<action>xterm -T \"Repack $PACKAGE\" $XTERM_OPTS -e \"\
    1.56 +			cd /var/cache/tazpkg; \
    1.57 +			tazpkg repack $PACKAGE; sleep 2\"</action>
    1.58 +			<action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
    1.59 +		</button>
    1.60 +"
    1.61 +else
    1.62 +	PACKAGE_INFOS="$PACKAGE_INFOS
    1.63 +		<button>
    1.64 +			<label>Re-install</label>
    1.65 +			<input file icon=\"edit-redo\"></input>
    1.66 +			<action>xterm -T \"Re-install $PACKAGE\" $XTERM_OPTS -e \"\
    1.67 +			tazpkg get-install $PACKAGE --forced; sleep 2\"</action>
    1.68 +			<action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
    1.69 +		</button>
    1.70 +"
    1.71 +fi
    1.72  PACKAGE_INFOS="$PACKAGE_INFOS
    1.73  		<button>
    1.74  			<label>Remove</label>
    1.75 @@ -254,14 +298,6 @@
    1.76  			<action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
    1.77  		</button>
    1.78  		<button>
    1.79 -			<label>Repack</label>
    1.80 -			<input file icon=\"edit-redo\"></input>
    1.81 -			<action>xterm -T \"Repack $PACKAGE\" $XTERM_OPTS -e \"\
    1.82 -			cd /var/cache/tazpkg; \
    1.83 -			tazpkg repack $PACKAGE; sleep 2\"</action>
    1.84 -			<action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action>
    1.85 -		</button>
    1.86 -		<button>
    1.87  			<label>Files</label>
    1.88  			<input file icon=\"tazpkg\"></input>
    1.89  			<action type=\"launch\">LIST_FILES</action>