cyrus-imapd/cyrus-imapd.spec

888 lines
31 KiB
RPMSpec
Raw Normal View History

2017-05-22 16:59:16 +00:00
%define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}})
# Cassandane commit hash. Cassandane doesn't have releases often, but it
# receives constant development. This was fetched on 20170622.
%global cocas 6d33978ebb0055be41a5cb8e52958e100401bf26
# Cassandane run by default. '--without cassandane' disables.
%bcond_without cassandane
Name: cyrus-imapd
2017-06-22 15:44:44 +00:00
Version: 3.0.2
Release: 9%{?dist}
%define ssl_pem_file /etc/pki/%name/%name.pem
2009-10-29 15:50:04 +00:00
2017-05-22 21:14:19 +00:00
# UID/GID 76 have long been reserved for Cyrus
%define uid 76
%define gid 76
2009-10-29 15:50:04 +00:00
%define cyrususer cyrus
%define cyrusgroup mail
%define cyrexecdir %_libexecdir/%name
2009-10-29 15:50:04 +00:00
2017-05-22 16:59:16 +00:00
Summary: A high-performance email, contacts and calendar server
2009-11-26 13:32:56 +00:00
License: BSD
2010-10-12 08:38:27 +00:00
URL: http://www.cyrusimap.org/
Source0: http://www.cyrusimap.org/releases/%name-%version.tar.gz
2017-05-22 16:59:16 +00:00
# Adapt a timeout to handle our slower builders
2017-06-22 15:44:44 +00:00
Patch0: patch-cyrus-testsuite-timeout
# Upstream https://github.com/cyrusimap/cyrus-imapd/issues/2026
2017-06-22 15:44:44 +00:00
Patch1: patch-cyrus-managesieve-linking
# Upstream https://github.com/cyrusimap/cyrus-imapd/issues/2039
Patch2: patch-cyrus-pkgconfig-file
# Fedora-specific patch for the default configuration file
Patch3: patch-cyrus-default-configs
# Fix bugs in jmap turned up by Cassandane
# https://github.com/cyrusimap/cyrus-imapd/issues/2042
Patch4: patch-cyrus-jmapcalendar
Patch5: patch-cyrus-jmapcalendar2
2017-05-22 22:47:36 +00:00
Source10: cyrus-imapd.logrotate
2017-05-22 22:48:11 +00:00
Source11: cyrus-imapd.pam-config
2017-05-22 22:49:48 +00:00
Source12: cyrus-imapd.sysconfig
2017-05-22 22:50:21 +00:00
Source13: cyrus-imapd.cvt_cyrusdb_all
2017-05-22 22:50:49 +00:00
Source14: cyrus-imapd.magic
2017-05-22 21:14:19 +00:00
# XXX A systemd timer would probably be better
2017-05-22 22:51:28 +00:00
Source15: cyrus-imapd.cron-daily
2017-05-22 22:52:07 +00:00
Source16: README.rpm
2017-05-22 22:52:35 +00:00
Source17: cyrus-imapd.service
2017-05-22 22:53:02 +00:00
Source18: cyrus-imapd-init.service
Source19: cyrus-imapd.tmpfiles.conf
# Source files for running the Cassandane test suite at build time.
Source80: https://github.com/cyrusimap/cassandane/archive/%cocas.tar.gz#/cassandane-%{scmt %cocas}.tar.gz
2017-05-25 15:32:04 +00:00
# The CPAN version, and hence the Fedora-packaged version, of Net::CalDAVTalk
# doesn't include the testdata directory. Cassandane can use it for testing
# calendaring, so it's included here.
# This archive was generated by running:
# svn export https://github.com/brong/Net-CalDAVTalk/trunk/testdata
# tar cfz cassandane-testdata-20170523.tar.gz testdata
2017-05-25 15:32:04 +00:00
Source81: cassandane-testdata-20170523.tar.gz
# A template config file for cassandane; we will substitute in varions values.
2017-05-25 15:32:04 +00:00
Source82: cassandane.ini
# These are source files and not patches because you can't use autosetup to
# apply patches to secondary unpacked source files.
# Prevent cassandane from trying to syslog things
2017-05-25 15:32:04 +00:00
Source91: patch-cassandane-no-syslog
# Tell the annotator script to run as the current user/group
# Upstream ticket https://github.com/cyrusimap/cyrus-imapd/issues/1995
Source92: patch-cassandane-fix-annotator
2017-05-22 20:54:46 +00:00
# Dependency notes:
# * clamav-devel and mariadb-devel removed because they both depend on
# compat-openssl.
# * As of 2017-05-22, libical 2.1 has not actually been released. The
# configure script will always produce the following message:
# configure: Your version of libical can not support patching iCalendar
# objects. Consider upgrading to libical >= 2.1
2017-05-25 15:32:04 +00:00
BuildRequires: autoconf automake bison flex gcc gcc-c++ git groff libtool
2016-11-24 04:18:05 +00:00
BuildRequires: pkgconfig systemd tcp_wrappers transfig
2017-05-25 15:32:04 +00:00
BuildRequires: perl-devel perl-generators perl(ExtUtils::MakeMaker)
BuildRequires: perl(Pod::Html)
2017-05-22 16:59:16 +00:00
BuildRequires: CUnit-devel cyrus-sasl-devel glib2-devel jansson-devel
BuildRequires: krb5-devel libical-devel libnghttp2-devel libxml2-devel
BuildRequires: net-snmp-devel openldap-devel openssl-devel postgresql-devel
BuildRequires: shapelib-devel sqlite-devel xapian-core-devel
2017-05-22 16:59:16 +00:00
2017-05-25 15:32:04 +00:00
# Miscellaneous modules needed for 'make check' to function:
2017-05-22 20:54:46 +00:00
BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
%if %{with cassandane}
# Additional packages required for cassandane to function
BuildRequires: imaptest net-tools words
2017-05-22 16:59:16 +00:00
BuildRequires: perl(AnyEvent) perl(BSD::Resource) perl(Clone)
BuildRequires: perl(File::chdir) perl(IO::Socket::INET6) perl(Mail::IMAPTalk)
BuildRequires: perl(Config::IniFiles) perl(Mail::JMAPTalk) perl(Math::Int64)
BuildRequires: perl(Net::CalDAVTalk) perl(Net::CardDAVTalk)
BuildRequires: perl(Net::Server) perl(News::NNTPClient) perl(Path::Tiny)
BuildRequires: perl(String::CRC32) perl(Sys::Syslog)
BuildRequires: perl(Test::Unit::TestRunner) perl(Time::HiRes)
2017-05-25 15:32:04 +00:00
BuildRequires: perl(Unix::Syslog) perl(XML::DOM) perl(XML::Generator)
# These were only for JMAP-Tester
# perl(Moo), perl(Moose), perl(MooseX::Role::Parameterized) perl(Throwable), perl(Safe::Isa)
%endif
2009-10-29 15:50:04 +00:00
Requires(pre): shadow-utils
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
2016-11-24 04:18:05 +00:00
%{?systemd_requires}
2009-10-29 15:50:04 +00:00
Requires: %name-utils = %version-%release
Recommends: %name-vzic = %version-%release
Requires: file libdb-utils sscg
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%{?perl_default_filter}
%description
2017-05-22 16:59:16 +00:00
The Cyrus IMAP (Internet Message Access Protocol) server provides access to
personal mail, system-wide bulletin boards, news-feeds, calendar and contacts
through the IMAP, JMAP, NNTP, CalDAV and CardDAV protocols. The Cyrus IMAP
server is a scalable enterprise groupware system designed for use from small to
large enterprise environments using technologies based on well-established Open
Standards.
A full Cyrus IMAP implementation allows a seamless mail and bulletin board
environment to be set up across one or more nodes. It differs from other IMAP
server implementations in that it is run on sealed nodes, where users are not
normally permitted to log in. The mailbox database is stored in parts of the
filesystem that are private to the Cyrus IMAP system. All user access to mail
is through software using the IMAP, IMAPS, JMAP, POP3, POP3S, KPOP, CalDAV
and/or CardDAV protocols.
The private mailbox database design gives the Cyrus IMAP server large
advantages in efficiency, scalability, and administratability. Multiple
concurrent read/write connections to the same mailbox are permitted. The server
supports access control lists on mailboxes and storage quotas on mailbox
hierarchies.
%package devel
Summary: Cyrus IMAP server development files
Requires: %name%{?_isa} = %version-%release
Requires: pkgconfig
%description devel
The %name-devel package contains header files and libraries
necessary for developing applications which use the imclient library.
%package doc-extra
Summary: Extra documentation for the Cyrus IMAP server
BuildArch: noarch
%description doc-extra
This package contains the HTML documentation for the Cyrus IMAP server, as well
as some legacy and internal documentation not useful for normal operation of
the server.
%package utils
Summary: Cyrus IMAP server administration utilities
%description utils
The cyrus-imapd-utils package contains administrative tools for the
Cyrus IMAP server. It can be installed on systems other than the
one running the server.
%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 and it's old, so I'm not sure where the upstream
# is. 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.
# Build dir is either $PWD, $(pwd) or %
%prep
2017-05-25 15:32:04 +00:00
%autosetup -p1 -S git
echo %version > VERSION
2017-05-22 16:59:16 +00:00
# Install the Fedora-specific documentation file
2017-05-22 22:52:07 +00:00
install -m 644 %SOURCE16 doc/
# Unpack and prepare cassandane
2017-05-25 15:32:04 +00:00
tar xf %SOURCE80
ln -s cassandane-%cocas cassandane
pushd cassandane
mkdir work
2017-05-25 15:32:04 +00:00
tar xf %SOURCE81
2017-05-25 15:32:04 +00:00
patch -p1 < %SOURCE91
patch -p1 < %SOURCE92
2017-05-25 15:32:04 +00:00
cp %SOURCE82 cassandane.ini
# RF rpm-buildroot-usage
sed -i \
2017-05-25 15:32:04 +00:00
-e "s!CASSDIR!$(pwd)!" \
-e "s!BUILDROOT!%buildroot!" \
cassandane.ini
2017-05-25 15:32:04 +00:00
popd
%build
2017-05-22 16:59:16 +00:00
# This is the test suite, which doesn't build much but does verify its dependencies.
# If this is done after the configure call, the one thing it does build fails
# because the configure macro puts some hardening flags into the environment.
%if %{with cassandane}
2017-05-22 16:59:16 +00:00
pushd cassandane
make
popd
%endif
2017-05-22 16:59:16 +00:00
# Options not enabled:
# --enable-objectstore
# It's experimental, and it doesn't appear that either openio or caringo are
# in Fedora.
# --with-mysql
# libmysqlclient doesn't support openssl 1.1 and you can't two versions of
# openssl linked into the same program.
2017-05-22 16:59:16 +00:00
# --with-cyrus-prefix and --with-service-path went away; use --with-libexecdir=
# instead.
2017-05-22 16:59:16 +00:00
2017-06-22 15:44:44 +00:00
#autoreconf -vi
%configure \
2017-05-22 16:59:16 +00:00
--disable-silent-rules \
\
--libexecdir=%cyrexecdir \
2017-05-25 15:32:04 +00:00
--with-extraident="%release Fedora" \
--with-krbimpl=mit \
--with-ldap=/usr \
2017-05-22 16:59:16 +00:00
--with-pgsql \
--with-perl=%__perl \
--with-snmp \
--with-syslogfacility=MAIL \
2017-05-22 16:59:16 +00:00
\
--enable-autocreate \
2017-05-22 16:59:16 +00:00
--enable-backup \
--enable-calalarmd \
--enable-http \
--enable-idled \
2017-05-22 16:59:16 +00:00
--enable-jmap \
--enable-murder \
--enable-nntp \
--enable-replication \
--enable-unit-tests \
2017-05-22 16:59:16 +00:00
--enable-xapian \
#
# The configure script will set up the Perl makefiles, but not in the way
# Fedora needs them. So regenerate them manually.
for i in perl/annotator perl/imap perl/sieve/managesieve; do
pushd $i
rm -f Makefile
perl Makefile.PL INSTALLDIRS=vendor # NO_PERLOCAL=1 NO_PACKLIST=1
popd
done
%make_build
# This isn't built by default, but this package has always installed it.
make notifyd/notifytest
# Also not built by default, but the tools are needed for serving timezone info
make -C tools/vzic
2017-05-22 16:59:16 +00:00
2009-11-26 13:32:56 +00:00
%install
make install DESTDIR=%buildroot
# Create directories
install -d \
%buildroot/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \
%buildroot/%_libdir/sasl \
%buildroot/var/spool/imap \
%buildroot/var/lib/imap/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup,meta} \
%buildroot/var/lib/imap/ptclient \
%buildroot/%_datadir/%name/rpm \
2017-05-22 16:59:16 +00:00
%buildroot/%cyrexecdir \
%buildroot/etc/pki/%name
install -d -m 0750 \
%buildroot/run/cyrus \
%buildroot/run/cyrus/socket
install -d -m 0700 \
%buildroot/run/cyrus/db \
%buildroot/run/cyrus/lock \
%buildroot/run/cyrus/proc
2017-06-22 15:44:44 +00:00
# Some tools which aren't installed by the makefile which we have always installed
install -m 755 notifyd/notifytest %buildroot%_bindir/
install -m 755 perl/imap/cyradm %buildroot%_bindir/
2017-06-22 15:44:44 +00:00
for i in arbitronsort.pl masssievec mkimap mknewsgroups rehash translatesieve; do
install -m 755 tools/$i %buildroot/%cyrexecdir/
done
for i in vzic vzic-test.pl vzic-merge.pl vzic-dump.pl; do
install -m 755 tools/vzic/$i %buildroot/%cyrexecdir/
done
# Install additional files
2017-05-22 22:49:21 +00:00
install -p -m 644 %SOURCE10 %buildroot/etc/logrotate.d/%name
2017-05-22 22:48:11 +00:00
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/pop
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/imap
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/sieve
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/mupdate
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/lmtp
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/nntp
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/csync
2017-05-22 22:49:48 +00:00
install -p -m 644 %SOURCE12 %buildroot/etc/sysconfig/%name
install -p -m 755 %SOURCE13 %buildroot/%cyrexecdir/cvt_cyrusdb_all
install -p -m 644 %SOURCE14 %buildroot/%_datadir/%name/rpm/magic
2017-05-22 22:51:28 +00:00
install -p -m 755 %SOURCE15 %buildroot/etc/cron.daily/%name
2017-05-22 16:59:16 +00:00
install -p -m 644 doc/examples/cyrus_conf/prefork.conf %buildroot/etc/cyrus.conf
install -p -m 644 doc/examples/imapd_conf/normal.conf %buildroot/etc/imapd.conf
install -p -D -m 644 %SOURCE17 %buildroot/%_unitdir/cyrus-imapd.service
install -p -D -m 644 %SOURCE18 %buildroot/%_unitdir/cyrus-imapd-init.service
install -p -D -m 644 %SOURCE19 %buildroot/%_tmpfilesdir/cyrus-imapd.conf
2017-05-22 16:59:16 +00:00
2009-11-26 13:32:56 +00:00
# Cleanup of doc dir
find doc perl -name CVS -type d -prune -exec rm -rf {} \;
find doc perl -name .cvsignore -type f -exec rm -f {} \;
rm -f doc/Makefile.dist*
rm -f doc/text/htmlstrip.c
rm -f doc/text/Makefile
rm -rf doc/man
2009-11-26 13:32:56 +00:00
# fix permissions on perl .so files
2017-05-22 16:59:16 +00:00
find %buildroot/%_libdir/perl5/ -type f -name "*.so" -exec chmod 755 {} \;
# Generate db config file
# XXX Is this still necessary?
( grep '^{' lib/imapoptions | grep _db | cut -d'"' -f 2,4 | \
sed -e 's/^ *//' -e 's/-nosync//' -e 's/ *$//' -e 's/"/=/'
2017-05-22 17:00:25 +00:00
echo sieve_version=2.2.3 ) | sort > %buildroot/%_datadir/%name/rpm/db.cfg
# create the ghost pem file
touch %buildroot/%ssl_pem_file
# Cyrus has various files with extremely conflicting names. Some of these are
# not unexpected ("imapd" itself) but some like "httpd" are rather surprising.
# Where there are only conflicting manpages, they have been moved to a "8cyrus"
# section. If the binary was renamed, then the manpages are renamed to match
# but a internal replacement has not been done. This may lead to more
# confusion but involves modifying fewer upstream files.
# Actual binary conflicts
# Rename 'fetchnews' binary and manpage to avoid clash with leafnode
mv %buildroot/%_sbindir/fetchnews %buildroot/%_sbindir/cyr_fetchnews
mv %buildroot/%_mandir/man8/fetchnews.8 %buildroot/%_mandir/man8/cyr_fetchnews.8
# Fix conflict with dump
mv %buildroot/%_sbindir/restore %buildroot/%_sbindir/cyr_restore
mv %buildroot/%_mandir/man8/restore.8 %buildroot/%_mandir/man8/cyr_restore.8
# Fix conceptual conflict with quota
mv %buildroot/%_sbindir/quota %buildroot/%_sbindir/cyr_quota
mv %buildroot/%_mandir/man8/quota.8 %buildroot/%_mandir/man8/cyr_quota.8
# fix conflicts with uw-imap
mv %buildroot/%_mandir/man8/imapd.8 %buildroot/%_mandir/man8/imapd.8cyrus
mv %buildroot/%_mandir/man8/pop3d.8 %buildroot/%_mandir/man8/pop3d.8cyrus
# Rename 'master' manpage
mv %buildroot/%_mandir/man8/master.8 %buildroot/%_mandir/man8/master.8cyrus
# Rename 'httpd' manpage to avoid clash with Apache
mv %buildroot/%_mandir/man8/httpd.8 %buildroot/%_mandir/man8/httpd.8cyrus
# Old cyrus packages used to keep some executables in /usr/lib/cyrus-imapd
# RF hardcoded-library-path in %%buildroot/usr/lib/cyrus-imapd
mkdir %buildroot/usr/lib/cyrus-imapd
pushd %buildroot/usr/lib/cyrus-imapd
ln -s ../../sbin/deliver
popd
2009-11-24 16:23:25 +00:00
#remove executable bit from docs
for ddir in doc perl/imap/examples
do
find $ddir -type f -exec chmod -x {} \;
2009-11-24 16:23:25 +00:00
done
# Remove pointless libtool archives
rm %buildroot/%_libdir/*.la
# Remove installed but not packaged files
rm %buildroot/%cyrexecdir/pop3proxyd
find %buildroot -name "perllocal.pod" -exec rm {} \;
find %buildroot -name ".packlist" -exec rm {} \;
%check
2017-05-25 15:32:04 +00:00
make %{?_smp_mflags} check || exit 1
%if %{without cassandane}
exit 0
2017-06-01 01:25:21 +00:00
%endif
%ifarch s390x
# If s390x is being too slow to pass the tests, just don't run tests there.
exit 0
%endif
# Run the Cassandane test suite. This will exhaustively test the various
# server components, but running it in a mock chroot is rather an exercise.
pushd cassandane
2017-05-25 15:32:04 +00:00
mkdir -p imaptest/src
ln -s /usr/bin/imaptest imaptest/src
ln -s /usr/share/imaptest/tests imaptest/src
2017-05-25 15:32:04 +00:00
export LD_LIBRARY_PATH=%buildroot/%_libdir
export CYRUS_USER=$USER
# Construct the set of excluded tests to pass to Cassandane
# ---------------------------------------------------------
exclude=()
tests=(
# This is more a test of system performance and according to upstream won't
# be reliable on shared hardware like our builders.
Metronome
# This tests coredumping and won't work on a machine where systemd
# intercepts coredumps.
Cassandane::Test::Core
# Fails because our Xapian is too old for proper CJK support. 1.5 will be
# OK, but it is not yet released. The alternative is to bundle.
SearchFuzzy.cjk_words
# Needs a patch to libical, which should be in 2.1/3.0 when it releases.
# The alternative is to bundle.
# https://github.com/cyrusimap/cyrus-imapd/issues/2048
JMAPCalendars.setcalendarevents_alerts
# As of yet unexplained
# https://github.com/cyrusimap/cyrus-imapd/issues/2047
Admin.imap_admins
)
for i in ${tests[@]}; do exclude+=("!$i"); done
%if 0%{?fedora} <= 26
# Some F26-specific test exclusions
tests=(
# These fail because F26 libical has not been compiled with
# ICAL_ALLOW_EMPTY_PROPERTIES.
JMAPCalendars.setcalendarevents_locations
JMAPCalendars.setcalendarevents_recurrenceoverrides
# These all fail because F26 perl doesn't support quad types in unpack.
JMAPContacts.setcontacts_importance_later
Metadata.expunge_messages
Metadata.msg_replication_new_mas_partial_wwd
Metadata.msg_replication_new_rep
Metadata.msg_replication_new_mas
Metadata.msg_replication_exp_bot
Metadata.msg_replication_new_mas_partial_wwsw
Metadata.msg_replication_exp_mas
Metadata.msg_replication_mod_mas
Metadata.msg_replication_exp_rep
Metadata.msg_replication_mod_bot_msl
Metadata.msg_replication_new_bot_mse_gul
Metadata.msg_replication_mod_bot_msh
Metadata.msg_replication_new_bot_mse_guh
Metadata.msg_replication_mod_rep
)
for i in ${tests[@]}; do exclude+=("!$i"); done
%endif
2017-05-25 15:32:04 +00:00
# Add -vvv for too much output
./testrunner.pl %{?_smp_mflags} --cleanup -f pretty ${exclude[@]} 2>&1
%pre
2009-11-26 13:32:56 +00:00
# Create 'cyrus' user on target host
2016-11-24 04:14:45 +00:00
getent group saslauth >/dev/null || /usr/sbin/groupadd -g %gid -r saslauth
getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /var/lib/imap -g %cyrusgroup \
-G saslauth -s /sbin/nologin -u %uid -r %cyrususer
%post
/sbin/ldconfig
2012-08-21 17:26:46 +00:00
%systemd_post cyrus-imapd.service
%preun
2012-08-21 17:26:46 +00:00
%systemd_preun cyrus-imapd.service
%postun
/sbin/ldconfig
2012-08-21 17:26:46 +00:00
%systemd_postun_with_restart cyrus-imapd.service
2011-04-04 15:10:19 +00:00
%files
%license COPYING
%doc README.md doc/README.* doc/examples doc/text
%_datadir/cyrus-imapd
%_libdir/libcyrus*.so.*
%_mandir/man5/*
%_mandir/man8/*
%dir /etc/pki/cyrus-imapd
%attr(0640,root,%cyrusgroup) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %ssl_pem_file
%config(noreplace) /etc/cyrus.conf
%config(noreplace) /etc/imapd.conf
%config(noreplace) /etc/logrotate.d/cyrus-imapd
%config(noreplace) /etc/sysconfig/cyrus-imapd
%config(noreplace) /etc/pam.d/*
/etc/cron.daily/cyrus-imapd
%_unitdir/cyrus-imapd.service
%_unitdir/cyrus-imapd-init.service
%_tmpfilesdir/cyrus-imapd.conf
%dir %cyrexecdir/
%cyrexecdir/[a-uw-z]*
# This creates some directories which in the default configuration cyrus will
# never use because they are placed under /run instead. However, old
# configurations or setup advice from the 'net might reference them, and so
# it's simpler to just leave them in the package.
%attr(0750,%cyrususer,%cyrusgroup) %dir /var/lib/imap/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/backup/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/db/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/log/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/meta/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/md5/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/msg/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/proc/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/ptclient/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/quota/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/rpm/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/sieve/
%attr(0750,%cyrususer,%cyrusgroup) /var/lib/imap/socket
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/sync/
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/user/
%attr(0700,%cyrususer,%cyrusgroup) /var/spool/imap/
# The new locations
%attr(0750,%cyrususer,%cyrusgroup) %dir /run/cyrus/
%attr(0700,%cyrususer,%cyrusgroup) /run/cyrus/db/
%attr(0700,%cyrususer,%cyrusgroup) /run/cyrus/lock/
%attr(0700,%cyrususer,%cyrusgroup) /run/cyrus/proc/
%attr(0750,%cyrususer,%cyrusgroup) /run/cyrus/socket/
%files devel
%_includedir/cyrus/
%_libdir/libcyrus*.so
%_libdir/pkgconfig/*.pc
%_mandir/man3/imclient.3*
%files doc-extra
%doc doc/html doc/internal doc/legacy
%files utils
%license COPYING
%doc perl/imap/README
%doc perl/imap/Changes
%doc perl/imap/examples
%{_bindir}/*
2017-05-22 21:14:19 +00:00
%{_sbindir}/*
%{perl_vendorarch}/auto/Cyrus
%{perl_vendorarch}/Cyrus
%{perl_vendorlib}/Cyrus
%{_mandir}/man3/*.3pm*
%{_mandir}/man1/*
# RF hardcoded-library-path in /usr/lib/cyrus-imapd
/usr/lib/cyrus-imapd
%files vzic
%cyrexecdir/vzic*
%changelog
* Fri Aug 11 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.0.2-9
- Rebuilt after RPM update (№ 3)
* Thu Aug 10 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.0.2-8
- Rebuilt for RPM soname bump
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jun 30 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-5
- Add two patches from upstream which fix JMAPCalendars issues on 32-bit and
big-endian architectures.
- Clean up test invocation and exclusion list. More tests pass now.
* Wed Jun 28 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-4
- Explicitly set specialusealways: 1 in the default config.
* Tue Jun 27 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-3
- Patch the provided imapd.conf and cyrus.conf to more closely match previous
Fedora defaults and directories included in this package and to enable
features which are supported by the Fedora build.
- Add tmpfiles.d configuration file for directories in /run.
* Tue Jun 27 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-2
- Exclude one more test from 32-bit arches. Looks like this failure crept in
with the Cassandane update.
2017-06-22 15:44:44 +00:00
* Thu Jun 22 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-1
- Update to 3.0.2.
- New Cassandane snapshot, with more tests (all of which are passing).
2017-06-22 15:44:44 +00:00
* Tue Jun 20 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-7
- Add old /usr/lib/cyrus-imapd directory to the utils package and add a symlink
there to the deliver binary. This should help a bit with migrations.
- Add upstream patch to fix reconstruct failures on 32-bit architectures.
Re-enable those five Cassandane tests.
* Thu Jun 15 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-6
- Rename two commands: quota -> cyr_quota, restore -> cyr_restore.
- Fix Cassandane to handle those renames.
- Fix location of cyr_fetchnews.
- Fix Perl 5.26-related module linking issue which caused a test failure.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1461669
* Tue Jun 06 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-5
- Use proper path to ctl_mboxlist in cron file.
- Add patch to increase individual test timeout. Sometimes armv7hl can't
complete a single test in 20 seconds.
- Disable the Metronome tests; upstream says that they just won't reliably on
shared hardware.
- Don't bother running Cassandane on s390x for now. The machines are simply
too slow.
2017-06-06 11:25:41 +00:00
* Tue Jun 06 2017 Jitka Plesnikova <jplesnik@redhat.com> - 3.0.1-4
- Perl 5.26 rebuild
* Fri Jun 02 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-3
- Remove clamav from build requirements.
- Add --cleanup to Cassandane call to hopefully reduce build disk usage.
- Disable maxforkrate test on s390x; our builders are too slow to run it.
* Fri Jun 02 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-2
- Add patch to fix up some endianness issues.
- Enable both test suites on all architectures.
- Add arch-specific excludes for a few Cassandane tests.
2017-05-22 16:59:16 +00:00
* Thu Apr 20 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-1
- Initial attempt at importing 3.0. Many new dependencies.
- Use a stock sample imapd.conf file instead of a Fedora-provided one.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jan 09 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.5.10-2
- Rename httpd manpage to "cyrhttpd" to avoid conflict with the httpd package.
* Wed Nov 23 2016 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.5.10-1
- Initial update to the 2.5 series.
2016-11-24 01:25:21 +00:00
- Significant spec cleanups.
- Add sscg dep and follow
https://fedoraproject.org/wiki/Packaging:Initial_Service_Setup for initial
cert generation.
- Change default conf to use the system crypto policy.
2016-05-17 01:53:35 +00:00
* Tue May 17 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.18-3
- Perl 5.24 rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Oct 01 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.18-1
- Update to 2.4.18, rhbz#1267871 and rhbz#1267878
- Backport ff4e6c71d932b3e6bbfa67d76f095e27ff21bad0 to fix issues from
http://seclists.org/oss-sec/2015/q3/651
2015-09-09 20:21:48 +00:00
* Wed Sep 09 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.17-14
- Use %%license tag
- Have -devel require the base package
- Minor cleanups
2015-08-09 02:22:09 +00:00
* Sat Aug 08 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.17-13
- Remove invalid Patch0: URL.
- Use HTTP for upstream source.
- pod2html was split out of the main perl package, breaking cyrus.
Add a build dep for it.
2015-07-30 02:44:17 +00:00
* Wed Jul 29 2015 Kevin Fenzi <kevin@scrye.com> 2.4.17-12
- Rebuild for new librpm
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-06-05 09:24:55 +00:00
* Fri Jun 05 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.17-10
- Perl 5.22 rebuild
2014-08-27 10:28:58 +00:00
* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.17-9
- Perl 5.20 rebuild
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
2013-07-18 01:52:43 +00:00
* Thu Jul 18 2013 Petr Pisar <ppisar@redhat.com> - 2.4.17-5
- Perl 5.18 rebuild
2013-07-12 15:28:40 +00:00
* Fri Jul 12 2013 Michal Hlavinka <mhlavink@redhat.com> - 2.4.17-4
- spec clean up
2013-04-18 13:02:54 +00:00
* Thu Apr 18 2013 Michal Hlavinka <mhlavink@redhat.com> - 2.4.17-3
- make sure binaries are hardened
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2012-12-01 20:48:53 +00:00
* Sat Dec 1 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.17-1
- New upstream version, fixes upstream bugs:
2013-07-12 15:28:40 +00:00
- reconstruct doesn't retain internaldate correctly (#3733)
- Race condition in maibox rename (#3696)
- DBERROR db4: Transaction not specified for a transactional database (#3715)
- performance degradation on huge indexes in 2.4 branch (#3717)
- typo fix in imapd.conf man page (#3729)
- quota does not find all quotaroots if quotalegacy, fulldirhash and prefix are used and virtdomains is off (#3735)
- Mail delivered during XFER was lost (#3737)
- replication does not work on RENAME (#3742)
- Failed asserting during APPEND (#3754)
2012-12-01 20:48:53 +00:00
2012-11-30 18:22:03 +00:00
* Fri Nov 30 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.16-5
- do not use strict aliasing
2012-08-21 17:26:46 +00:00
* Tue Aug 21 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.16-4
- use new systemd rpm macros (#850079)
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-06-11 14:42:01 +00:00
* Mon Jun 11 2012 Petr Pisar <ppisar@redhat.com> - 2.4.16-2
- Perl 5.16 rebuild
* Thu Apr 19 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.16-1
- New upstream release
2012-04-18 13:12:35 +00:00
* Wed Apr 18 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.15-1
- New upstream release
2012-04-11 11:19:55 +00:00
* Wed Apr 11 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.14-2
- rebuilt because of new libdb
2012-03-14 13:21:00 +00:00
* Wed Mar 14 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.14-1
- updated to 2.4.14
2012-02-07 14:57:28 +00:00
* Tue Feb 07 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.13-3
- use PraveTmp in systemd unit file
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2012-01-02 14:47:00 +00:00
* Mon Jan 02 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.13-1
- New upstream release
* Wed Dec 07 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-5
2015-09-09 20:21:48 +00:00
- do not use digest-md5 as part of default auth mechanisms,
it does not coop with pam
* Tue Nov 22 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-4
2015-09-09 20:21:48 +00:00
- reduce noisy logging, add option to turn on LOG_DEBUG syslog
2012-03-22 10:37:15 +00:00
messages again (thanks Philip Prindeville) (#754940)
* Mon Oct 24 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-3
- add login and digest-md5 as part of default auth mechanisms (#748278)
* Tue Oct 11 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-2
- do not hide errors if cyrus user can't be added
* Wed Oct 05 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-1
- cyrus-imapd updated to 2.4.12
- fixes incomplete authentication checks in nntpd (Secunia SA46093)
2011-09-09 08:04:42 +00:00
* Fri Sep 9 2011 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.11-1
- update to 2.4.11
- Fix CVE-2011-3208 (#734926, #736838)
2011-08-16 09:35:23 +00:00
* Tue Aug 16 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.10-4
- rebuild with db5
2011-07-21 16:38:50 +00:00
* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 2.4.10-3
- Perl mass rebuild
2011-07-20 09:58:24 +00:00
* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 2.4.10-2
- Perl mass rebuild
2011-07-06 08:17:13 +00:00
* Wed Jul 6 2011 Jeroen van Meeuwen <kanarip@kanarip.com> - 2.4.10-1
- New upstream release
2011-06-22 03:22:29 +00:00
* Wed Jun 22 2011 Iain Arnell <iarnell@gmail.com> 2.4.8-5
- Patch to work with Perl 5.14
2011-06-20 19:58:05 +00:00
* Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.8-4
- Perl mass rebuild
2011-06-10 13:14:06 +00:00
* Fri Jun 10 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.8-3
- Perl 5.14 mass rebuild
* Mon May 09 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.8-2
- fixed: systemd commands in %%post (thanks Bill Nottingham)
* Thu Apr 14 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.8-1
- cyrus-imapd updated to 2.4.8
- fixed: cannot set unlimited quota through proxy
2015-09-09 20:21:48 +00:00
- fixed: reconstruct tries to set timestamps again and again
- fixed: response for LIST "" user is wrong
2015-09-09 20:21:48 +00:00
- fixed: THREAD command doesn't support quoted charset
- fixed crashes in mupdatetest and cyr_expire when using -x
2011-04-04 15:10:19 +00:00
* Mon Apr 04 2011 Michal Hlaivnka <mhlavink@redhat.com> - 2.4.7-2
- now using systemd
2011-03-31 06:44:23 +00:00
* Thu Mar 31 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.7-1
- updated to 2.4.7
2013-07-12 15:28:40 +00:00
* Fri Feb 11 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.6-1
- updated to 2.4.6
- "autocreate" and "autosieve" features were removed
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.16-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Jan 21 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-7
- don't force sync io for all filesystems
2013-07-12 15:28:40 +00:00
* Fri Jul 09 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-6
- follow licensing guideline update
- devel sub-package has to have virtual static provides (#609604)
* Mon Jun 07 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-5
- spec cleanup
- simplified packaging (merge -perl in -utils)
- remove obsoleted and/or unmaintained additional sources/patches
- remove long time not used files from the cvs/srpm
- update additional sources/patches from their upstream
2010-06-01 14:14:01 +00:00
* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.3.16-4
- Mass rebuild with perl-5.12.0
* Tue Apr 20 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-3
- add support for QoS marked traffic (#576652)
* Thu Jan 14 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-2
- ignore user_denny.db if missing (#553011)
- fix location of certificates in default imapd.conf