#!/bin/bash
#Copyright 2001-2002 William Stearns <wstearns@pobox.com>
#Released under the GPL.

#set -x

if [ -z "$CIPEVERSION" ]; then
	echo CIPEVERSION unset, skipping cipe.
	exit
fi

#http://sites.inka.de/sites/bigred/sw/cipe-1.3.0.tar.gz
#http://sites.inka.de/sites/bigred/devel/cipe-snapshot-20000506.tar.gz

exec 2>&1
PROJECT="cipe"
BKLIBDIR="${BKLIBDIR:-/var/lib/buildkernel}/"
THISSCRIPT="$BKLIBDIR/bkrun-$PROJECT"   #We can't use $0 as this script is sourced; $0=/usr/bin/buildkernel

if [ -f $BKLIBDIR/$PROJECT-options ]; then
	echo $PROJECT loading options
	. $BKLIBDIR/$PROJECT-options
fi
if [ -n "$TEMPCIPEVERSION" ]; then
	CIPEVERSION=$TEMPCIPEVERSION
fi
echo $PROJECT \(Version $CIPEVERSION\) $1 called from Buildkernel

CIPESOURCEDIR=${CIPESOURCEDIR:-"/usr/src/cipe-$CIPEVERSION"}
CIPETAR=${CIPETAR:-"$BKSOURCEDIR/cipe-$CIPEVERSION.tar.gz"}
CIPETESTFILE=${CIPETESTFILE:-"$CIPESOURCEDIR/COPYING"}

case $1 in
POSTLOADVARS)
	if [ -n "`cat $BKLIBDIR/${PROJECT}-options 2>/dev/null | grep '^TEMPCIPEVERSION='`" ]; then
		echo Stripping out old $PROJECT version.
		cat $BKLIBDIR/${PROJECT}-options | grep -v '^TEMPCIPEVERSION=' >$BKLIBDIR/${PROJECT}-options.temp
		cat $BKLIBDIR/${PROJECT}-options.temp >$BKLIBDIR/${PROJECT}-options
		rm -f $BKLIBDIR/${PROJECT}-options.temp
	fi
	;;
POSTGETSOURCE)
	cd $BKSOURCEDIR
	if [ "$CIPEVERSION" = "NEWESTBETA" ]; then
		echo -n 'Getting the Cipe NEWESTBETA snapshot '
		rm -f $BKSOURCEDIR/cipe.html
		bkgetfile http sites.inka.de '' '' sites/bigred/devel cipe.html
		TEMPCIPEVERSION="`cat cipe.html | grep cipe-snapshot | sed -e 's/.*cipe\-//' -e 's/\.tar\.gz.*//'`"
		echo which is version $TEMPCIPEVERSION .
		rm -f $BKSOURCEDIR/cipe-$TEMPCIPEVERSION.tar.gz
		bkgetfile http sites.inka.de '' '' sites/bigred/devel cipe-$TEMPCIPEVERSION.tar.gz
		echo >>$BKLIBDIR/${PROJECT}-options
		echo TEMPCIPEVERSION=$TEMPCIPEVERSION >>$BKLIBDIR/${PROJECT}-options
	elif [ ! -f $BKSOURCEDIR/cipe-$CIPEVERSION.tar.gz ]; then
		echo Getting Cipe version $CIPEVERSION .
		rm -f $BKSOURCEDIR/cipe-$CIPEVERSION.tar.gz
		bkgetfile http sites.inka.de '' '' sites/bigred/sw cipe-$CIPEVERSION.tar.gz
	else
		echo $BKSOURCEDIR/cipe-$CIPEVERSION.tar.gz is already here.
	fi
	;;
POSTOPENSOURCE)
	if [ ! -f "$CIPETESTFILE" ]; then	#Open up source
		if [ -f "$CIPETAR" ]; then
			mkdir --parents $CIPESOURCEDIR
			cd $CIPESOURCEDIR ; cd ..
			case $CIPETAR in
			*.tar.gz)	tar -xzvf $CIPETAR												;;
			*.tar.bz2)	cat $CIPETAR | bunzip2 - | tar -xvf -							;;
			*.tar)		tar -xvf $CIPETAR												;;
			*)			echo Don\'t know how to open $CIPETAR \! ; bkbeep ; sleep 30		;;
			esac
			if [ ! -f "$CIPETESTFILE" ]; then
				echo Still no $CIPETESTFILE after attempting to open \! ; bkbeep ; sleep 30
			fi
		else
			echo Cipe source is not yet opened and we don\'t have $CIPETAR \! ; bkbeep ; sleep 30
		fi
	fi
	;;
POSTCONFIGURE)		:		;;
POSTKERNELBUILD)	:		;;
POSTMODULEBUILD)	:		;;
POSTINSTALL)
	if [ -n "$CIPESOURCEDIR" ]; then
		cd $CIPESOURCEDIR >/dev/null
		if [ `pwd` != "$CIPESOURCEDIR" ]; then
			echo can\'t change directory, exiting
		else
			make realclean
			./configure
			make
			make install
			depmod -a
		fi
	fi
	;;
POSTCLEAN)			:		;;
''|ALL)
	. $THISSCRIPT POSTLOADVARS
	. $THISSCRIPT POSTGETSOURCE
	. $THISSCRIPT POSTOPENSOURCE
	. $THISSCRIPT POSTCONFIGURE
	. $THISSCRIPT POSTKERNELBUILD
	. $THISSCRIPT POSTMODULEBUILD
	. $THISSCRIPT POSTINSTALL
	. $THISSCRIPT POSTCLEAN
	;;
*)	echo unrecognized phase $1 ;;
esac

