Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117884243
pykolab.spec.in
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
12 KB
Referenced Files
None
Subscribers
None
pykolab.spec.in
View Options
%{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%global kolab_user kolab
%global kolab_user_id 412
%global kolab_group kolab
%global kolab_group_id 412
%global kolabn_user kolab-n
%global kolabn_user_id 413
%global kolabn_group kolab-n
%global kolabn_group_id 413
%global kolabr_user kolab-r
%global kolabr_user_id 414
%global kolabr_group kolab-r
%global kolabr_group_id 414
Summary: Kolab Groupware Solution
Name: pykolab
Version: @VERSION@
Release: @RELEASE@%{?dist}
License: GPLv3+
Group: Applications/System
URL: http://kolab.org/
Source0: http://files.kolab.org/releases/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
BuildRequires: gcc
BuildRequires: gettext
BuildRequires: glib2-devel
BuildRequires: intltool
BuildRequires: python
BuildRequires: python-icalendar
BuildRequires: python-kolabformat
BuildRequires: python-ldap
BuildRequires: python-nose
BuildRequires: python-pyasn1
BuildRequires: python-pyasn1-modules
BuildRequires: python-sqlalchemy
Requires: kolab-cli = %{version}-%{release}
Requires: python-ldap >= 2.4
Requires: python-pyasn1
Requires: python-pyasn1-modules
Requires: python-sqlalchemy
Requires(pre): /usr/sbin/useradd
Requires(pre): /usr/sbin/usermod
Requires(pre): /usr/sbin/groupadd
%description
Kolab enables you to easily build a groupware server as part of a
collaborative environment.
##
## Kolab Telemetry Logging
##
%package telemetry
Summary: Kolab Telemetry Logging Capabilities
Group: Applications/System
Requires: kolab-cli = %{version}-%{release}
%description telemetry
Cyrus IMAP Telemetry logging handling capabilities for Kolab Groupware
##
## Kolab XML
##
%package xml
Summary: Kolab XML format wrapper for %{name}
Group: Applications/System
Requires: %{name} = %{version}-%{release}
Requires: python-kolabformat >= 0.5
%description xml
Kolab Format XML bindings wrapper for %{name}
##
## Kolab CLI
##
%package -n kolab-cli
Summary: Kolab CLI components
Group: Applications/System
Requires: %{name} = %{version}-%{release}
Requires: python-augeas
Requires: python-cheetah
%description -n kolab-cli
Kolab CLI utilities
##
## Kolab SASL Authentication Daemon
##
%package -n kolab-saslauthd
Summary: Kolab SASL Authentication Daemon
Group: Applications/System
Requires: %{name} = %{version}-%{release}
Requires: cyrus-sasl
Requires: cyrus-sasl-plain
%description -n kolab-saslauthd
Kolab SASL Authentication Daemon for multi-domain, multi-authn database deployments
##
## Kolab Server implemented in Python
##
%package -n kolab-server
Summary: Kolab Server implemented in Python
Group: Applications/System
Requires: %{name} = %{version}-%{release}
%description -n kolab-server
Kolab Server implemented in Python
##
## Kolab SMTP Access Policy for Postfix
##
%package -n postfix-kolab
Summary: Kolab SMTP Access Policy for Postfix
Group: Applications/System
Requires: postfix
Requires: %{name} = %{version}-%{release}
Requires: python-sqlalchemy
Requires: MySQL-python
%description -n postfix-kolab
Kolab SMTP Access Policy for Postfix
##
## Wallace
##
%package -n wallace
Summary: Kolab Content-Filter
Group: Applications/System
Requires: %{name} = %{version}-%{release}
Requires: python-sqlalchemy
Requires: MySQL-python
Requires: python-icalendar >= 3.0
Requires: %{name}-xml = %{version}-%{release}
%description -n wallace
This is the Kolab Content Filter, with plugins
%prep
%setup -q
%build
%configure
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%if 0%{?fedora} >= 15
mkdir -p %{buildroot}/%{_unitdir}
%{__install} -p -m 644 kolabd/kolabd.systemd %{buildroot}/%{_unitdir}/kolabd.service
%{__install} -p -m 644 saslauthd/kolab-saslauthd.systemd %{buildroot}/%{_unitdir}/kolab-saslauthd.service
%{__install} -p -m 644 wallace/wallace.systemd %{buildroot}/%{_unitdir}/wallace.service
mkdir -p %{buildroot}/%{_sysconfdir}/tmpfiles.d/
%{__install} -p -m 644 kolabd/kolabd.tmpfiles.d.conf %{buildroot}/%{_sysconfdir}/tmpfiles.d/kolabd.conf
%{__install} -p -m 644 wallace/wallace.tmpfiles.d.conf %{buildroot}/%{_sysconfdir}/tmpfiles.d/wallace.conf
%else
mkdir -p %{buildroot}/%{_initddir}
%{__install} -p -m 755 kolabd/kolabd.sysvinit %{buildroot}/%{_initrddir}/kolabd
%{__install} -p -m 755 saslauthd/kolab-saslauthd.sysvinit %{buildroot}/%{_initrddir}/kolab-saslauthd
%{__install} -p -m 755 wallace/wallace.sysvinit %{buildroot}/%{_initrddir}/wallace
%endif
mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig
%{__install} -p -m 644 kolabd/kolabd.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/kolabd
%{__install} -p -m 644 saslauthd/kolab-saslauthd.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/kolab-saslauthd
%{__install} -p -m 644 wallace/wallace.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/wallace
%find_lang pykolab
%pre
# Add the kolab user and group accounts
getent group %{kolab_group} &>/dev/null || groupadd -r %{kolab_group} -g %{kolab_group_id} &>/dev/null
getent passwd %{kolab_user} &>/dev/null || \
useradd -r -u %{kolab_user_id} -g %{kolab_group} -d %{_localstatedir}/lib/%{kolab_user} -s /sbin/nologin \
-c "Kolab System Account" %{kolab_user} &>/dev/null || :
gpasswd -a apache kolab >/dev/null 2>&1 || :
getent group %{kolabn_group} &>/dev/null || groupadd -r %{kolabn_group} -g %{kolabn_group_id} &>/dev/null
getent passwd %{kolabn_user} &>/dev/null || \
useradd -r -u %{kolabn_user_id} -g %{kolabn_group} -d %{_localstatedir}/lib/%{kolabn_user} -s /sbin/nologin \
-c "Kolab System Account (N)" %{kolabn_user} &>/dev/null || :
gpasswd -a %{kolabn_user} %{kolab_group} &>/dev/null || :
getent group %{kolabr_group} &>/dev/null || groupadd -r %{kolabr_group} -g %{kolabr_group_id} &>/dev/null
getent passwd %{kolabr_user} &>/dev/null || \
useradd -r -u %{kolabr_user_id} -g %{kolabr_group} -d %{_localstatedir}/lib/%{kolabr_user} -s /sbin/nologin \
-c "Kolab System Account (R)" %{kolabr_user} &>/dev/null || :
# Make sure the kolab user and group is added
getent passwd %{cyrus_admin} &>/dev/null || \
useradd -r -d %{_localstatedir}/lib/%{cyrus_admin} -s /sbin/nologin \
-c "Kolab Cyrus Administrator Account" %{cyrus_admin} &>/dev/null || :
# Make sure our user has the correct home directory
if [ $1 -gt 1 ] ; then
usermod -d %{_localstatedir}/lib/%{kolab_user} %{kolab_user} &>/dev/null || :
usermod -d %{_localstatedir}/lib/%{kolab_user} %{kolabn_user} &>/dev/null || :
usermod -d %{_localstatedir}/lib/%{kolab_user} %{kolabr_user} &>/dev/null || :
fi
%post -n kolab-saslauthd
if [ $1 -eq 1 ]; then
%if 0%{?fedora} >= 15
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/chkconfig --add kolab-saslauthd
%endif
else
/sbin/service kolab-saslauthd condrestart
fi
%preun -n kolab-saslauthd
if [ $1 = 0 ]; then
%if 0%{?fedora} >= 15
/bin/systemctl --no-reload disable kolab-saslauthd.service >/dev/null 2>&1 || :
/bin/systemctl stop kolab-saslauthd.service >/dev/null 2>&1 || :
%else
/sbin/service kolab-saslauthd stop > /dev/null 2>&1
/sbin/chkconfig --del kolab-saslauthd
%endif
fi
%post -n kolab-server
if [ $1 -eq 1 ] ; then
%if 0%{?fedora} >= 15
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/chkconfig --add kolabd
%endif
fi
%preun -n kolab-server
if [ $1 = 0 ]; then
%if 0%{?fedora} >= 15
/bin/systemctl --no-reload disable kolabd.service >/dev/null 2>&1 || :
/bin/systemctl stop kolabd.service >/dev/null 2>&1 || :
%else
/sbin/service kolabd stop > /dev/null 2>&1
/sbin/chkconfig --del kolabd
%endif
fi
%post -n wallace
if [ $1 -eq 1 ] ; then
%if 0%{?fedora} >= 15
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
chkconfig --add wallace
%endif
else
%if 0%{?fedora} >= 15
/bin/systemctl reload-or-try-restart wallace.service
%else
/sbin/service wallace condrestart
%endif
fi
%preun -n wallace
if [ $1 = 0 ]; then
%if 0%{?fedora} >= 15
/bin/systemctl --no-reload disable wallace.service
/bin/systemctl stop wallace.service
%else
/sbin/service wallace stop > /dev/null 2>&1
/sbin/chkconfig --del wallace
%endif
fi
%check
# RHEL's python unittest does not have assertIsInstance()
%if 0%{?rhel} > 1
nosetests -v tests/unit/ ||:
%else
nosetests -v tests/unit/
%endif
%clean
rm -rf %{buildroot}
%files -f pykolab.lang
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING README README.tests
%doc conf/kolab.conf
%attr(0640,kolab-n,kolab) %config(noreplace) %{_sysconfdir}/kolab/kolab.conf
%dir %{python_sitelib}/pykolab/
%exclude %{python_sitelib}/pykolab/telemetry.*
%{python_sitelib}/pykolab/*.py
%{python_sitelib}/pykolab/*.pyc
%{python_sitelib}/pykolab/*.pyo
%{python_sitelib}/pykolab/auth/
%{python_sitelib}/pykolab/conf/
%{python_sitelib}/pykolab/imap/
%dir %{python_sitelib}/pykolab/plugins/
%{python_sitelib}/pykolab/plugins/*.py
%{python_sitelib}/pykolab/plugins/*.pyc
%{python_sitelib}/pykolab/plugins/*.pyo
%{python_sitelib}/pykolab/plugins/defaultfolders
%{python_sitelib}/pykolab/plugins/dynamicquota
%{python_sitelib}/pykolab/plugins/recipientpolicy
# No sieve script management without our modified version of
# python-sievelib
%exclude %{python_sitelib}/pykolab/plugins/sievemgmt
%{python_sitelib}/kolab/
%{python_sitelib}/cyruslib.py*
%attr(0775,kolab,kolab-n) %dir %{_localstatedir}/lib/kolab/
%attr(0775,kolab,kolab-n) %dir %{_localstatedir}/log/kolab/
%files telemetry
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
%{_sbindir}/kolab_parse_telemetry
#%{python_sitelib}/pykolab/cli/commandgroups/telemetry.py
%{python_sitelib}/pykolab/telemetry.*
%{python_sitelib}/pykolab/cli/telemetry/
%files xml
%dir %{python_sitelib}/pykolab/xml
%{python_sitelib}/pykolab/xml/*.py
%{python_sitelib}/pykolab/xml/*.pyc
%{python_sitelib}/pykolab/xml/*.pyo
%files -n kolab-cli
%defattr(-,root,root,-)
%{_sbindir}/kolab
%{_sbindir}/kolab-conf
%{_sbindir}/setup-kolab
%dir %{_sysconfdir}/kolab/templates
%{_datadir}/kolab/templates
%dir %{python_sitelib}/pykolab/cli/
%{python_sitelib}/pykolab/cli/*.py
%{python_sitelib}/pykolab/cli/*.pyc
%{python_sitelib}/pykolab/cli/*.pyo
%dir %{python_sitelib}/pykolab/cli/wap
%{python_sitelib}/pykolab/cli/wap/*.py
%{python_sitelib}/pykolab/cli/wap/*.pyc
%{python_sitelib}/pykolab/cli/wap/*.pyo
%dir %{python_sitelib}/pykolab/setup/
%{python_sitelib}/pykolab/setup/*.py
%{python_sitelib}/pykolab/setup/*.pyc
%{python_sitelib}/pykolab/setup/*.pyo
%dir %{python_sitelib}/pykolab/wap_client/
%{python_sitelib}/pykolab/wap_client/*.py
%{python_sitelib}/pykolab/wap_client/*.pyc
%{python_sitelib}/pykolab/wap_client/*.pyo
# No sieve script management without our modified version of
# python-sievelib
%exclude %{python_sitelib}/pykolab/cli/sieve
%files -n kolab-saslauthd
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
%if 0%{?fedora} >= 15
%{_unitdir}/kolab-saslauthd.service
%else
%{_initrddir}/kolab-saslauthd
%endif
%config(noreplace) %{_sysconfdir}/sysconfig/kolab-saslauthd
%{_sbindir}/kolab-saslauthd
%{python_sitelib}/saslauthd/
%dir %{_localstatedir}/run/kolab-saslauthd
%dir %{_localstatedir}/run/saslauthd
%files -n kolab-server
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
%if 0%{?fedora} >= 15
%{_unitdir}/kolabd.service
%{_sysconfdir}/tmpfiles.d/kolabd.conf
%else
%{_initrddir}/kolabd
%endif
%config(noreplace) %{_sysconfdir}/sysconfig/kolabd
%{_sbindir}/kolabd
%{python_sitelib}/kolabd/
%attr(0770,kolab,kolab) %dir %{_localstatedir}/run/kolabd
%files -n postfix-kolab
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
%{_libexecdir}/postfix/kolab_smtp_access_policy
%files -n wallace
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
%if 0%{?fedora} >= 15
%{_unitdir}/wallace.service
%{_sysconfdir}/tmpfiles.d/wallace.conf
%else
%{_initrddir}/wallace
%endif
%{_sysconfdir}/sysconfig/wallace
%{_sbindir}/wallaced
%{python_sitelib}/wallace
%attr(0700,%{kolab_user},%{kolab_group}) %dir %{_var}/spool/pykolab
%attr(0700,%{kolab_user},%{kolab_group}) %dir %{_var}/spool/pykolab/wallace
%changelog
* @DATESTAMP@ Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> @VERSION@-@RELEASE@
- Initial package of new upstream version
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Apr 6, 1:18 AM (1 d, 7 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ce/12/5541e42fbf144aadda287fd33ada
Default Alt Text
pykolab.spec.in (12 KB)
Attached To
Mode
rP pykolab
Attached
Detach File
Event Timeline