From 32ed4ae7af9fb9c5c866a887f86d674ae85c7f4f Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Thu, 24 Nov 2016 00:00:07 -0600 Subject: [PATCH] Split out vzic and clean up vzic is bundled and has a different license than the rest of the code. Split it out for simplicity. It and the main package depend on each other. Add Provides: bundled(vzic). Slihtly clean up the files list --- cyrus-imapd.spec | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index 53d7a25..26c7c62 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -2,7 +2,7 @@ Name: cyrus-imapd Version: 2.5.10 Release: 1%{?dist} -%define ssl_pem_file /etc/pki/%{name}/%{name}.pem +%define ssl_pem_file /etc/pki/%name/%name.pem # uid/gid reserved, see setup:/usr/share/doc/setup*/uidgid %define uid 76 @@ -10,12 +10,12 @@ Release: 1%{?dist} %define cyrususer cyrus %define cyrusgroup mail -%define cyrexecdir %{_prefix}/lib/%{name} +%define cyrexecdir %_prefix/lib/%name Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support License: BSD URL: http://www.cyrusimap.org/ -Source0: http://www.cyrusimap.org/releases/%{name}-%{version}.tar.gz +Source0: http://www.cyrusimap.org/releases/%name-%version.tar.gz Source1: cyrus-imapd.logrotate Source2: cyrus-imapd.imap-2.3.x-conf Source3: cyrus-imapd.pam-config @@ -45,7 +45,7 @@ BuildRequires: openssl-devel sqlite-devel Requires(pre): shadow-utils %{?systemd_requires} -Requires: %{name}-utils = %{version}-%{release} +Requires: %name-utils = %version-%release Requires: file, libdb-utils Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) @@ -79,6 +79,26 @@ TLSv1) can be used for security. The server supports single instance store where possible when an email message is addressed to multiple recipients, SIEVE provides server side email filtering. +%package vzic +Summary: Utilities to convert timezone database files +License: GPLv2+ +Requires: %name = %version-%release +# Contains a lightly forked version of vzic. This seems to have been bundled +# into various other things. Here are a couple of possible upstreams: +# https://github.com/libical/vzic +# https://sourceforge.net/projects/vzic/ +# It is probably a good idea to split it out and package it separately, but the +# code here definitely differs from that at the second link above. +Provides: bundled(vzic) = 1.3 + +%description vzic +vzic is a program to convert the Olson timezone database files into VTIMEZONE +files compatible with the iCalendar specification (RFC2445). + +This package contains a forked version of vzic for internal use by the Cyrus +IMAP server. + + %package devel Summary: Cyrus IMAP server development files Requires: %{name}%{?_isa} = %{version}-%{release} @@ -263,12 +283,14 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v -G saslauth -s /sbin/nologin -u %uid -r %cyrususer %post +/sbin/ldconfig %systemd_post cyrus-imapd.service %preun %systemd_preun cyrus-imapd.service %postun +/sbin/ldconfig %systemd_postun_with_restart cyrus-imapd.service %files @@ -287,18 +309,13 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v %config(noreplace) /etc/imapd.conf %config(noreplace) /etc/logrotate.d/cyrus-imapd %config(noreplace) /etc/sysconfig/cyrus-imapd -%config(noreplace) /etc/pam.d/pop -%config(noreplace) /etc/pam.d/imap -%config(noreplace) /etc/pam.d/sieve -%config(noreplace) /etc/pam.d/lmtp -%config(noreplace) /etc/pam.d/mupdate -%config(noreplace) /etc/pam.d/csync -%config(noreplace) /etc/pam.d/nntp +%config(noreplace) /etc/pam.d/* /etc/cron.daily/cyrus-imapd %_unitdir/cyrus-imapd.service -%cyrexecdir/ +%dir %cyrexecdir/ +%cyrexecdir/[a-uw-z]* %attr(0750,%cyrususer,%cyrusgroup) %dir /var/lib/imap %attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/backup/ @@ -318,6 +335,9 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v %attr(0700,%cyrususer,%cyrusgroup) /var/spool/imap/ +%files vzic +%cyrexecdir/vzic* + %files devel %_includedir/cyrus/ %_libdir/libcyrus*.so