#!/bin/bash -ex

dest=`pwd`
mkdir /tmp/uvrel.$$
cd /tmp/uvrel.$$

svn co http://svn.linux-vserver.org/svn/util-vserver/trunk util-vserver | tee svn.out
REV=$(tail -n 1 svn.out | sed 's/^Checked out revision \([0-9]\+\).$/\1/')
if ! echo "$REV" | grep -q '^[0-9][0-9]*$'; then
	echo "Failed to parse svn's output: $REV"
fi
rm -f svn.out

cd util-vserver
APPEND=
if ! tty &> /dev/null; then
	patch -p0
	APPEND=+local
fi

cat > svn-rel.pl <<"EOF"
#!/usr/bin/perl -w

my $configure = $ARGV[0];
my $rel = $ARGV[1];
open(IN, "<$configure") or die("open($configure): $!\n");
open(OUT, ">.${configure}.new") or die("open(.$configure.new): $!\n");
while (<IN>) {
	if (/^(AC_INIT\(util-vserver, )([0-9.-]+)(,.*)/) {
		print "Current version: $2\n";
		my @ver = split(/\./, $2);
		my $last = scalar(@ver) - 1;
		$ver[$last] = $ver[$last] + 1;
		my $newver = join(".", @ver) . "-pre$rel";
		print "New version: $newver\n";
		s/$2/$newver/;
	}
	elsif (/^AM_INIT_AUTOMAKE\(/) {
		s/(\W)gnits(\W)/$1gnu$2/;
	}
	print OUT;
}
close(IN);
close(OUT);
unlink($configure);
rename(".${configure}.new", $configure);
EOF
perl ./svn-rel.pl configure.ac $REV$APPEND
rm -f svn-rel.pl

autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make dist
mv util-vserver-*.bz2 $dest
cd $dest
rm -fr /tmp/uvrel.$$

