#!/bin/sh -x

# 3/3/03 - Now Runs on bawb as cltbld
# 5/1/03 - Now Runs on branch as cltbld
# 2003/02/24 - Now runs on egg as cltbld
# 2005/08/24 - Modified to take a branch argument (chase)
# 2006-06-27 - Modified to use hostname -f (dbaron)

BRANCH="HEAD"
if [ "x$1" != "x" ]; then
    BRANCH=$1
fi

# Autoconf ***must*** be 2.13.
AC="/usr/bin/autoconf-2.13"
CVS="/usr/bin/cvs"
CVSROOT='cltbld@cvs.mozilla.org:/cvsroot'
CVS_RSH=ssh
PATH="/usr/bin:/bin:/usr/local/bin:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/usr/etc:/usr/ucb"
TDIR="/tmp/c-s.$$"
HOST=`/bin/hostname -f`

export CVSROOT CVS_RSH PATH

rm -rf ${TDIR}
mkdir ${TDIR}
cd ${TDIR}

use_tmpdir() 
{
    if [ "$BRANCH" = "HEAD" ]; then
        ${CVS} -q checkout mozilla/configure.in mozilla/configure mozilla/build/autoconf mozilla/aclocal.m4
    else
        ${CVS} -q checkout -r $BRANCH mozilla/configure.in mozilla/configure mozilla/build/autoconf mozilla/aclocal.m4
    fi
    
    CO_STATUS=$?
    if [ $CO_STATUS != 0 ]
    then
        echo "ERROR cvs checkout exited with a non-zero exit code: $CO_STATUS"
        return $CO_STATUS
    fi
    
    cd mozilla
    ${AC} -l build/autoconf
    AC_STATUS=$?
    if [ $AC_STATUS != 0 ]
    then
        echo "ERROR autoconf exited with a non-zero exit code: $AC_STATUS"
        return $AC_STATUS
    fi
    
    ${CVS} diff configure >/dev/null 2>&1
    DIFF_STATUS=$?
    if [ $DIFF_STATUS == 1 ]
    then
        ${CVS} commit -m"Automated update from host $HOST" configure
        CI_STATUS=$?
        if [ $CI_STATUS != 0 ]
        then
            echo "ERROR cvs commit exited with exit code: $CI_STATUS"
            return $CI_STATUS
        fi
    elif [ $DIFF_STATUS == 0 ]
    then
        return 0
    else 
        echo "ERROR cvs diff exited with exit code: $DIFF_STATUS"
        return $DIFF_STATUS
    fi
}

use_tmpdir
result=$?
rm -rf ${TDIR}
exit $result
