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.