#!/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() {
	MANIFEST=`cat $MANIFESTFILE | egrep "^/"`
	rm -rf $STAGEDIR
	mkdir -p $STAGEDIR
	for ITEM in $MANIFEST; do 
		if [ -d $ITEM ]; then
			mkdir -p $STAGEDIR/$ITEM
	         	cp -af $ITEM/* $STAGEDIR/$ITEM/.
		else
			mkdir -p $STAGEDIR/`dirname $ITEM`
		        cp -af $ITEM $STAGEDIR/$ITEM
		fi
	done
	if [ -f /etc/hprsmrc ]; then
		mkdir -p $STAGEDIR/etc
		cp -af /etc/hprsmrc $STAGEDIR/etc
	fi
	cd $DIST_DIR/SOURCES
	tar cvfz $DIST_DIR/SOURCES/hprsm.tar.gz hprsm >/dev/null 2>&1
	rm -rf $STAGEDIR
} 

CreateSpecFile() {
	cat $SPECTEMPLATE $MANIFESTFILE > $DIST_DIR/SPECS/$SPECFILE
	if [ -f /etc/hprsmrc ]; then
		echo "/etc/hprsmrc" >> $DIST_DIR/SPECS/$SPECFILE
	fi
}

echo "Setting up hprsm sources for custom RPM"


MANIFESTFILE=/opt/compaq/hprsm/etc/hprsm-manifest.txt
SPECTEMPLATE=/opt/compaq/hprsm/etc/hprsm.txt
SPECFILE=hprsm.spec
PASS=`egrep "^Release" $SPECTEMPLATE |cut -d: -f 2 |awk '{print $1}'`

DetermineFilePath

STAGEDIR=$DIST_DIR/SOURCES/hprsm

CreateTarBall
CreateSpecFile
#build it
RPMTOOL=`which rpmbuild`
if [ $? -ne 0 ]; then
	RPMTOOL=rpm
fi
$RPMTOOL -ba $DIST_DIR/SPECS/$SPECFILE >/dev/null 2>&1

RPMFILE=`ls -1t $DIST_DIR/RPMS/i586/hprsm-*-$PASS.i586.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/hprsm.spec failed!"
	exit 1
fi
exit 0
