spk diff spk-add @ rev 66

Bunch od small improvments and better package_full to handle extra repos
author Christophe Lincoln <pankso@slitaz.org>
date Fri May 18 06:36:19 2012 +0200 (2012-05-18)
parents d0fa46ea46bd
children 885b195a5d69
line diff
     1.1 --- a/spk-add	Fri May 18 03:09:37 2012 +0200
     1.2 +++ b/spk-add	Fri May 18 06:36:19 2012 +0200
     1.3 @@ -97,9 +97,8 @@
     1.4  
     1.5  	boldify $(gettext "Adding"; echo " $package_name")
     1.6  	separator
     1.7 -	gettext "Copying"; echo -n " $package_name..."
     1.8 -	cp $package_file $tmpdir
     1.9 -	status
    1.10 +	gettext "Copying package..."
    1.11 +	cp $package_file $tmpdir && status
    1.12  
    1.13  	# Add package checksum to $installed.$SUM
    1.14  	if [ "$verbose" ]; then
    1.15 @@ -200,14 +199,15 @@
    1.16  		cd - >/dev/null
    1.17  	fi
    1.18  
    1.19 -	# Merge ROOT_FS with Package FS
    1.20 -	gettext "Installing in:"; echo -n " $root/"
    1.21 +	# Merge package FS with $root
    1.22 +	nb=$(cat files.list | wc -l)
    1.23 +	gettext "Installing files:"; echo -n " $nb"
    1.24  	cp -a fs/* $root/
    1.25  	status
    1.26  
    1.27  	# Remove old config files
    1.28  	if [ "$files_to_remove" ]; then
    1.29 -		gettext "Removing old"; echo -n " $package_name..."
    1.30 +		gettext "Removing old files..."
    1.31  		for file in $files_to_remove; do
    1.32  			if [ "$verbose" ]; then
    1.33  				gettext "Removing:"; echo " ${root}${file}"
    1.34 @@ -219,9 +219,12 @@
    1.35  	cd - >/dev/null
    1.36  
    1.37  	# Remove the temporary directory.
    1.38 -	gettext "Removing all tmp files... "
    1.39 -	rm -rf $tmpdir
    1.40 -	status
    1.41 +	if [ "$verbose" ]; then
    1.42 +		gettext "Removing all tmp files... "
    1.43 +		rm -rf $tmpdir && status
    1.44 +	else
    1.45 +		rm -rf $tmpdir
    1.46 +	fi
    1.47  
    1.48  	# Post install commands.
    1.49  	if grep -q ^post_install $package_dir/receipt; then
    1.50 @@ -296,33 +299,35 @@
    1.51  		boldify " $package_name" && exit 1
    1.52  	fi
    1.53  
    1.54 -	# package_full=Package-Version
    1.55 +	# We want: package-version.tazpkg
    1.56  	local package_full=$(full_package $package_name)
    1.57  
    1.58 -	cd $CACHE_DIR > /dev/null
    1.59 -	if [ -f "$package_full.tazpkg" ]; then
    1.60 +	cd $CACHE_DIR || exit 1
    1.61 +	if [ -f "$package_full" ]; then
    1.62  		[ "$count" == 1 ] && newline
    1.63 -		gettext "Using cache:"; echo " $(colorize "$package_full" 34)"
    1.64 +		gettext "Using cache:"; colorize " ${package_full%.tazpkg}" 34
    1.65 +
    1.66  		# Check package download was finished
    1.67 -		if ! tail -c 2k $package_full.tazpkg | fgrep -q 00000000TRAILER; then
    1.68 +		if ! tail -c 2k $package_full | fgrep -q 00000000TRAILER; then
    1.69  			gettext "Continuing download of:"; echo " $package_name"
    1.70 -			download "$package_full.tazpkg"
    1.71 +			download "$package_full"
    1.72  		fi
    1.73 +
    1.74  		# Check that the package has the correct checksum
    1.75 -		#if [ "$($CHECKSUM $package_full.tazpkg)" != "$(fgrep \"  $package_full.tazpkg\" $pkgsmd5)" ]; then
    1.76 +		#if [ "$($CHECKSUM $package_full)" != "$(fgrep \"  $package_full\" $pkgsmd5)" ]; then
    1.77  		#	rm -f $package.tazpkg
    1.78 -		#	download "$package_full.tazpkg"
    1.79 +		#	download "$package_full"
    1.80  		#fi
    1.81  	else
    1.82 -		newline && download "$package_full.tazpkg"
    1.83 +		newline && download "$package_full"
    1.84  	fi
    1.85  
    1.86  	# Create package path early to avoid dependencies loop
    1.87  	mkdir -p $tmpdir
    1.88 -	extract_receipt $tmpdir "$CACHE_DIR/$package_full.tazpkg"
    1.89 +	extract_receipt $tmpdir "$CACHE_DIR/$package_full"
    1.90  	source $tmpdir/receipt
    1.91  
    1.92 -	install_package "$CACHE_DIR/$package_full.tazpkg"
    1.93 +	install_package "$CACHE_DIR/$package_full"
    1.94  
    1.95  	#[ "$exec" ] && chroot $root/ $package_name
    1.96  	[ "$exec" ] && $package_name $root
    1.97 @@ -339,8 +344,8 @@
    1.98  		local pkg=$(equivalent_pkg $pkgorg)
    1.99  		# Check if package is not installed
   1.100  		if [ ! -d "$installed/$pkg" ]; then
   1.101 -			if [ ! -f "$PKGS_DB/packages.list" ]; then
   1.102 -				#spk-up --recharge-only
   1.103 +			if [ ! -f "$pkgsdesc" ]; then
   1.104 +				#spk-up --list
   1.105  				tazpkg recharge
   1.106  			fi
   1.107  			spk-add $pkg
   1.108 @@ -382,7 +387,7 @@
   1.109  
   1.110  # Show all new counted packages in verbose mode
   1.111  if [ "$verbose" ]; then
   1.112 -	gettext "New installed packages:"; colorize " $count" 34
   1.113 +	gettext "Handled packages:"; colorize " $count" 34
   1.114  fi
   1.115  
   1.116  exit 0