diff options
Diffstat (limited to 'mkrelease')
-rwxr-xr-x | mkrelease | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/mkrelease b/mkrelease new file mode 100755 index 0000000..84eec7c --- /dev/null +++ b/mkrelease @@ -0,0 +1,62 @@ +#!/bin/bash + +proj="baselayout-vserver" +svnroot="http://dev.croup.de/repos/gentoo-vps/${proj}" +ver=${1:-1.13.0} + +usage() { + echo "Usage: mkrelease" +} + +die() { + echo $1 + exit ${2:-1} +} + +if [[ $1 != "-f" ]] ; then + echo "Performing sanity checks (run with -f to skip) ..." + + # Check that we're updated + svnfiles="$( svn status 2>&1 | egrep -v '^(U|P)' )" + if [[ -n ${svnfiles} ]] ; then + echo "Refusing to package tarball until svn is in sync:" + echo "$svnfiles" + exit 1 + fi +fi + +echo "Creating release tag... " + +svn copy ${svnroot}/trunk ${svnroot}/tags/release-${ver} \ + -m "Tagging the ${ver} release of the ${proj} project" &>/dev/null || die "svn copy failed" + + +echo "Make dist tarball..." + +dest=dist/${proj}-${ver} + +mkdir -p ${dest} &>/dev/null + +for x in bin etc init.d sbin src rc-lists man; do + svn export $x ${dest}/${x} +done + +mkdir -p ${dest}/lib/rcscripts +svn export --force net-scripts/init.d ${dest}/init.d +svn export net-scripts/net.modules.d ${dest}/lib/rcscripts/net.modules.d +svn export --force net-scripts/conf.d ${dest}/etc/conf.d + +svn export ChangeLog ${dest}/ChangeLog +svn export ChangeLog.vserver ${dest}/ChangeLog.vserver + +pushd dist/ &>/dev/null || die "pushd failed" + +tar cjf ${proj}-${ver}.tar.bz2 ${proj}-${ver} || die "tar failed" + +for i in *.tar*; do + md5sum $i > $i.md5 +done + +echo "Tarball ist at `pwd`" + +popd &>/dev/null || die "popd failed" |