spk rev 53

spk-add: install_deps by default if no --confirm
author Christophe Lincoln <pankso@slitaz.org>
date Thu May 17 10:56:36 2012 +0200 (2012-05-17)
parents 145ee647429c
children ee68829c1d60
files lib/libspk.sh spk-add spk-rm
line diff
     1.1 --- a/lib/libspk.sh	Thu May 17 10:07:40 2012 +0200
     1.2 +++ b/lib/libspk.sh	Thu May 17 10:56:36 2012 +0200
     1.3 @@ -150,7 +150,7 @@
     1.4  		fi
     1.5  	done
     1.6  
     1.7 -	gettext "Missing dependendcies:"; echo " $(colorize "$deps" 34)"
     1.8 +	gettext "Missing dependencies:"; echo " $(colorize "$deps" 34)"
     1.9  
    1.10  	# Return true if missing deps
    1.11  	[ "$deps" != "0" ]
     2.1 --- a/spk-add	Thu May 17 10:07:40 2012 +0200
     2.2 +++ b/spk-add	Thu May 17 10:56:36 2012 +0200
     2.3 @@ -7,6 +7,7 @@
     2.4  # Author: See AUTHORS files
     2.5  #
     2.6  . /usr/lib/slitaz/libspk.sh
     2.7 +#. lib/libspk.sh
     2.8  
     2.9  tmpdir="/tmp/spk/$RANDOM"
    2.10  
    2.11 @@ -82,10 +83,20 @@
    2.12  
    2.13  	# Resolve package deps.
    2.14  	if missing_deps $package_name $DEPENDS; then
    2.15 -		install_deps $package_name $DEPENDS
    2.16 +		if [ "$confirm" ]; then
    2.17 +			gettext "Install missing dependencies"
    2.18 +			if ! confirm; then
    2.19 +				gettext "WARNING: Any dependencies installed"; newline
    2.20 +			else
    2.21 +				install_deps $package_name $DEPENDS
    2.22 +			fi
    2.23 +		else
    2.24 +			install_deps $package_name $DEPENDS
    2.25 +		fi
    2.26 +	else
    2.27 +		newline
    2.28  	fi
    2.29  
    2.30 -	newline
    2.31  	boldify $(gettext "Installation of:") $package_name
    2.32  	separator
    2.33  	gettext "Copying"; echo -n " $package_name..."
    2.34 @@ -93,9 +104,10 @@
    2.35  	status
    2.36  
    2.37  	# Add package checksum to $installed.$SUM
    2.38 -	[ "$verbose" ] && gettext "Adding package to:"; \
    2.39 -		echo -n " $(basename $installed.$SUM)"
    2.40 -	sed -i "/$(basename $package_file)/"d $installed.$SUM
    2.41 +	if [ "$verbose" ]; then
    2.42 +		gettext "Incrementing:"; echo -n " $(basename $installed.$SUM)"
    2.43 +	fi
    2.44 +	sed -i "/$(basename $package_file)/"d $installed.$SUM 2>/dev/null
    2.45  	$CHECKSUM $(basename $package_file) >> $installed.$SUM
    2.46  	[ "$verbose" ] && status
    2.47  
    2.48 @@ -275,7 +287,7 @@
    2.49  		gettext "Using cache:"; echo " $(colorize "$package_full" 34)"
    2.50  		# Check package download was finished
    2.51  		if ! tail -c 2k $package_full.tazpkg | fgrep -q 00000000TRAILER; then
    2.52 -			eval_gettext "Continuing \$package_name download"; newline
    2.53 +			gettext "Continuing download of:"; echo " $package_name"
    2.54  			download "$package_full.tazpkg"
    2.55  		fi
    2.56  		# Check that the package has the correct checksum
    2.57 @@ -284,46 +296,33 @@
    2.58  		#	download "$package_full.tazpkg"
    2.59  		#fi
    2.60  	else
    2.61 -		newline
    2.62 -		download "$package_full.tazpkg"
    2.63 +		newline && download "$package_full.tazpkg"
    2.64  	fi
    2.65  
    2.66  	install_package "$CACHE_DIR/$package_full.tazpkg"
    2.67  
    2.68 -	[ -n "$AUTOEXEC" ] && $package_name $root
    2.69 +	#[ "$AUTOEXEC" ] && chroot $root/ $package_name
    2.70 +	[ "$AUTOEXEC" ] && $package_name $root
    2.71  	update_databases
    2.72  }
    2.73  
    2.74 -# Install all missing deps. Auto install or ask user then install all missing
    2.75 -# deps from local dir, cdrom, media or from the mirror. In case we want to
    2.76 -# install packages from local, we need a packages.list to find the version.
    2.77 -# Parameters: package List of deps to install
    2.78 +# Install all missing deps of a package.
    2.79 +# Usage: install_deps package DEPENDS
    2.80  install_deps() {
    2.81  	local package=$1
    2.82  	shift
    2.83  	local deps="$@"
    2.84 -
    2.85 -	gettext "Install all missing dependencies? "
    2.86 -
    2.87 -	# Print Yes/No and get result
    2.88 -	if $AUTO_INSTALL_DEPS || confirm; then
    2.89 -		for pkgorg in $deps; do
    2.90 -			local pkg=$(equivalent_pkg $pkgorg)
    2.91 -			# Check if package is not installed
    2.92 -			if [ ! -d "$installed/$pkg" ]; then
    2.93 -				if [ ! -f "$PKGS_DB/packages.list" ]; then
    2.94 -					tazpkg recharge
    2.95 -				fi
    2.96 -				spk-add $pkg
    2.97 +	for pkgorg in $deps; do
    2.98 +		local pkg=$(equivalent_pkg $pkgorg)
    2.99 +		# Check if package is not installed
   2.100 +		if [ ! -d "$installed/$pkg" ]; then
   2.101 +			if [ ! -f "$PKGS_DB/packages.list" ]; then
   2.102 +				#spk-up --recharge-only
   2.103 +				tazpkg recharge
   2.104  			fi
   2.105 -		done
   2.106 -	else
   2.107 -		newline
   2.108 -		boldify $(gettext "Package:") $package
   2.109 -		gettext \
   2.110 -			"Dependencies unresolved. Installed but will probably not work."
   2.111 -		newline && newline
   2.112 -	fi
   2.113 +			spk-add $pkg
   2.114 +		fi
   2.115 +	done
   2.116  }
   2.117  
   2.118  #
     3.1 --- a/spk-rm	Thu May 17 10:07:40 2012 +0200
     3.2 +++ b/spk-rm	Thu May 17 10:56:36 2012 +0200
     3.3 @@ -113,7 +113,7 @@
     3.4  	sed -i "/$PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg/"d $installed.$SUM
     3.5  	status
     3.6  
     3.7 -	separator && newline
     3.8 +	separator
     3.9  
    3.10  	# Do we have packages depending on $pkg to remove ?
    3.11  	if [ "$altered" ]; then
    3.12 @@ -129,6 +129,8 @@
    3.13  				spk-rm $i --root=$root
    3.14  			fi
    3.15  		done
    3.16 +	else
    3.17 +		newline
    3.18  	fi
    3.19  }
    3.20