tazpkg rev 21

Repack: check for packages modified by other packages
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Dec 14 17:24:43 2007 +0000 (2007-12-14)
parents 94a427d2fe71
children 28c9ef6dbf16
files tazpkg
line diff
     1.1 --- a/tazpkg	Thu Dec 13 21:53:36 2007 +0100
     1.2 +++ b/tazpkg	Fri Dec 14 17:24:43 2007 +0000
     1.3 @@ -215,6 +215,7 @@
     1.4  	cd $TMP_DIR
     1.5  	extract_package
     1.6  	SELF_INSTALL=0
     1.7 +	MODIFY_PACKAGES=""
     1.8  	# Include temporary receipt to get the right variables.
     1.9  	. $PWD/receipt
    1.10  	if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then
    1.11 @@ -226,6 +227,12 @@
    1.12  			exit 1
    1.13  		fi
    1.14  	fi
    1.15 +	# Remember modified packages
    1.16 +	for i in $MODIFY_PACKAGES; do
    1.17 +		[ -d $ROOT$INSTALLED/$i ] || continue
    1.18 +		grep -q ^$PACKAGE$ $ROOT$INSTALLED/$i && continue
    1.19 +		echo "$PACKAGE" >> $ROOT$INSTALLED/$i/modifiers
    1.20 +	done
    1.21  	# Make the installed package data dir to store
    1.22  	# the receipt and the files list.
    1.23  	mkdir -p $ROOT$INSTALLED/$PACKAGE
    1.24 @@ -657,6 +664,13 @@
    1.25  		echo ""
    1.26  		echo -e "\033[1mRepacking :\033[0m $PACKAGE-$VERSION.tazpkg"
    1.27  		echo "================================================================================"
    1.28 +		if [ -s $INSTALLED/$PACKAGE/modifiers ]; then
    1.29 +			echo "Can't repack, $PACKAGE files have been modified by:"
    1.30 +			for i in $(cat $INSTALLED/$PACKAGE/modifiers); do
    1.31 +				echo "  $i"
    1.32 +			done
    1.33 +			exit 1
    1.34 +		fi
    1.35  		MISSING=""
    1.36  		for i in $(sed 's,^fs,,g' < $INSTALLED/$PACKAGE/files.list); do
    1.37  			[ -e "$i" ] && continue