tazpkg rev 114

improve EXTRAVERSION support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 02 19:38:46 2008 +0000 (2008-07-02)
parents a9bee8467895
children 9e6adc3b16a1
files tazpkg
line diff
     1.1 --- a/tazpkg	Wed Jul 02 12:45:17 2008 +0000
     1.2 +++ b/tazpkg	Wed Jul 02 19:38:46 2008 +0000
     1.3 @@ -172,6 +172,7 @@
     1.4  # Get package name in a directory
     1.5  package_fullname_in_dir()
     1.6  {
     1.7 +	EXTRAVERSION=""
     1.8  	. $1/receipt
     1.9  	echo $PACKAGE-$VERSION$EXTRAVERSION
    1.10  }
    1.11 @@ -265,6 +266,7 @@
    1.12  	cd $TMP_DIR
    1.13  	extract_package
    1.14  	SELF_INSTALL=0
    1.15 +	EXTRAVERSION=""
    1.16  	# Include temporary receipt to get the right variables.
    1.17  	. $PWD/receipt
    1.18  	if [ $SELF_INSTALL -ne 0 -a -n "$ROOT" ]; then
    1.19 @@ -311,7 +313,7 @@
    1.20  	fi
    1.21  	cd $TOP_DIR
    1.22  	echo "================================================================================"
    1.23 -	echo "$PACKAGE ($VERSION) is installed."
    1.24 +	echo "$PACKAGE ($VERSION$EXTRAVERSION) is installed."
    1.25  	echo ""
    1.26  }
    1.27  
    1.28 @@ -424,7 +426,7 @@
    1.29  	cat >> $XHTML_LIST << _EOT_
    1.30  <h3>$PACKAGE</h3>
    1.31  <pre>
    1.32 -Version    : $VERSION
    1.33 +Version    : $VERSION$EXTRAVERSION
    1.34  Short desc : $SHORT_DESC
    1.35  Web site   : <a href="$WEB_SITE">$WEB_SITE</a>
    1.36  </pre>
    1.37 @@ -456,9 +458,10 @@
    1.38  	list=`ls -1 $INSTALLED | grep -i "$PATTERN"`
    1.39  	for pkg in $list
    1.40  	do
    1.41 +		EXTRAVERSION=""
    1.42  		. $INSTALLED/$pkg/receipt
    1.43  		echo -n "$PACKAGE "
    1.44 -		echo -en "\033[24G $VERSION"
    1.45 +		echo -en "\033[24G $VERSION$EXTRAVERSION"
    1.46  		echo -e "\033[42G $CATEGORY"
    1.47  		packages=$(($packages+1))
    1.48  	done
    1.49 @@ -533,10 +536,11 @@
    1.50  		zcat $FLAVOR.flavor | cpio -i 2>/dev/null
    1.51  		while read file; do
    1.52  			for pkg in $(ls -d $INSTALLED/${file%%-*}*); do
    1.53 +				EXTRAVERSION=""
    1.54  				. $pkg/receipt
    1.55 -				[ "$PACKAGE-$VERSION" = "$file" ] && break
    1.56 +				[ "$PACKAGE-$VERSION$EXTRAVERSION" = "$file" ] && break
    1.57  			done
    1.58 -			[ "$PACKAGE-$VERSION" = "$file" ] && continue
    1.59 +			[ "$PACKAGE-$VERSION$EXTRAVERSION" = "$file" ] && continue
    1.60  			cd $CACHE_DIR
    1.61  			download $file.tazpkg
    1.62  			cd $TMP_DIR
    1.63 @@ -549,8 +553,9 @@
    1.64  		done < $FLAVOR.nonfree
    1.65  		[ "$ARG" == "--purge" ] && for pkg in $(ls $INSTALLED); do
    1.66  			[ -d $INSTALLED/$pkg ] || continue
    1.67 +			EXTRAVERSION=""
    1.68  			. $INSTALLED/$pkg/receipt
    1.69 -			grep -q ^$PACKAGE-$VERSION$ $FLAVOR.pkglist && continue
    1.70 +			grep -q ^$PACKAGE-$VERSION$EXTRAVERSION$ $FLAVOR.pkglist && continue
    1.71  			grep -qs ^$PACKAGE$ $FLAVOR.nonfree && continue
    1.72  			tazpkg remove $PACKAGE
    1.73  		done
    1.74 @@ -607,10 +612,11 @@
    1.75  			echo "================================================================================"
    1.76  			for pkg in $INSTALLED/*
    1.77  			do
    1.78 +				EXTRAVERSION=""
    1.79  				. $pkg/receipt
    1.80  				if [ "$CATEGORY" == "$ASKED_CATEGORY" ]; then
    1.81  					echo -n "$PACKAGE"
    1.82 -					echo -e "\033[24G $VERSION"
    1.83 +					echo -e "\033[24G $VERSION$EXTRAVERSION"
    1.84  					packages=$(($packages+1))
    1.85  				fi
    1.86  			done
    1.87 @@ -624,9 +630,10 @@
    1.88  			echo "================================================================================"
    1.89  			for pkg in $INSTALLED/*
    1.90  			do
    1.91 +				EXTRAVERSION=""
    1.92  				. $pkg/receipt
    1.93  				echo -n "$PACKAGE"
    1.94 -				echo -en "\033[24G $VERSION"
    1.95 +				echo -en "\033[24G $VERSION$EXTRAVERSION"
    1.96  				echo -e "\033[42G $CATEGORY"
    1.97  				packages=$(($packages+1))
    1.98  			done
    1.99 @@ -653,6 +660,7 @@
   1.100  		echo -n "Creating packages informations..."
   1.101  		for pkg in $INSTALLED/*
   1.102  		do
   1.103 +			EXTRAVERSION=""
   1.104  			. $pkg/receipt
   1.105  			xhtml_pkg_info
   1.106  			packages=$(($packages+1))
   1.107 @@ -721,12 +729,13 @@
   1.108  		#
   1.109  		check_for_package_on_cmdline
   1.110  		check_for_receipt
   1.111 +		EXTRAVERSION=""
   1.112  		. $INSTALLED/$PACKAGE/receipt
   1.113  		echo ""
   1.114  		echo -e "\033[1mTazpkg informations\033[0m
   1.115  ================================================================================
   1.116  Package    : $PACKAGE
   1.117 -Version    : $VERSION
   1.118 +Version    : $VERSION$EXTRAVERSION
   1.119  Category   : $CATEGORY
   1.120  Short desc : $SHORT_DESC
   1.121  Maintainer : $MAINTAINER"
   1.122 @@ -949,6 +958,7 @@
   1.123  				*\ $THE_PACKAGE\ *) ALTERED="$ALTERED $i";;
   1.124  				esac
   1.125  			done
   1.126 +			EXTRAVERSION=""
   1.127  			. $INSTALLED/$THE_PACKAGE/receipt
   1.128  		fi
   1.129  		echo ""
   1.130 @@ -958,7 +968,7 @@
   1.131  				echo "  $i"
   1.132  			done
   1.133  		fi
   1.134 -		echo "Remove $PACKAGE ($VERSION) ?"
   1.135 +		echo "Remove $PACKAGE ($VERSION$EXTRAVERSION) ?"
   1.136  		echo -n "Please confirm uninstallation (y/N) : "; read anser
   1.137  		if [ "$anser" = "y" ]; then
   1.138  			echo ""
   1.139 @@ -1029,9 +1039,10 @@
   1.140  		#
   1.141  		check_for_package_on_cmdline
   1.142  		check_for_receipt
   1.143 -		eval $(grep ^VERSION= $INSTALLED/$PACKAGE/receipt)
   1.144 +		EXTRAVERSION=""
   1.145 +		. $INSTALLED/$PACKAGE/receipt
   1.146  		echo ""
   1.147 -		echo -e "\033[1mRepacking :\033[0m $PACKAGE-$VERSION.tazpkg"
   1.148 +		echo -e "\033[1mRepacking :\033[0m $PACKAGE-$VERSION$EXTRAVERSION.tazpkg"
   1.149  		echo "================================================================================"
   1.150  		if grep -qs ^NO_REPACK= $INSTALLED/$PACKAGE/receipt; then
   1.151  			echo "Can't repack $PACKAGE"
   1.152 @@ -1079,11 +1090,11 @@
   1.153  		fi
   1.154  		find fs | cpio -o -H newc 2> /dev/null | gzip -9 > fs.cpio.gz
   1.155  		echo -e "$FILES" | cpio -o -H newc 2> /dev/null > \
   1.156 -			$TOP_DIR/$PACKAGE-$VERSION.tazpkg
   1.157 +			$TOP_DIR/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg
   1.158  		cd $TOP_DIR
   1.159  		\rm -R $TMP_DIR
   1.160  		echo "Package $PACKAGE repacked successfully."
   1.161 -		echo "Size : `du -sh $PACKAGE-$VERSION.tazpkg`"
   1.162 +		echo "Size : `du -sh $PACKAGE-$VERSION$EXTRAVERSION.tazpkg`"
   1.163  		echo ""
   1.164  		;;
   1.165  	pack)
   1.166 @@ -1178,6 +1189,7 @@
   1.167  		FIRST_CLASS=""
   1.168  		for pkg in $INSTALLED/*
   1.169  		do
   1.170 +			EXTRAVERSION=""
   1.171  			. $pkg/receipt
   1.172  			# Diplay package name to show that Tazpkg is working...
   1.173  			echo -en "\\033[0G                                         "
   1.174 @@ -1196,7 +1208,7 @@
   1.175  					NEW_VERSION=`echo $NEW_PACKAGE | sed s/$PACKAGE-/''/`
   1.176  					# Change '-' and 'pre' to points.
   1.177  					NEW_VERSION=`echo $NEW_VERSION | sed s/'-'/'.'/`
   1.178 -					VERSION=`echo $VERSION | sed s/'-'/'.'/`
   1.179 +					VERSION=`echo $VERSION | sed s/'-'/'.'/`$EXTRAVERSION
   1.180  					NEW_VERSION=`echo $NEW_VERSION | sed s/'pre'/'.'/`
   1.181  					VERSION=`echo $VERSION | sed s/'pre'/'.'/`
   1.182  					NEW_VERSION=`echo $NEW_VERSION | sed 's/[A-Z]\.//'`
   1.183 @@ -1292,14 +1304,15 @@
   1.184  		cd $INSTALLED
   1.185  		for PACKAGE in `ls`; do
   1.186  			DEPENDS=""
   1.187 +			EXTRAVERSION=""
   1.188  			. $PACKAGE/receipt
   1.189  			if [ -s $PACKAGE/modifiers ]; then
   1.190 -				echo "The package $PACKAGE $VERSION has been modified by :"
   1.191 +				echo "The package $PACKAGE $VERSION$EXTRAVERSION has been modified by :"
   1.192  				for i in $(cat $PACKAGE/modifiers); do
   1.193  					echo "  $i"
   1.194  				done
   1.195  			fi
   1.196 -			MSG="Files lost from $PACKAGE $VERSION :\n"
   1.197 +			MSG="Files lost from $PACKAGE $VERSION$EXTRAVERSION :\n"
   1.198  			while read file; do
   1.199  				[ -e "$file" ] && continue
   1.200  				if [ -L "$file" ]; then
   1.201 @@ -1308,7 +1321,7 @@
   1.202  				echo -e "$MSG  $file"
   1.203  				MSG=""
   1.204  			done < $PACKAGE/files.list
   1.205 -			MSG="Missing dependencies for $PACKAGE $VERSION :\n"
   1.206 +			MSG="Missing dependencies for $PACKAGE $VERSION$EXTRAVERSION :\n"
   1.207  			for i in $DEPENDS; do
   1.208  				[ -d $i ] && continue
   1.209  				echo -e "$MSG  $i"