tazwok rev 74

do tazwok cmp EXTRAVERSION proof
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jul 03 14:55:09 2008 +0000 (2008-07-03)
parents b82d34244ec4
children 30f4d731f3e9
files tazwok
line diff
     1.1 --- a/tazwok	Wed Jul 02 21:28:00 2008 +0000
     1.2 +++ b/tazwok	Thu Jul 03 14:55:09 2008 +0000
     1.3 @@ -394,6 +394,7 @@
     1.4  	check_root
     1.5  	check_for_package_on_cmdline
     1.6  	check_for_receipt
     1.7 +	EXTRAVERSION=""
     1.8  	. $RECEIPT
     1.9  	check_for_wanted
    1.10  	cd $WOK/$PACKAGE
    1.11 @@ -581,25 +582,29 @@
    1.12  ================================================================================"
    1.13  		for pkg in $WOK/*
    1.14  		do
    1.15 -			EXTRAVERSION=""
    1.16  			. $pkg/receipt
    1.17 -			echo "$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" >> /tmp/wok.list
    1.18 -			if [ ! -f $PACKAGES_REPOSITORY/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg ]; then
    1.19 -				echo "Missing package: $PACKAGE ($VERSION$EXTRAVERSION)"
    1.20 +			echo "$PACKAGE-$VERSION.tazpkg" >> /tmp/wok.list
    1.21 +			if [ -z "$(ls $PACKAGES_REPOSITORY/$PACKAGE-$VERSION*.tazpkg 2>-)" ]; then
    1.22 +				echo "Missing package: $PACKAGE ($VERSION)"
    1.23  				echo "$PACKAGE" >> /tmp/pkgs.missing
    1.24  			fi
    1.25  		done
    1.26  		for pkg in `cd $PACKAGES_REPOSITORY && ls *.tazpkg`
    1.27  		do
    1.28 -			if ! grep -q ^$pkg /tmp/wok.list; then
    1.29 -				echo $pkg >> /tmp/pkgs.old
    1.30 -				if [ "$2" = "--remove" ]; then
    1.31 -					echo "Removing package: $pkg"
    1.32 -					rm $PACKAGES_REPOSITORY/$pkg
    1.33 -				else
    1.34 -					echo "Old package:     $pkg"
    1.35 -				fi	
    1.36 -			fi
    1.37 +			# grep $pkg in /tmp/wok.list, may include EXTRAVERSION
    1.38 +			for i in $(grep ^${pkg%_*}.*tazpkg /tmp/wok.list); do
    1.39 +				case "$pkg" in
    1.40 +				^${i%.tazpkg}*.tazpkg) continue 2;;
    1.41 +				esac
    1.42 +			done
    1.43 +			# not found
    1.44 +			echo $pkg >> /tmp/pkgs.old
    1.45 +			if [ "$2" = "--remove" ]; then
    1.46 +				echo "Removing package: $pkg"
    1.47 +				rm $PACKAGES_REPOSITORY/$pkg
    1.48 +			else
    1.49 +				echo "Old package:     $pkg"
    1.50 +			fi	
    1.51  		done
    1.52  		cd /tmp
    1.53  		echo "================================================================================"