#!/bin/sh
#
# @Author: S0Ck3t (Slippery @ http://www.slacky.eu)
# @Date: 15/07/2008
# @License: GPLv3 or later
#
# Heavily based on the Loris Vincenzi's Slackbuild for jre
# http://www.slacky.eu
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

CWD=`pwd`
NAME=nvclock-cvs
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package-$NAME
VERSION=0.8b3
ARCH=${ARCH:-i586}
BUILD=1s0c

if [ -d $PKG ]; then
	rm -rf $PKG &> /dev/null
	if [ $? -ne 0 ]; then
		echo "Directory $PKG is still present but should not be here, please remove it"
		exit 1
	fi
fi
mkdir -p $PKG
if [ $? -ne 0 ];
	then
		echo "Cannot create $PKG"
		exit 1
fi

echo "*** Updating cvs ***"
echo "(When prompted for password hit ENTER)"
cvs -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock login
cvs -z3 -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock co -P nvclock
cd nvclock
echo "*** Generating ./configure ***"
make distclean &> /dev/null
./autogen.sh
echo "*** Configuring ***"
./configure --prefix=$PKG || exit 1
echo "*** Making ***"
make && make install

#Slackerize installation
mkdir -p $PKG/usr/
mv $PKG/bin $PKG/usr/
mv $PKG/man $PKG/usr/

mv $PKG/share/doc $PKG/usr/
mv $PKG/usr/doc/nvclock $PKG/usr/doc/$NAME-$VERSION

mv $PKG/share/ $PKG/usr/

mkdir -p $PKG/install

if [ ! -f $CWD/slack-desk ];
	then
		cat << EOF > $PKG/install/slack-desc
     |-----handy-ruler------------------------------------------------------|
$NAME: nvclock-cvs (Nvidia Overclocker)
$NAME: Version $VERSION.
$NAME: 
$NAME: Utility used to overclock nvidia graphic cards and change
$NAME: screen brightness!
$NAME: 
$NAME: 
$NAME: 
$NAME: Packaged by S0Ck3t - Slippery @ www.slacky.eu
EOF
	else
		cp $CWD/slack-desc $PKG/install/
fi

touch $PKG/install/doinst.sh

mkdir -p $PKG/usr/src/slackbuilds/$NAME-$VERSION/
cp $CWD/$0 $PKG/usr/src/slackbuilds/$NAME-$VERSION/$NAME.SlackBuild
cp $PKG/install/slack-desc $PKG/usr/src/slackbuilds/$NAME-$VERSION/slack-desc

#change dummy permissions
( cd $PKG
find . \( -perm 777 -o -perm 775 -o -perm 711 \) -exec chmod 755 {} \;
find . \( -perm 700 -o -perm 555 -o -perm 511 \) -exec chmod 755 {} \;
find . \( -perm 666 -o -perm 664 -o -perm 600 \) -exec chmod 644 {} \;
find . \( -perm 444 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
)

cd $PKG
echo "*** Making package ***"
if [ $UID -ne 0 ]; then
	echo -n "Enter root "
	su -c "chown -R root:root $PKG && /sbin/makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz"
else
	chown -R root:root $PKG
	/sbin/makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
fi

if [ "$1" = "--cleanup" ]; then
	echo "*** Cleaning up ***"
	if [ $UID -ne 0 ]; then
		echo -n "Cleanup: re-enter root "
		su -c "rm -rf $PKG && rm -rf $CWD/nvclock"
	else
		rm -rf $PKG
		rm -rf $CWD/nvclock
	fi
fi

cd $CWD

exit 0
