#!/bin/sh

#
#  This file is part of Bakefile (http://www.bakefile.org) and can be
#  used to create the Debian package. Please update debian/changelog before
#  running it and ensure that the working copy is not modified.
#
#  Copyright (C) 2006 Vadim Zeitlin
#
#  Permission is hereby granted, free of charge, to any person obtaining a copy
#  of this software and associated documentation files (the "Software"), to
#  deal in the Software without restriction, including without limitation the
#  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
#  sell copies of the Software, and to permit persons to whom the Software is
#  furnished to do so, subject to the following conditions:
#
#  The above copyright notice and this permission notice shall be included in
#  all copies or substantial portions of the Software.
#
#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
#  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
#  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
#  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
#  IN THE SOFTWARE.
#
#  $Id: bakefile.py 906 2006-08-10 08:11:52Z vaclavslavik $
#

case `pwd` in
    */bakefile)
        ;;

    *)
        echo "Please run this script from bakefile root directory."
        exit 1
        ;;
esac

eval `grep '^BAKEFILE_VERSION =' src/bakefile.py | tr -d ' '`
if [ -z "$BAKEFILE_VERSION" ]; then
    echo "Couldn't get BAKEFILE_VERSION."
    exit 1
fi

REVISION=`svnversion`
echo $REVISION | grep -q '[^0-9]'
if [ $? == 0 ]; then
    echo "Current source tree is modified or not up to date."
    exit 2
fi

FULL_VERSION="$BAKEFILE_VERSION.$REVISION"

cd ..
mv bakefile bakefile-$FULL_VERSION
cd bakefile-$FULL_VERSION

dpkg-buildpackage -rfakeroot

cd ..
mv bakefile-$FULL_VERSION bakefile
cd bakefile

exit 0
