# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils MYP=${P/kolabd/kolabd-gentoo} DESCRIPTION="The kolab server" HOMEPAGE="http://www.kolab.org" SRC_URI="http://www.gunnarwrobel.de/downloads/${MYP}.tar.bz2" SLOT="0" LICENSE="GPL-2" KEYWORDS="~x86" IUSE="" DEPEND="" RDEPEND="=net-www/mod_auth_ldap-2.4.2-r2 =dev-perl/perl-kolab-0.9.2 dev-perl/Net-Netmask dev-perl/URI dev-perl/perl-ldap dev-perl/TermReadKey net-ftp/proftpd =net-mail/cyrus-imapd-2.2.12-r3 >=mail-filter/amavisd-new-2.3.0 >=app-antivirus/clamav-0.85.1 =net-nds/openldap-2.2.23-r1 !>net-nds/openldap-2.2.23-r1 >=mail-mta/postfix-2.2.2-r1 =net-www/apache-1* !=net-www/apache-2*" S=${WORKDIR} src_unpack() { unpack ${A} && cd "${S}" rm Makefile ## Patching the code for gentoo cd kolabd epatch ${FILESDIR}/kolabd-bootstrap-1.15-gentoo.patch epatch ${FILESDIR}/kolabd-cascript-1.1.1.1-gentoo.patch epatch ${FILESDIR}/kolabd-quotawarn-1.3-gentoo.patch epatch ${FILESDIR}/kolabd-sslcert-1.1.1.1-gentoo.patch epatch ${FILESDIR}/kolabd-workaround-1.1.1.1-gentoo.patch epatch ${FILESDIR}/kolabd-passwd-1.7-gentoo.patch epatch ${FILESDIR}/kolabd-kolabd-1.2-gentoo.patch epatch ${FILESDIR}/kolabd-kolabconf-1.2-gentoo.patch cd templates epatch ${FILESDIR}/template-amavisd.conf-1.6-gentoo.patch epatch ${FILESDIR}/template-clamd.conf-1.2-gentoo.patch epatch ${FILESDIR}/template-cyrus.conf-1.1.1.1-gentoo.patch epatch ${FILESDIR}/template-freshclam.conf-1.2-gentoo.patch epatch ${FILESDIR}/template-httpd.conf-1.6-gentoo.patch epatch ${FILESDIR}/template-imapd.conf-1.4-gentoo.patch epatch ${FILESDIR}/template-main.cf-1.15-gentoo.patch epatch ${FILESDIR}/template-master.cf-1.11-gentoo.patch epatch ${FILESDIR}/template-php.ini-1.4-gentoo.patch epatch ${FILESDIR}/template-proftpd.conf-1.1.1.1-gentoo.patch epatch ${FILESDIR}/template-resmgr.conf-1.7-gentoo.patch epatch ${FILESDIR}/template-slapd.conf-1.11-gentoo.patch cp ${FILESDIR}/confd-* . cd .. } src_install() { cd ${S}/kolabd ############################################################# # Create the special kolab users and their groups # The kolab groups will have the same name as the kolab users local musr="kolab" local rusr="kolab-r" local nusr="kolab-n" local kolabusers="${musr}:kolab-management-account ${rusr}:kolab-restricted-account ${nusr}:kolab-non-priviledged-account" for user in ${kolabusers} do enewgroup ${user/:*/} enewuser ${user/:*/} -1 /bin/bash / kolab "-cadded by portage for kolab [${user/*:/}]" done local muid=`id ${musr} -u` local ruid=`id ${rusr} -u` local nuid=`id ${nusr} -u` local mgid=`id ${musr} -g` local rgid=`id ${rusr} -g` local ngid=`id ${nusr} -g` ############################################################# # Fix the scripts for cfile in "* templates/*" do sed -i -e "s/@l_prefix@//g" ${cfile} sed -i -e "s/@l_musr@/${musr}/g" ${cfile} sed -i -e "s/@l_rusr@/${rusr}/g" ${cfile} sed -i -e "s/@l_nusr@/${nusr}/g" ${cfile} sed -i -e "s/@l_muid@/${muid}/g" ${cfile} sed -i -e "s/@l_ruid@/${ruid}/g" ${cfile} sed -i -e "s/@l_nuid@/${nuid}/g" ${cfile} sed -i -e "s/@l_mgrp@/${musr}/g" ${cfile} sed -i -e "s/@l_rgrp@/${rusr}/g" ${cfile} sed -i -e "s/@l_ngrp@/${nusr}/g" ${cfile} sed -i -e "s/@l_mgid@/${mgid}/g" ${cfile} sed -i -e "s/@l_rgid@/${rgid}/g" ${cfile} sed -i -e "s/@l_ngid@/${ngid}/g" ${cfile} done ############################################################# # Create necessary directories local kolabdirs="/etc/kolab /etc/kolab/templates /var/lib/kolab /var/lib/kolab/log /var/lib/kolab/http_sessions /var/www/kolab/cgi-bin /var/www/kolab/locks /var/www/kolab/htdocs" for kdir in ${kolabdirs} do dodir ${kdir} fowners kolab:kolab ${kdir} done ############################################################# # Configuration in /etc/kolab # Scripts first insinto /etc/kolab local kolabetcscripts="kolab_bootstrap kolab_ca.sh kolabquotawarn kolab_smtpdpolicy kolab_sslcert.sh workaround.sh" insopts --mode=0755 --owner=kolab --group=kolab doins ${kolabetcscripts} ## FIXME: Do I need this? insopts --mode=0600 --owner=kolab --group=kolab doins kolab.conf insopts --mode=0644 --owner=kolab --group=kolab doins kolab.globals rootDSE.ldif insopts --mode=0644 --owner=kolab-n --group=kolab-n doins quotawarning.txt insinto /etc/kolab/templates insopts --mode=0644 --owner=kolab-n --group=kolab-n doins templates/*.template insinto /etc/init.d insopts --mode=0755 --owner=root --group=root doins ${FILESDIR}/kolabd ############################################################# # Configuration outside of /etc/kolab insopts --mode=0444 insinto /etc/openldap/schema doins rfc2739.schema kolab2.schema insopts --mode=0644 insinto /etc/amavisd/templates doins amavisd/* ############################################################# # Executables ## FIXME: namespace/kolab? needed? dobin kolabpasswd dosbin kolabd kolabconf kolabcheckperm ############################################################# # Documentation dodoc ChangeLog doc/README.* ############################################################# # Replacement for the actions of the kolabd_bootstrap script } pkg_postinst() { ## FIXME einfo "gpasswd -a ldap kolab-r" }