#/kolab/bin/sh

PLATFORM=`/kolab/bin/openpkg rpm -q --qf="%{ARCH}-%{OS}" openpkg`

PKG_LIST="PEAR-Horde-Channel \
          apache-php-hash \
          apache-php-pdo-sqlite \
          PEAR-Console_Getopt \
          PEAR-PEAR \
          PEAR-PEAR-H4 \
          PEAR-Console_Getopt-H4 \
          PEAR-Log-H4 \
          PEAR-Auth_SASL-H4 \
          PEAR-DB-H4 \
          PEAR-Net_Socket-H4 \
          PEAR-Net_SMTP-H4 \
          PEAR-Crypt_Blowfish-H4 \
          PEAR-Date-H4 \
          PEAR-Mail-H4 \
          PEAR-PHPUnit-Channel-H4 \
          PHPUnit-H4 \
          Horde_Role \
          Horde_Test-H4 \
          Horde_Translation-H4 \
          Horde_Exception-H4 \
          Horde_Url-H4 \
          Horde_Util-H4 \
          Horde_Nls-H4 \
          Horde_Date-H4 \
          Horde_Alarm-H4 \
          Horde_Auth-H4 \
          Horde_Autoloader-H4 \
          Horde_Browser-H4 \
          Horde_Cache-H4 \
          Horde_Stream_Wrapper-H4 \
          Horde_Support-H4 \
          Horde_Cli-H4 \
          Horde_Compress-H4 \
          Horde_Constraint-H4 \
          Horde_Db-H4 \
          Horde_Editor-H4 \
          Horde_Xml_Element-H4 \
          Horde_Feed-H4 \
          Horde_Token-H4 \
          Horde_Form-H4 \
          Horde_Group-H4 \
          Horde_Http-H4 \
          Horde_Image-H4 \
          Horde_Mail-H4 \
          Horde_Stream_Filter-H4 \
          Horde_Mime-H4 \
          Horde_Imap_Client-H4 \
          Horde_Injector-H4 \
          Horde_Kolab_Server-H4 \
          Horde_Kolab_Session-H4 \
          Horde_Ldap-H4 \
          Horde_Log-H4 \
          Horde_LoginTasks-H4 \
          Horde_Text_Filter-H4 \
          Horde_Text_Flowed-H4 \
          Horde_Mime_Viewer-H4 \
          Horde_Notification-H4 \
          Horde_Perms-H4 \
          Horde_Prefs-H4 \
          Horde_Secret-H4 \
          Horde_Serialize-H4 \
          Horde_SessionHandler-H4 \
          Horde_Template-H4 \
          Horde_Tree-H4 \
          Horde_VFS-H4 \
          Horde_View-H4 \
          Horde_ActiveSync-H4 \
          Horde_Icalendar-H4 \
          Horde_Data-H4 \
          Horde_SQL-H4 \
          Horde_DataTree-H4 \
          Horde_Date_Parser-H4 \
          Horde_History-H4 \
          Horde_Kolab_Format-H4 \
          Horde_Kolab_Storage-H4 \
          Horde_Lock-H4 \
          Horde_Share-H4 \
          Horde_Text_Diff-H4 \
          Horde_Argv-H4 \
          Horde_Core-H4 \
          horde-H4 \
          imp-H4 \
          content-H4 \
          kronolith-H4"

rebuildAndInstall()
{
    SOURCE=`ls | grep "${1}-[-.0-9bdev]*\(_kolab1\)*.src.rpm"`
    if [ -z "${SOURCE}" ]; then
	echo "Source package ${1} missing!"
	exit 1
    fi
    PACKAGE=${SOURCE%.src.rpm}
    PRESENT=`/kolab/bin/openpkg rpm -q $PACKAGE`
    if [ "$PRESENT" != "$PACKAGE" ]; then
	/kolab/bin/openpkg rpm --rebuild $SOURCE || exit $?
	/kolab/bin/openpkg rpm -ihv --force /kolab/RPM/PKG/${PACKAGE}.${PLATFORM}-kolab.rpm || exit $?
    else
	echo "Skipping ${PACKAGE}: Already installed!"
    fi
}

if [ ! -e horde4 ]; then
    mkdir horde4
    cd horde4
    wget -r -l1 -nd --no-parent http://files.pardus.de/horde4-kolab_server_2.2.4-20110224
else
    cd horde4
fi

for PKG in $PKG_LIST
do
    rebuildAndInstall $PKG
done

PHP_APACHE_TEMPLATE=/kolab/etc/kolab/templates/php.ini.template
if [ -z "`grep 'extension=hash.so' ${PHP_APACHE_TEMPLATE}`" ]; then
    echo >> ${PHP_APACHE_TEMPLATE}
    echo "extension=hash.so" >> ${PHP_APACHE_TEMPLATE}
fi
if [ -z "`grep 'extension=pdo_sqlite.so' ${PHP_APACHE_TEMPLATE}`" ]; then
    echo >> ${PHP_APACHE_TEMPLATE}
    echo "extension=pdo_sqlite.so" >> ${PHP_APACHE_TEMPLATE}
fi

PHP_INI=/kolab/etc/php/php.ini
if [ -z "`grep 'extension=hash.so' ${PHP_INI}`" ]; then
    echo >> ${PHP_INI}
    echo "extension=hash.so" >> ${PHP_INI}
fi
if [ -z "`grep 'extension=pdo_sqlite.so' ${PHP_INI}`" ]; then
    echo >> ${PHP_INI}
    echo "extension=pdo_sqlite.so" >> ${PHP_INI}
fi

/kolab/bin-h4/pear config-create /kolab/lib/php-h4 /tmp/pearrc
/kolab/bin-h4/pear -c  /tmp/pearrc config-set data_dir /kolab/lib/php-h4/data
/kolab/bin/php -d safe_mode=off -d include_path="/kolab/lib/php-h4" /kolab/var/kolab/www/client4/bin/db_migrate --config=/tmp/pearrc
/kolab/bin/php -d safe_mode=off -d include_path="/kolab/lib/php-h4" /kolab/var/kolab/www/client4/bin/db_migrate --config=/tmp/pearrc
rm /tmp/pearrc
chown kolab-n\:kolab-n /kolab/var/kolab/webclient4_data/storage/horde.db

/kolab/sbin/kolabconf

