#!/bin/bash

# will generate libjss.deb, ldapsdk.deb and console debs

source ../config
SCRIPTDIR=`pwd`
find $SCRIPTDIR -type d -name CVS |xargs rm -rf
find $SCRIPTDIR -name *\~ |xargs rm -rf

if [ -z $1 ]; then
	BUILDDIR=/tmp/fdsbuildscripts/console
else
	BUILDDIR=$1
fi

apt-get install -y --force-yes dh-make alien

ANT=/usr/bin/ant
JSS=$BUILDDIR/jss
LDAPSDK=/$BUILDDIR/ldapsdk
IDM_FRAMEWORK=$BUILDDIR/idm_framework
IDM_CONSOLE=$BUILDDIR/idm_console
DS_CONSOLE=$BUILDDIR/ds_console
DS_ADMIN_CONSOLE=$BUILDDIR/ds_admin_console

[ ! -d $DEBS ] && mkdir -p $DEBS
[ ! -d $TARBALLS ] && mkdir -p $TARBALLS
[ ! -d $BUILDDIR ] && mkdir -p $BUILDDIR
[ ! -d $FDSDIR ] && mkdir -p $FDSDIR
[ ! -d $JSS ] && mkdir -p $JSS
[ ! -d $LDAPSDK ] && mkdir -p $LDAPSDK
[ ! -d $IDM_FRAMEWORK ] && mkdir -p $IDM_FRAMEWORK
[ ! -d $IDM_CONSOLE ] && mkdir -p $IDM_CONSOLE
[ ! -d $DS_CONSOLE ] && mkdir -p $DS_CONSOLE
[ ! -d $DS_ADMIN_CONSOLE ] && mkdir -p $DS_ADMIN_CONSOLE


# 
# # set JSS VERSION
# VERSION=4.2.5
# JSSJAR=ftp://ftp.mozilla.org/pub/mozilla.org/security/jss/releases/JSS_4_2_5_RTM/jss4.jar
# XPCLASSJAR=ftp://ftp.mozilla.org/pub/mozilla.org/security/jss/releases/JSS_4_2_5_RTM/xpclass.jar
# JSSSO=ftp://ftp.mozilla.org/pub/mozilla.org/security/jss/releases/JSS_4_2_5_RTM/Linux2.6_x86_glibc_PTH_OPT.OBJ/lib/libjss4.so
# 
# # JSSJAR=http://192.168.0.239/jss4.jar
# # XPCLASSJAR=http://192.168.0.239/xpclass.jar
# # JSSSO=http://192.168.0.239/libjss4.so
# 
# # create jss file system
# mkdir -p $JSS/usr/share/java
# mkdir -p $JSS/usr/lib
# # get the 3 files
# wget $JSSJAR -O $JSS/usr/share/java/jss4.jar
# wget $XPCLASSJAR -O $JSS/usr/share/java/xpclass.jar
# wget $JSSSO -O $JSS/usr/lib/libjss4.so
# 
# # copy over DEBIAN control files
# cp -R $SCRIPTDIR/jss/DEBIAN $JSS
# sed -i s/VERSION/${VERSION}/ $JSS/DEBIAN/control
# sed -i s/MAINTAINER/${MAINTAINER}/ $JSS/DEBIAN/control
# dpkg-deb -b $JSS $DEBS/libjss-$VERSION.deb
#  
# # create ldapsdk,  just use alien to convert the package
# LDAPURL=http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/ldapsdk-4.17-3jpp.noarch.rpm
# #LDAPURL=http://192.16.240.12/fds/ldapsdk-4.17-3jpp.noarch.rpm
# wget $LDAPURL -O $LDAPSDK/ldapsdk-4.17-3jpp.noarch.rpm
# cd $LDAPSDK
# /usr/bin/alien -dc ldapsdk-4.17-3jpp.noarch.rpm
# mkdir -p $LDAPSDK/pkg/DEBIAN
# dpkg-deb -e $LDAPSDK/ldapsdk_4.17-4_all.deb $LDAPSDK/pkg/DEBIAN/
# dpkg-deb -x $LDAPSDK/ldapsdk_4.17-4_all.deb $LDAPSDK/pkg/
# cd $LDAPSDK/pkg/usr/share/java/
# ln -s ldapsdk-4.17.jar ldapjdk.jar
# dpkg-deb -b $LDAPSDK/pkg $DEBS/ldapsdk_4.17-4_all.deb
# rm -rf $LDAPSDK/ldapsdk_4.17-4_all.deb


##################
#### build idm-console-framework
##################


case $DEBVER in

    etch)
	BUILDDEPS="build-essential ant sun-java5-jdk bzip2"
	PKGDEPS="java-virtual-machine | java2-runtime, libjss, ldapsdk"
	;;
 
    lenny)
	#LENNY
	BUILDDEPS="build-essential ant sun-java5-jdk bzip2"
	PKGDEPS="java-virtual-machine | java2-runtime, libjss, ldapsdk"
	;;
    *)
	echo "You have entered a bad debian version. ->$DEBVER<-.  Quitting.";
	exit 1

esac




# start building the idm-framework
VERSION=1.1.3
WORKROOT=$IDM_FRAMEWORK/idm-console-framework-$VERSION
cd $SCRIPTDIR

# grab tarball
[ ! -e $TARBALLS/idm-console-framework-$VERSION.tar.bz2 ] && wget $SERVER/$DIRECTORY/idm-console-framework-$VERSION.tar.bz2 -O $TARBALLS/idm-console-framework-$VERSION.tar.bz2

echo "jxvf $TARBALLS/idm-console-framework-$VERSION.tar.bz2 -C $IDM_FRAMEWORK"
tar jxvf $TARBALLS/idm-console-framework-$VERSION.tar.bz2 -C $IDM_FRAMEWORK

if [ ! -z $NOAPT ]; then
	apt-get install -y --force-yes $BUILDDEPS
	echo "open another terminal and install libjss.deb ldapsdk.deb and press ENTER to continute."
	echo "It's likely in $DEBS if you're building all the components"
	read

else
	apt-get install -y --force-yes $BUILDDEPS libjss ldapsdk
fi

mkdir -p $IDM_FRAMEWORK/pkg/usr/share/java/
mkdir -p $IDM_FRAMEWORK/built
cd $WORKROOT
$ANT	-Dbuilt.dir=$IDM_FRAMEWORK/built/ \
	-Dldapjdk.local.location=/usr/share/java/ \
	-Djss.local.location=/usr/share/java/ 
#ant -Dbuilt.dir=$IDM_FRAMEWORK/built/ javadoc 
cp $IDM_FRAMEWORK/built/release/jars/* $IDM_FRAMEWORK/pkg/usr/share/java/
cd $IDM_FRAMEWORK/pkg/usr/share/java/
ln -s idm-console-nmclf-${VERSION}_en.jar idm-console-nmclf_en.jar
ln -s idm-console-nmclf-${VERSION}_en.jar idm-console-nmclf-1.1_en.jar
ln -s idm-console-nmclf-${VERSION}.jar idm-console-nmclf.jar
ln -s idm-console-nmclf-${VERSION}.jar idm-console-nmclf-1.1.jar
ln -s idm-console-mcc-${VERSION}_en.jar idm-console-mcc_en.jar
ln -s idm-console-mcc-${VERSION}_en.jar idm-console-mcc-1.1_en.jar
ln -s idm-console-mcc-${VERSION}.jar idm-console-mcc.jar
ln -s idm-console-mcc-${VERSION}.jar idm-console-mcc-1.1.jar
ln -s idm-console-base-${VERSION}.jar idm-console-base.jar
ln -s idm-console-base-${VERSION}.jar idm-console-base-1.1.jar

cp -R $SCRIPTDIR/idm_framework/DEBIAN $IDM_FRAMEWORK/pkg
sed -i "s/VERSION/${VERSION}/g" $IDM_FRAMEWORK/pkg/DEBIAN/control
sed -i "s/MAINTAINER/${MAINTAINER}/g" $IDM_FRAMEWORK/pkg/DEBIAN/control
sed -i "s/PKGDEPS/${PKGDEPS}/g" $IDM_FRAMEWORK/pkg/DEBIAN/control
sed -i "s/SOURCE/${SOURCE}/g" $IDM_FRAMEWORK/pkg//DEBIAN/control
cd $IDM_FRAMEWORK/pkg
SIZE=`du -c|tail -n1|cut -f1`
sed -i "s/SIZE/${SIZE}/" $IDM_FRAMEWORK/pkg/DEBIAN/control



dpkg-deb -b $IDM_FRAMEWORK/pkg $DEBS/idm-console-framework-$DEBVER-${VERSION}.deb



##################
#### build fedora-idm-console
##################
case $DEBVER in

    etch)
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="java-virtual-machine | java2-runtime, libjss, ldapsdk"
	;;
 
    lenny)
	#LENNY
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="java-virtual-machine | java2-runtime, libjss, ldapsdk"
	;;
    *)
	echo "You have entered a bad debian version. ->$DEBVER<-.  Quitting.";
	exit 1

esac

VERSION=1.1.3
WORKROOT=$IDM_CONSOLE/fedora-idm-console-$VERSION




# grab tarball
[ ! -e $TARBALLS/fedora-idm-console-$VERSION.tar.bz2 ] && wget $SERVER/$DIRECTORY/fedora-idm-console-$VERSION.tar.bz2 -O $TARBALLS/fedora-idm-console-$VERSION.tar.bz2

tar jxvf $TARBALLS/fedora-idm-console-$VERSION.tar.bz2 -C $IDM_CONSOLE

if [ ! -z $NOAPT ]; then
	apt-get install -y --force-yes $BUILDDEPS
	echo "open another terminal and install idm-console-framework libjss.deb ldapsdk.deb and press ENTER to continute."
	echo "It's likely in $DEBS if you're building all the components"
	read

else
	apt-get install -y --force-yes $BUILDDEPS idm-console-framework libjss ldapsdk
fi


mkdir -p $IDM_CONSOLE/pkg/usr/share/java/
mkdir -p $IDM_CONSOLE/pkg/usr/bin/
mkdir -p $IDM_CONSOLE/built
cd $WORKROOT

$ANT 	-Dbuilt.dir=$IDM_CONSOLE/built/ \
	-Dlib.dir=/usr/lib/ \
	-Dclassdest=/usr/share/java/ \
	-Dldapjdk.local.location=/usr/share/java/ \
	-Djss.local.location=/usr/share/java/  

cp $IDM_CONSOLE/built/fedora-idm-console $IDM_CONSOLE/pkg/usr/bin/
chmod 755 $IDM_CONSOLE/pkg/usr/bin/fedora-idm-console
cp $IDM_CONSOLE/built/fedora-idm-console-${VERSION}_en.jar $IDM_CONSOLE/pkg/usr/share/java/
cd $IDM_CONSOLE/pkg/usr/share/java/
ln -s fedora-idm-console-${VERSION}_en.jar fedora-idm-console_en.jar
ln -s fedora-idm-console-${VERSION}_en.jar fedora-idm-console-1.1_en.jar

cp -R $SCRIPTDIR/idm_console/DEBIAN $IDM_CONSOLE/pkg
sed -i "s/VERSION/${VERSION}/g" $IDM_CONSOLE/pkg/DEBIAN/control
sed -i "s/MAINTAINER/${MAINTAINER}/g" $IDM_CONSOLE/pkg/DEBIAN/control
sed -i "s/PKGDEPS/${PKGDEPS}/g" $IDM_CONSOLE/pkg/DEBIAN/control
sed -i "s/SOURCE/${SOURCE}/g" $IDM_CONSOLE/pkg/DEBIAN/control
cd $IDM_CONSOLE/pkg
SIZE=`du -c|tail -n1|cut -f1`
sed -i "s/SIZE/${SIZE}/" $IDM_CONSOLE/pkg/DEBIAN/control

dpkg-deb -b $IDM_CONSOLE/pkg $DEBS/fedora-idm-console-$DEBVER-${VERSION}.deb




##################
#### build fedora-ds-console
##################
case $DEBVER in

    etch)
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="libjss, ldapsdk, fedora-ds-admin"
	export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
	;;
 
    lenny)
	#LENNY
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="libjss, ldapsdk, fedora-ds-admin"
	;;
    *)
	echo "You have entered a bad debian version. ->$DEBVER<-.  Quitting.";
	exit 1

esac

VERSION=1.2.0
WORKROOT=$DS_CONSOLE/fedora-ds-console-$VERSION

# grab tarball
[ ! -e $TARBALLS/fedora-ds-console-$VERSION.tar.bz2 ] && wget $SERVER/$DIRECTORY/fedora-ds-console-$VERSION.tar.bz2  -O $TARBALLS/fedora-ds-console-$VERSION.tar.bz2

tar jxvf $TARBALLS/fedora-ds-console-$VERSION.tar.bz2 -C $DS_CONSOLE

if [ ! -z $NOAPT ]; then
	apt-get install -y --force-yes $BUILDDEPS
	echo "open another terminal and install fedora-idm-console idm-console-framework libjss.deb ldapsdk.deb and press ENTER to continute."
	echo "It's likely in $DEBS if you're building all the components"
	read

else
	apt-get install -y --force-yes $BUILDDEPS fedora-idm-console idm-console-framework libjss ldapsdk
fi

mkdir -p $DS_CONSOLE/pkg/usr/share/dirsrv/html/java/
mkdir -p $DS_CONSOLE/pkg/usr/share/dirsrv/manual/en/slapd	
mkdir -p $DS_CONSOLE/built

cd $WORKROOT

$ANT	-Dbuilt.dir=$DS_CONSOLE/built \
	-Dconsole.location=/usr/share/java/ \
	-Dldapjdk.location=/usr/share/java/

cd $DS_CONSOLE

cp $DS_CONSOLE/built/package/* $DS_CONSOLE/pkg/usr/share/dirsrv/html/java/
cp -R $WORKROOT/help/en/* $DS_CONSOLE/pkg/usr/share/dirsrv/manual/en/slapd/
cd $DS_CONSOLE/pkg/usr/share/dirsrv/html/java/

ln -s fedora-ds-${VERSION}.jar fedora-ds-1.1.jar
ln -s fedora-ds-${VERSION}.jar fedora-ds.jar
ln -s fedora-ds-${VERSION}_en.jar fedora-ds-1.1_en.jar
ln -s fedora-ds-${VERSION}_en.jar fedora-ds_en.jar


cp -R $SCRIPTDIR/ds_console/DEBIAN $DS_CONSOLE/pkg/
sed -i "s/VERSION/${VERSION}/g" $DS_CONSOLE/pkg/DEBIAN/control
sed -i "s/MAINTAINER/${MAINTAINER}/g" $DS_CONSOLE/pkg/DEBIAN/control
sed -i "s/PKGDEPS/${PKGDEPS}/g" $DS_CONSOLE/pkg/DEBIAN/control
sed -i "s/SOURCE/${SOURCE}/g" $DS_CONSOLE/pkg/DEBIAN/control
cd $DS_CONSOLE/pkg
SIZE=`du -c|tail -n1|cut -f1`
sed -i "s/SIZE/${SIZE}/" $DS_CONSOLE/pkg/DEBIAN/control

# make debian package.
dpkg-deb -b $DS_CONSOLE/pkg $DEBS/fedora-ds-console-$DEBVER-${VERSION}.deb



##################
#### build fedora-ds-admin-console
##################
case $DEBVER in

    etch)
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="libjss, ldapsdk, fedora-ds-admin"
	export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
	;;
 
    lenny)
	#LENNY
	BUILDDEPS="build-essential ant sun-java5-jdk"
	PKGDEPS="libjss, ldapsdk, fedora-ds-admin"
	;;
    *)
	echo "You have entered a bad debian version. ->$DEBVER<-.  Quitting.";
	exit 1

esac


VERSION=1.1.3
WORKROOT=$DS_ADMIN_CONSOLE/fedora-ds-admin-console-$VERSION

[ ! -e $TARBALLS/fedora-ds-admin-console-$VERSION.tar.bz2 ] && wget $SERVER/$DIRECTORY/fedora-ds-admin-console-$VERSION.tar.bz2  -O $TARBALLS/fedora-ds-admin-console-$VERSION.tar.bz2

tar jxvf $TARBALLS/fedora-ds-admin-console-$VERSION.tar.bz2 -C $DS_ADMIN_CONSOLE

if [ ! -z $NOAPT ]; then
	apt-get install -y --force-yes $BUILDDEPS
	echo "open another terminal and install fedora-idm-console idm-console-framework libjss.deb ldapsdk.deb and press ENTER to continute."
	echo "It's likely in $DEBS if you're building all the components"
	read

else
	apt-get install -y --force-yes $BUILDDEPS fedora-idm-console idm-console-framework libjss ldapsdk
fi

mkdir -p $DS_ADMIN_CONSOLE/pkg/usr/share/dirsrv/html/java/
mkdir -p $DS_ADMIN_CONSOLE/pkg/usr/share/dirsrv/manual/en/admin
mkdir -p $DS_ADMIN_CONSOLE/built

cd $WORKROOT

$ANT	-Dbuilt.dir=$DS_ADMIN_CONSOLE/built \
	-Dconsole.location=/usr/share/java/ \
	-Dldapjdk.location=/usr/share/java/

cd $DS_ADMIN_CONSOLE

cp $DS_ADMIN_CONSOLE/built/package/* $DS_ADMIN_CONSOLE/pkg/usr/share/dirsrv/html/java/
cp -R $WORKROOT/help/en/* $DS_ADMIN_CONSOLE/pkg/usr/share/dirsrv/manual/en/admin/
cd $DS_ADMIN_CONSOLE/pkg/usr/share/dirsrv/html/java/

ln -s fedora-admin-${VERSION}.jar fedora-admin-1.1.jar
ln -s fedora-admin-${VERSION}.jar fedora-admin.jar
ln -s fedora-admin-${VERSION}_en.jar fedora-admin-1.1_en.jar
ln -s fedora-admin-${VERSION}_en.jar fedora-admin_en.jar



cp -R $SCRIPTDIR/ds_admin_console/DEBIAN $DS_ADMIN_CONSOLE/pkg/
sed -i "s/VERSION/${VERSION}/g" $DS_ADMIN_CONSOLE/pkg/DEBIAN/control
sed -i "s/MAINTAINER/${MAINTAINER}/g" $DS_ADMIN_CONSOLE/pkg/DEBIAN/control
sed -i "s/PKGDEPS/${PKGDEPS}/g" $DS_ADMIN_CONSOLE/pkg/DEBIAN/control
sed -i "s/SOURCE/${SOURCE}/g" $DS_ADMIN_CONSOLE/pkg/DEBIAN/control
cd $DS_ADMIN_CONSOLE/pkg
SIZE=`du -c|tail -n1|cut -f1`
sed -i "s/SIZE/${SIZE}/" $DS_ADMIN_CONSOLE/pkg/DEBIAN/control


# put it back together
dpkg-deb -b $DS_ADMIN_CONSOLE/pkg $DEBS/fedora-ds-admin-console-$DEBVER-${VERSION}.deb


