#!/bin/sh
#------------------------------------------------------------------------------
# <package>/_ADMIN/_do_<package> - make script - will be processed before
#                                  package generation.
#
# Copyright (c) 2001-2023  The Eisfair Team, team(at)eisfair(dot)org
#
# Creation:    2006-09-24 jed
# Last Update: $Id$
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#------------------------------------------------------------------------------

# set -x
myecho ()
{
    if [ "`hostname`" = "farragut" ]
    then
        echo $@
    fi
}

pgmname=$0
packname=ldapclient
packdir=`dirname ${pgmname}`
currdir=`pwd`
basename ${pgmname} | grep -q 'eis64+'
if [ $? -eq 0 ]
then
    arch='eis64'
else
    arch='eis1'
fi
myecho "ARCH:${arch}"

myecho "${packname} custom build script"

if [ `echo "${currdir}" | grep -q "_ADMIN$"; echo $?` -eq 0 ]
then
    # directory ends on '_ADMIN'
    cd ${packdir}/..
else
    cd ${packdir}
fi

# get absolute path to package directory
# e.g. /svn/eis-trunk/mail/antispam/_ADMIN
abs_packdir=`pwd`

# copy jedlib file to include directory
jedlib_file=../../../contrib/jed-eislib/var/install/include/jedlib
dest_file1=../common/var/install/include/jedlib
dest_file2=/var/install/include/jedlib

if [ -f ${jedlib_file} ]
then
    # source file exists
    if [ -f ${dest_file1}.${packname} ]
    then
        # distination file exists - check versions
        srcver=`/bin/bash ${jedlib_file} version`
        destver=`/bin/bash ${dest_file1}.${packname} version`

        if [ -n "${destver}" ]
        then
            # version number exists - compare version numbers
            if [ `echo "${srcver} > ${destver}" | bc` -eq 1 ]
            then
                # update file
                myecho "${jedlib_file} -> ${dest_file1}.${packname}"
                cp ${jedlib_file} ${dest_file1}.${packname}
            fi
        else
            # no version number exists - update file
            myecho "${jedlib_file} -> ${dest_file1}.${packname}"
            cp ${jedlib_file} ${dest_file1}.${packname}
        fi
    else
        # file doesn't exist - update file
        myecho "${jedlib_file} -> ${dest_file1}.${packname}"
        cp ${jedlib_file} ${dest_file1}.${packname}
    fi

    if [ -d `dirname ${dest_file2}` ]
    then
        if [ -f ${dest_file2} ]
        then
            # distination file exists - check versions
            srcver=`/bin/bash ${jedlib_file} version`
            destver=`/bin/bash ${dest_file2} version`

            if [ -n "${destver}" ]
            then
                # version number exists - compare version numbers
                if [ `echo "${srcver} > ${destver}" | bc` -eq 1 ]
                then
                    # update file
                    myecho "${jedlib_file} -> ${dest_file2}"
                    cp ${jedlib_file} ${dest_file2}
                fi
            else
                # no version number exists - update file
                myecho "${jedlib_file} -> ${dest_file2}"
                cp ${jedlib_file} ${dest_file2}
            fi
        else
            # file doesn't exist - update file
            myecho "${jedlib_file} -> ${dest_file2}"
            cp ${jedlib_file} ${dest_file2}
        fi
    fi
fi

# update base package requirement in preinstall.sh
cd ${abs_packdir}

#for PNAME in base libldap
for PNAME in libldap
do
    preinst_file=../common/tmp/preinstall.sh
    pack_file=../${arch}/var/install/packages/${packname}

    old_version=`sed -n "/^${PNAME}_version=/s/^${PNAME}_version=.\([0-9.]*\).*$/\1/p" ${preinst_file}`
    new_version=`sed -n "/<require-package>${PNAME}/s/<require-package>${PNAME} *\([0-9.]*\).*/\1/p" ${pack_file}`

    if [ -z "${new_version}" ]
    then
        new_version=`sed -n "/<require-package>${PNAME}/s/<require-package>${PNAME} *\([0-9.]*\).*/\1/p" ${pack_file}`
    fi

    if [ -n "${new_version}" ]
    then
        if [ "${old_version}" != "${new_version}" ]
        then
            # replace version number
            sed -i "/^${PNAME}_version=/s/^${PNAME}_version=.*$/${PNAME}_version='${new_version}'/" ${preinst_file}
        fi
    else
        myecho "ERROR: no package '${PNAME}' found in ${pack_file}!"
        exit 1
    fi
done

cd ${currdir}
# set +x