tazpkg rev 420

Automated merge with http://repos.slitaz.org/tazpkg
author Antoine Bodin <gokhlayeh@slitaz.org>
date Tue Feb 01 02:29:18 2011 +0100 (2011-02-01)
parents 003d6e430c93 18c7dbaf6632
children 13789d978d23
files tazpkg
line diff
     1.1 --- a/tazpkg	Mon Jan 31 00:29:47 2011 +0000
     1.2 +++ b/tazpkg	Tue Feb 01 02:29:18 2011 +0100
     1.3 @@ -53,6 +53,7 @@
     1.4  TOP_DIR=`pwd`
     1.5  TMP_DIR=$tmp/$RANDOM
     1.6  INSTALL_LIST=""
     1.7 +SAVE_CACHE_DIR="$CACHE_DIR"
     1.8  
     1.9  # Path to tazpkg used dir and configuration files
    1.10  INSTALLED=$LOCALSTATE/installed
    1.11 @@ -232,6 +233,21 @@
    1.12  	fi
    1.13  }
    1.14  
    1.15 +get_cache_dir()
    1.16 +{
    1.17 +	echo $rep > $tmp/rep
    1.18 +	if [ "$rep"	= /var/lib/tazpkg ]; then
    1.19 +		CACHE_DIR="$SAVE_CACHE_DIR/$SLITAZ_VERSION/packages"
    1.20 +	elif [ "${rep%-incoming}" = "$rep" ]; then
    1.21 +		CACHE_DIR="$SAVE_CACHE_DIR/${rep##*/}/packages"
    1.22 +	else
    1.23 +		rep="${rep%-incoming}"
    1.24 +		CACHE_DIR="$SAVE_CACHE_DIR/${rep##*/}/packages-incoming"
    1.25 +	fi
    1.26 +	[ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR
    1.27 +	echo $CACHE_DIR > $tmp/cachedir
    1.28 +}
    1.29 +
    1.30  # get an already installed package from packages.equiv
    1.31  equivalent_pkg()
    1.32  {
    1.33 @@ -297,7 +313,7 @@
    1.34  			$rep/packages.list | head -1)
    1.35  		[ "$pkg" ] || pkg=$(grep -sh "^$1-.[\.0-9]" \
    1.36  		$rep/packages.list | head -1)
    1.37 -		[ "$pkg" ] && break
    1.38 +		[ "$pkg" ] && get_cache_dir && break
    1.39  	done
    1.40  	if [ -z "$pkg" ]; then
    1.41  		# Check for vitual package
    1.42 @@ -320,8 +336,11 @@
    1.43  	local check_only
    1.44  	check_only="$1"
    1.45  	filename=$(get_package_filename $PACKAGE)
    1.46 -	if [ -n "$filename" ]; then
    1.47 +	if [ "$filename" ]; then
    1.48  		PACKAGE=$filename
    1.49 +		CACHE_DIR=$(cat $tmp/cachedir)
    1.50 +		rep=$(cat $tmp/rep)
    1.51 +		rm -f $tmp/rep $tmp/cachedir
    1.52  	else
    1.53  		echo ""
    1.54  		eval_gettext "Unable to find: \$PACKAGE in the mirrored packages list."; echo
    1.55 @@ -2584,7 +2603,7 @@
    1.56  		check_for_package_in_list
    1.57  		echo ""
    1.58  		if [ -f $PACKAGE.tazpkg ]; then
    1.59 -			if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $LOCALSTATE/$undigest/packages.md5)" ]; then
    1.60 +			if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.md5)" ]; then
    1.61  				rm -f $PACKAGE.tazpkg
    1.62  				download $PACKAGE.tazpkg
    1.63  			fi
    1.64 @@ -2614,14 +2633,14 @@
    1.65  			AUTOEXEC=$PACKAGE
    1.66  			check_for_package_in_list
    1.67  			if [ -n "$(get_installed_package_pathname $PACKAGE $ROOT)" ]; then
    1.68 +				CACHE_DIR="${CACHE_DIR%/*}/get"
    1.69 +				[ -d "$CACHE_DIR" ] || mkdir -p $CACHE_DIR
    1.70  				$AUTOEXEC $ROOT
    1.71  				exit 0
    1.72  			fi
    1.73  		fi
    1.74  		# Check if forced install.
    1.75 -		if [ "$DO_CHECK" = "no" ]; then
    1.76 -			rm -f $CACHE_DIR/$PACKAGE.tazpkg
    1.77 -		else
    1.78 +		if ! [ "$DO_CHECK" = "no" ]; then
    1.79  			check_for_installed_package $ROOT
    1.80  		fi
    1.81  		cd $CACHE_DIR
    1.82 @@ -2632,16 +2651,7 @@
    1.83  				eval_gettext "Continuing \$PACKAGE download"; echo
    1.84  				download $PACKAGE.tazpkg
    1.85  			}
    1.86 -			if [ -f $LOCALSTATE/priority ]; then
    1.87 -				for i in $(cat $LOCALSTATE/priority); do
    1.88 -					if [ -f $LOCALSTATE/undigest/$i/packages.md5 ]; then
    1.89 -						if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $LOCALSTATE/undigest/$i/packages.md5)" ]; then
    1.90 -							rm -f $PACKAGE.tazpkg
    1.91 -							download $PACKAGE.tazpkg
    1.92 -						fi
    1.93 -					fi
    1.94 -				done
    1.95 -			elif [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $LOCALSTATE/packages.md5)" ]; then
    1.96 +			if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep "  $PACKAGE.tazpkg" $rep/packages.md5)" ]; then
    1.97  				rm -f $PACKAGE.tazpkg
    1.98  				download $PACKAGE.tazpkg
    1.99  			fi