## ## kolab.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2003 The OpenPKG Project ## Copyright (c) 2000-2003 Ralf S. Engelschall ## Copyright (c) 2000-2003 Cable & Wireless ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS 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. ## # FIXME, issues, suggestions, hints, porting # based on work from Erfrakon, # Martin Konold # Tassilo Erlewein # is with_mod_php_pear really needed in the apache module # kolab should provide a tarball # PreReqs need to be checked # rename @@@kolab_prefix@@@ to ... # kolab_bootstrap should either ensure dib is empty or should check if dib is already set up # remove "unlink" fsl stuff from kolab_bootstrap # replace "killall ... slapd" by "@l_prefix@/etc/rc openldap stop", make failing test connection to be sure it is down # rework service stop/start in kolab_bootstrap to use rc # revamp template config stuff to modify openpkg config by patching, search'n'replace, add/mod/del openpkg config etc. # remove -f from hostname call in kolab and kolab_bootstrap # correct libexec/slapd path # verify semantic behind "chown root.root" in kolab # add handling of rc.conf for openldap_url and sasl_authmech # package version %define V_major 1.0 %define V_minor 14 # package information Name: kolab Summary: Kolab Groupware Server URL: http://www.kolab.org/ Vendor: Erfrakon Packager: The OpenPKG Project Distribution: OpenPKG [EVAL] Group: KDE License: GPL Version: %{V_major}.%{V_minor} Release: 20031120 # list of sources Source0: http://www.erfrakon.de/projects/kolab/download/kolab-server-1.0/src/kolab-%{V_major}-%{version}.src.rpm Source1: rc.kolab # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20030103 PreReq: OpenPKG, openpkg >= 20030103, openldap, postfix, imapd, sasl, apache, proftpd, perl, perl-ldap AutoReq: no AutoReqProv: no %description Kolab is the KDE Groupware Server that provides full groupware features to either KDE kolab clients or Microsoft Outlook[tm] clients with the Bynari Insight Connector http://www.bynari.net. In addition it is a robust and flexible general IMAP mail server with LDAP addressbook and nice web GUI. %prep %setup -q -c -T echo %{SOURCE0}; pwd rpm2cpio <%{SOURCE0} | cpio -iv kolab-%{V_major}.tar.gz %{l_gzip} -c -d kolab-%{V_major}.tar.gz | %{l_tar} xf - %{l_shtool} subst \ -e 's;@@@kolab_prefix@@@;@l_prefix@;g' \ -e 's;@@@l_\([mnrs]\)usr@@@;@l_\1usr@;g' \ -e 's;@@@l_\([mnrs]\)grp@@@;@l_\1grp@;g' \ -e 's;@@@l_\([mnrs]\)uid@@@;@l_\1uid@;g' \ -e 's;@@@l_\([mnrs]\)gid@@@;@l_\1gid@;g' \ kolab_sslcert.sh kolab kolab_bootstrap *.template %{l_shtool} subst \ -e 's;libexec/slapd;libexec/openldap/slapd;' \ -e 's;etc/rc.d/rc.kolab start;etc/rc all start;' \ kolab_bootstrap %{l_shtool} subst \ -e 's;hostname -f;hostname;' \ kolab kolab_bootstrap %{l_shtool} subst \ -e 's;chown root.root;chown @l_susr@:@l_sgrp@;' \ kolab %{l_shtool} subst \ -e 's:print " running:my $cfg; open(FH, "<@l_prefix@/etc/rc.conf") || die; $cfg .= $_ while (); close(FH); $cfg =~ s/\\n((openldap_url|sasl_authmech)\\S*=[^\\n]*)/#\\1\\n/sg; $cfg .= "openldap_url=\\"\\"\\nsasl_authmech=\\"ldap\\"\\n"; open(FH, ">@l_prefix@/etc/rc.conf") || die; print FH $cfg; close(FH); undef $cfg; print " running:' \ kolab_bootstrap %build %install rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/kolab \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/log \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/cgi-bin \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/icons %{l_shtool} mkdir -p -m 777 \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/admin \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/freebusy \ $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/locks %{l_shtool} install -c -m 744 %{l_value -s -a} \ kolab_sslcert.sh kolab kolab_bootstrap workaround.sh \ $RPM_BUILD_ROOT%{l_prefix}/etc/kolab/ %{l_shtool} install -c -m 644 %{l_value -s -a} \ kolab.conf kolab.schema *.template \ $RPM_BUILD_ROOT%{l_prefix}/etc/kolab/ cp -r admin/* $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/admin/ # install run-command script %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.kolab} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # generate file list %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ '%config %{l_prefix}/etc/kolab/*.pem' \ '%config %{l_prefix}/etc/kolab/*.schema' \ '%config %{l_prefix}/etc/kolab/kolab.conf' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post echo "please run '$RPM_INSTALL_PREFIX/etc/kolab/kolab_bootstrap -b'"