cookutils rev 467 slitaz-tank

cook: Update get_source function. Add PATCH variable support.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu Jun 07 19:39:56 2012 +0000 (2012-06-07)
parents 438265947b38
children 5ed0cfc943a6
files cook
line diff
     1.1 --- a/cook	Thu Jun 07 19:20:10 2012 +0000
     1.2 +++ b/cook	Thu Jun 07 19:39:56 2012 +0000
     1.3 @@ -143,6 +143,7 @@
     1.4  	stuff=$pkgdir/stuff
     1.5  	install=$pkgdir/install
     1.6  	pkgsrc="${SOURCE:-$PACKAGE}-${KBASEVER:-$VERSION}"
     1.7 +	lzma_tarball="$pkgsrc.tar.lzma"
     1.8  	if [ "$PATCH" ]; then
     1.9  		[ "${PTARBALL}" ] || PTARBALL="$(basename $PATCH)"
    1.10  	fi
    1.11 @@ -192,74 +193,78 @@
    1.12  # tarball here.
    1.13  get_source() {
    1.14  	pwd=$(pwd)
    1.15 -	pkgsrc=${SOURCE:-$PACKAGE}-$VERSION
    1.16 -	tarball=$pkgsrc.tar.bz2
    1.17 -	[ "$LZMA_SRC" ] && tarball=$pkgsrc.tar.lzma
    1.18 -	case "$WGET_URL" in
    1.19 -		http://*|ftp://*)
    1.20 -			# Busybox Wget is better!
    1.21 -			busybox wget -T 60 -c -O $SRC/$TARBALL $WGET_URL || \
    1.22 -				(echo -e "ERROR: wget $WGET_URL" && exit 1) ;;
    1.23 -		https://*)
    1.24 -			wget -c --no-check-certificate -O $SRC/$TARBALL $WGET_URL || \
    1.25 -				(echo -e "ERROR: wget $WGET_URL" && exit 1) ;;
    1.26 -		hg*|mercurial*)
    1.27 -			if $(echo "$WGET_URL" | fgrep -q "hg|"); then
    1.28 -				url=${WGET_URL#hg|}
    1.29 -			else
    1.30 -				url=${WGET_URL#mercurial|}
    1.31 -			fi
    1.32 -			gettext -e "Getting source from Hg...\n"
    1.33 -			echo "URL: $url"
    1.34 -			gettext "Cloning to: "; echo "$pwd/$pkgsrc"
    1.35 -			if [ "$BRANCH" ]; then
    1.36 -				echo "Hg branch: $BRANCH"
    1.37 -				hg clone $url --rev $BRANCH $pkgsrc || \
    1.38 -					(echo "ERROR: hg clone $url --rev $BRANCH" && exit 1)
    1.39 -			else
    1.40 -				hg clone $url $pkgsrc || (echo "ERROR: hg clone $url" && exit 1)
    1.41 -			fi
    1.42 -			rm -rf $pkgsrc/.hg
    1.43 -			create_tarball ;;
    1.44 -		git*)
    1.45 -			url=${WGET_URL#git|}
    1.46 -			gettext -e "Getting source from Git...\n"
    1.47 -			echo "URL: $url"
    1.48 -			git clone $url $pkgsrc || (echo "ERROR: git clone $url" && exit 1)
    1.49 -			if [ "$BRANCH" ]; then
    1.50 -				echo "Git branch: $BRANCH"
    1.51 -				cd $pkgsrc && git checkout $BRANCH && cd ..
    1.52 -			fi
    1.53 -			create_tarball ;;
    1.54 -		cvs*)
    1.55 -			url=${WGET_URL#cvs|}
    1.56 -			mod=$PACKAGE
    1.57 -			[ "$CVS_MODULE" ] && mod=$CVS_MODULE
    1.58 -			gettext -e "Getting source from CVS...\n"
    1.59 -			echo "URL: $url"
    1.60 -			[ "$CVS_MODULE" ] && echo "CVS module: $mod"
    1.61 -			gettext "Cloning to: "; echo "$pwd/$mod"
    1.62 -			cvs -d:$url co $mod && mv $mod $pkgsrc
    1.63 -			create_tarball ;;
    1.64 -		svn*|subversion*)
    1.65 -			if $(echo "$WGET_URL" | fgrep -q "svn|"); then
    1.66 -				url=${WGET_URL#svn|}
    1.67 -			else
    1.68 -				url=${WGET_URL#subversion|}
    1.69 -			fi
    1.70 -			gettext -e "Getting source from SVN...\n"
    1.71 -			echo "URL: $url"
    1.72 -			if [ "$BRANCH" ]; then
    1.73 -				echo t | svn co $url -r $BRANCH $pkgsrc
    1.74 -			else
    1.75 -				echo t | svn co $url $pkgsrc
    1.76 -			fi
    1.77 -			create_tarball ;;
    1.78 -		*)
    1.79 -			gettext -e "\nERROR: Unable to handle:"; echo -e " $WGET_URL \n" | \
    1.80 -				tee -a $LOGS/$PACKAGE.log
    1.81 -			exit 1 ;;
    1.82 -	esac
    1.83 +	for file in $@; do
    1.84 +		gettext "Getting source from url:"; echo " ${file#*|}"
    1.85 +		if [ "$file" = "$PATCH" -o "$file" = "$orig_url_patch" ]; then
    1.86 +			SAVE_FILE="$SRC/$PTARBALL"
    1.87 +		else
    1.88 +			SAVE_FILE="$SRC/$TARBALL"
    1.89 +		fi
    1.90 +		case "$file" in
    1.91 +			http://*|ftp://*)
    1.92 +				# Busybox Wget is better!
    1.93 +				busybox wget $WGET_OPTIONS -T $TIMEOUT -c -O $SAVE_FILE $file || \
    1.94 +					(echo -e "ERROR: wget $file" && exit 1) ;;
    1.95 +			https://*)
    1.96 +				wget $WGET_OPTIONS -T $TIMEOUT -c --no-check-certificate -O $SAVE_FILE $file || \
    1.97 +					(echo -e "ERROR: wget $file" && exit 1) ;;
    1.98 +			hg*|mercurial*)
    1.99 +				if $(echo "$file" | fgrep -q "hg|"); then
   1.100 +					url=${file#hg|}
   1.101 +				else
   1.102 +					url=${file#mercurial|}
   1.103 +				fi
   1.104 +				gettext -e "Getting source from Hg...\n"
   1.105 +				echo "URL: $url"
   1.106 +				gettext "Cloning to: "; echo "$pwd/$pkgsrc"
   1.107 +				if [ "$BRANCH" ]; then
   1.108 +					echo "Hg branch: $BRANCH"
   1.109 +					hg clone $url --rev $BRANCH $pkgsrc || \
   1.110 +						(echo "ERROR: hg clone $url --rev $BRANCH" && exit 1)
   1.111 +				else
   1.112 +					hg clone $url $pkgsrc || (echo "ERROR: hg clone $url" && exit 1)
   1.113 +				fi
   1.114 +				create_tarball ;;
   1.115 +			git*)
   1.116 +				url=${file#git|}
   1.117 +				gettext -e "Getting source from Git...\n"
   1.118 +				echo "URL: $url"
   1.119 +				git clone $url $pkgsrc || (echo "ERROR: git clone $url" && exit 1)
   1.120 +				if [ "$BRANCH" ]; then
   1.121 +					echo "Git branch: $BRANCH"
   1.122 +					cd $pkgsrc && git checkout $BRANCH && cd ..
   1.123 +				fi
   1.124 +				create_tarball ;;
   1.125 +			cvs*)
   1.126 +				url=${file#cvs|}
   1.127 +				mod=$PACKAGE
   1.128 +				[ "$CVS_MODULE" ] && mod=$CVS_MODULE
   1.129 +				gettext -e "Getting source from CVS...\n"
   1.130 +				echo "URL: $url"
   1.131 +				[ "$CVS_MODULE" ] && echo "CVS module: $mod"
   1.132 +				gettext "Cloning to: "; echo "$pwd/$mod"
   1.133 +				cvs -d:$url co $mod && mv $mod $pkgsrc
   1.134 +				create_tarball ;;
   1.135 +			svn*|subversion*)
   1.136 +				if $(echo "$WGET_URL" | fgrep -q "svn|"); then
   1.137 +					url=${file#svn|}
   1.138 +				else
   1.139 +					url=${file#subversion|}
   1.140 +				fi
   1.141 +				gettext -e "Getting source from SVN...\n"
   1.142 +				echo "URL: $url"
   1.143 +				if [ "$BRANCH" ]; then
   1.144 +					echo t | svn co $url -r $BRANCH $pkgsrc
   1.145 +				else
   1.146 +					echo t | svn co $url $pkgsrc
   1.147 +				fi
   1.148 +				create_tarball ;;
   1.149 +			*)
   1.150 +				gettext -e "\nERROR: Unable to handle:"; echo -e " $file \n" | \
   1.151 +					tee -a $LOGS/$PACKAGE.log
   1.152 +				exit 1 ;;
   1.153 +		esac
   1.154 +	done
   1.155  }
   1.156  
   1.157  # Extract source package.