# HG changeset patch # User Christophe Lincoln # Date 1305131389 -7200 # Node ID 112dbe0ed058d99627b11754ec3282461d449f8f # Parent c1f276ae5c0bc2a5fb8449f87e3496f93b4adae0 Handle CVS url diff -r c1f276ae5c0b -r 112dbe0ed058 cook --- a/cook Wed May 11 14:57:24 2011 +0200 +++ b/cook Wed May 11 18:29:49 2011 +0200 @@ -171,9 +171,18 @@ _pkg=$install } +# Create source tarball when URL is a SCM. +create_tarball() { + gettext "Creating tarball: "; echo "$tarball" + tar cjf $tarball $pkgsrc || exit 1 + mv $tarball $SRC && rm -rf $pkgsrc +} + # Get package source. get_source() { pwd=$(pwd) + pkgsrc=${SOURCE:-$PACKAGE}-$VERSION + tarball=$pkgsrc.tar.bz2 case "$WGET_URL" in http://*|https://*|ftp://*) # Busybox Wget is better! @@ -186,28 +195,30 @@ else url=${WGET_URL#mercurial|} fi - pkgsrc=${SOURCE:-$PACKAGE}-$VERSION - tarball=$pkgsrc.tar.bz2 gettext -e "Getting source from Hg...\n" echo "URL: $url" gettext "Cloning to: "; echo "$pwd/$pkgsrc" hg clone $url $pkgsrc || (echo "ERROR: hg clone $url" && exit 1) - gettext "Creating tarball: "; echo "$tarball" - tar cjf $tarball $pkgsrc || exit 1 - mv $tarball $SRC && rm -rf $pkgsrc ;; + create_tarball ;; git*) url=${WGET_URL#git|} - pkgsrc=${SOURCE:-$PACKAGE}-$VERSION - tarball=$pkgsrc.tar.bz2 gettext -e "Getting source from Git...\n" echo "URL: $url" git clone $url $pkgsrc || (echo "ERROR: git clone $url" && exit 1) if [ "$BRANCH" ]; then cd $pkgsrc && git checkout $BRANCH && cd .. fi - gettext "Creating tarball: "; echo "$tarball" - tar cjf $tarball $pkgsrc || exit 1 - mv $tarball $SRC && rm -rf $pkgsrc ;; + create_tarball ;; + cvs*) + url=${WGET_URL#cvs|} + mod=$PACKAGE + [ "$CVS_MODULE" ] && mod=$CVS_MODULE + gettext -e "Getting source from CVS...\n" + echo "URL: $url" + echo "CVS module: $mod" + gettext "Cloning to: "; echo "$pwd/$mod" + cvs -d:$url co $mod && mv $mod $pkgsrc + create_tarball ;; svn*|subversion*) echo "TODO: svn implementation in cook" && exit 1 ;; *)