#!/bin/sh

# (C) Copyright 2002-2005 Hewlett-Packard Development Company, L.P.

DetermineFilePath() {
        RC_DIR=/etc/init.d
	DIST_DIR=/usr/src/redhat
        if [ -d /usr/src/packages ]; then
                DIST_DIR=/usr/src/packages
        fi
}

CreateTarBall() {
	rm -rf $STAGEDIR
	mkdir -p $STAGEDIR
	cp -af /opt/hp/hp-OpenIPMI ${STAGEDIR}/.
	mkdir -p $STAGEDIR/hp-OpenIPMI/usr/share/man/man4
	cp -af /usr/share/man/man4/hp-OpenIPMI.4.gz $STAGEDIR/hp-OpenIPMI/usr/share/man/man4/.
	pushd $STAGEDIR/hp-OpenIPMI/usr/share/man/man4
	gunzip hp-OpenIPMI.4.gz
	mkdir -p $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI
	cp /opt/hp/hp-OpenIPMI/hp-OpenIPMI $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI
	cp /opt/hp/hp-OpenIPMI/check_install_kernel.sh $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI/check_install_kernel.sh
	cp /opt/hp/hp-OpenIPMI/rebuild $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI/rebuild
	cp /opt/hp/hp-OpenIPMI/COPYING $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI/COPYING
	cp /opt/hp/hp-OpenIPMI/hp-OpenIPMI.license $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI/hp-OpenIPMI.license
	cp /opt/hp/hp-OpenIPMI/IPMI.txt $STAGEDIR/hp-OpenIPMI/opt/hp/hp-OpenIPMI/IPMI.txt
	popd

	pushd $DIST_DIR/SOURCES
	cp /opt/hp/hp-OpenIPMI/*.xpm .
	popd

	pushd $STAGEDIR
	tar cvfz $DIST_DIR/SOURCES/hp-OpenIPMI.tar.gz hp-OpenIPMI >/dev/null 2>&1
	rm -rf $STAGEDIR/hp-OpenIPMI
	popd
} 

CreateSpecFile() {
	pushd /opt/hp/hp-OpenIPMI
	FLAG="custom"
	OLD_PASS=`egrep "^Release" $SPECFILE |cut -d: -f 2 |awk '{print $1}' |cut -d. -f 1 |awk '{print $1}'`
	NEW_PASS=`expr ${OLD_PASS} + 1`.$FLAG
	sed -e "s/\(Release[ \t]*:[ \t]*\)${OLD_PASS}/\1${NEW_PASS}/" < $SPECFILE> $DIST_DIR/SPECS/$SPECFILE 
	popd
}

echo "Setting up hp-OpenIPMI sources for custom RPM"

DetermineFilePath

SPECFILE=hp-OpenIPMI.spec
STAGEDIR=$DIST_DIR/SOURCES/
RPMTOOL=`which rpmbuild`
if [ $? -ne 0 ]; then
	RPMTOOL=rpm
fi

CreateSpecFile 
CreateTarBall

#build it
$RPMTOOL -ba $DIST_DIR/SPECS/$SPECFILE

RPMPROC=`rpm -q --specfile $DIST_DIR/SPECS/$SPECFILE --queryformat "%{ARCH}\n" | head -n1`

FULL_PASS=`egrep "^Release" $DIST_DIR/SPECS/$SPECFILE |cut -d: -f 2 |awk '{print $1}'`
RPMFILE=`ls -1t $DIST_DIR/RPMS/$RPMPROC/hp-OpenIPMI-*-${FULL_PASS}.$RPMPROC.rpm | grep -v debuginfo | head -n 1`
if [ ! -z "$RPMFILE" ]; then
	echo "Custom RPM(s) available: $RPMFILE"
else
	echo "RPM build with $DIST_DIR/SPECS/$SPECFILE failed!"
	exit 1
fi
exit 0
