Blame SPECS/cyrus-imapd.spec

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