tazpkg diff tazpkg @ rev 266

Tazpkg link: add depends & pre/post_install support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon May 25 20:07:00 2009 +0200 (2009-05-25)
parents 0e1230d720bb
children a9b46318a89d
line diff
     1.1 --- a/tazpkg	Mon May 25 18:26:46 2009 +0200
     1.2 +++ b/tazpkg	Mon May 25 20:07:00 2009 +0200
     1.3 @@ -2298,6 +2298,30 @@
     1.4  			exit 1
     1.5  		fi
     1.6  		ln -s $TARGET_DIR$INSTALLED/$PACKAGE $INSTALLED
     1.7 +		DEPENDS="$(. $INSTALLED/$PACKAGE/receipt ; echo $DEPENDS)"
     1.8 +		MISSING=""
     1.9 +		for i in $DEPENDS; do
    1.10 +			[ -e $INSTALLED/$i ] && continue
    1.11 +			MISSING="$MISSING$i "
    1.12 +			echo "Missing : $i"
    1.13 +		done
    1.14 +		if [ -n "$MISSING" ]; then
    1.15 +			echo ""
    1.16 +			echo -n "Link all missing dependencies (y/N) ? "; read answer
    1.17 +			echo ""
    1.18 +			if [ "$answer" = "y" ]; then
    1.19 +				for i in $MISSING; do
    1.20 +					tazpkg link $i $TARGET_DIR
    1.21 +				done
    1.22 +			else
    1.23 +				echo -e "\nLeaving dependencies for $PACKAGE unsolved."
    1.24 +				echo -e "The package is installed but will probably not work.\n"
    1.25 +			fi
    1.26 +		fi
    1.27 +		. $INSTALLED/$PACKAGE/receipt
    1.28 +		if grep -q ^pre_install $INSTALLED/$PACKAGE/receipt; then
    1.29 +			pre_install
    1.30 +		fi
    1.31  		while read path; do
    1.32  			[ -e $path ] && continue
    1.33  			while true; do
    1.34 @@ -2307,6 +2331,9 @@
    1.35  			done
    1.36  			ln -s $TARGET_DIR$path $dir
    1.37  		done < $INSTALLED/$PACKAGE/files.list
    1.38 +		if grep -q ^post_install $INSTALLED/$PACKAGE/receipt; then
    1.39 +			post_install
    1.40 +		fi
    1.41  		;;
    1.42  	usage|*)
    1.43  		# Print a short help or give usage for an unknown or empty command.