#!/bin/bash # mk_svn_tar # Generic tool for making tarballs from svn # Run this script in SOURCES # $ ./mk_svn_tar <projectname> <url> <tar_compression> [-m|-a] # Options: # -m runs "make -f Makefile.cvs" or "make -f Makefile.svn" # -a runs ./autogen.sh # Examples :- # $ ./mk_svn_tar libgig https://svn.linuxsampler.org/svn/libgig/trunk tar.bz2 -m # $ ./mk_svn_tar liblscp https://svn.linuxsampler.org/svn/liblscp/trunk tar.bz2 # $ ./mk_svn_tar vice https://vice-emu.svn.sourceforge.net/svnroot/vice-emu/tags/v2.4/v2.4/vice tar.gz -a # $ ./mk_svn_tar linuxsampler https://svn.linuxsampler.org/svn/linuxsampler/trunk tar.xz name=$1 url=$2 tartype=$3 [[ -d SVN ]] || mkdir SVN cd SVN if [[ -d $name ]]; then cd $name svn up cd .. else svn co $url $name fi cd .. rm -rf $name && cp -rf SVN/$name/ . cd $name rev=$(svnversion) [[ $4 = -m ]] && [[ -f Makefile.cvs ]] && make -f Makefile.cvs [[ $4 = -m ]] && [[ -f Makefile.svn ]] && make -f Makefile.svn [[ $4 = -a ]] && ./autogen.sh cd .. # Create tarball case $tartype in tar.gz) opt=z ;; tar.bz2) opt=j ;; tar.xz) opt=J ;; tar) opt= ;; *) echo "Unsupported compression type" exit 1 esac echo "Please wait creating tarball..." [[ -f $name-$rev.$tartype ]] && rm $name-$rev.$tartype tar -c"$opt"f $name-$rev.$tartype $name/ --exclude-vcs [[ $? = 0 ]] && chmod 644 $name-$rev.$tartype && \ echo "Written $name-$rev.$tartype"