#!/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=jdk
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package-$NAME
VERSION=6u4
DVERSION=1.6.0_04
ARCH=${ARCH:-i586}
BUILD=1LOL

if [ ! -f $CWD/${NAME}-${VERSION}-linux-${ARCH}.bin ]; then
	echo "There should be a file called ${NAME}-${VERSION}-linux-${ARCH}.bin here"
	echo "Please dowload it from http://java.sun.com/javase/downloads/ or edit Slackbuild variables"
	exit 1
fi

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
cd $PKG
mkdir -p usr/lib
cd usr/lib
sh $CWD/${NAME}-${VERSION}-linux-${ARCH}.bin || exit 1

mkdir -p $PKG/etc/profile.d
cat << EOF > $PKG/etc/profile.d/$NAME.sh
#!/bin/sh
export JAVA_HOME=/usr/lib/java
export MANPATH="\${MANPATH}:\${JAVA_HOME}/man"
export PATH="\${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin:\${JAVA_HOME}/db/bin"
EOF
cat << EOF > $PKG/etc/profile.d/$NAME.csh
#!/bin/csh
setenv JAVA_HOME /usr/lib/java
setenv MANPATH \${MANPATH}:\${JAVA_HOME}/man
setenv PATH \${PATH}:\${JAVA_HOME}/bin:\${JAVA_HOME}/jre/bin:\${JAVA_HOME}/db/bin
EOF
chmod 755 $PKG/etc/profile.d/*

( cd $PKG/usr/lib
  ln -sf ${NAME}${DVERSION} java
)

mv $PKG/usr/lib/java/include $PKG/usr/

mkdir -p $PKG/usr/lib/mozilla/plugins
( cd $PKG/usr/lib/mozilla/plugins
  ln -sf $PKG/usr/lib/java/jre/plugin/i386/ns7/libjavaplugin_oji.so
)

mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a $PKG/usr/lib/java/{COPYRIGHT,THIRDPARTYLICENSEREADME.txt,\
LICENSE,README_ja.html,README.html,README_zh_CN.html} $PKG/usr/doc/$NAME-$VERSION

mkdir -p $PKG/install
cat << EOF > $PKG/install/slack-desc
$NAME: Java(TM) 2 Platform Standard Edition Development Kit,
$NAME: Version $VERSION.
$NAME: 
$NAME: The Java SE Development Kit (JDK) includes the 
$NAME: Java Runtime Environment (JRE) and command-line development 
$NAME: tools that are useful for developing applets and applications.
$NAME: 
$NAME: 
$NAME: Sun Microsystems web page:   http://java.sun.com/
EOF
touch $PKG/install/doinst.sh
cp $PKG/install/slack-desc $PKG/usr/doc/$NAME-$VERSION/slack-desc
cp $CWD/$0 $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild

#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
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
	if [ $UID -ne 0 ]; then
		echo -n "Cleanup: re-enter root "
		su -c "rm -rf $PKG"
	else
		rm -rf $PKG
	fi
fi
exit 0