f98fbbd
%define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}})
f98fbbd
9a65b5c
# Cassandane doesn't have releases often.  This was fetched on 20170525.
9a65b5c
%global cmt1 0a6c13e83813d4bb1ed4ee36ec7298c56db1b99b
9a65b5c
5ebd7de
# Cassandane run by default.  '--without cassandane' disables.
5ebd7de
%bcond_without cassandane
5ebd7de
9e566a4
Name: cyrus-imapd
f98fbbd
Version: 3.0.1
f98fbbd
Release: 1%{?dist}
f397365
32ed4ae
%define ssl_pem_file /etc/pki/%name/%name.pem
b91cae1
1f8c110
# UID/GID 76 have long been reserved for Cyrus
9e566a4
%define uid 76
9e566a4
%define gid 76
b91cae1
1e1862c
%define cyrususer cyrus
1e1862c
%define cyrusgroup mail
213ef74
%define cyrexecdir %_libexecdir/%name
b91cae1
f98fbbd
Summary: A high-performance email, contacts and calendar server
094b4f7
License: BSD
12aed29
URL: http://www.cyrusimap.org/
32ed4ae
Source0: http://www.cyrusimap.org/releases/%name-%version.tar.gz
f98fbbd
a01e045
Source10: cyrus-imapd.logrotate
a19e54f
Source11: cyrus-imapd.pam-config
6e07aff
Source12: cyrus-imapd.sysconfig
4a7375e
Source13: cyrus-imapd.cvt_cyrusdb_all
224d939
Source14: cyrus-imapd.magic
1f8c110
# XXX A systemd timer would probably be better
684974c
Source15: cyrus-imapd.cron-daily
4339e19
Source16: README.rpm
98bfc7d
Source17: cyrus-imapd.service
1c99445
Source18: cyrus-imapd-init.service
a55fa56
5a7ae23
# Source files for running the Cassandane test suite at build time.
c70cf04
Source80: https://github.com/cyrusimap/cassandane/archive/%cmt1.tar.gz#/cassandane-%{scmt %cmt1}.tar.gz
c70cf04
5a7ae23
# The CPAN version, and hence the Fedora-packaged version, of Net::CalDAVTalk
5a7ae23
# doesn't include the testdata directory.  Cassandane can use it for testing
5a7ae23
# calendaring, so it's included here.
5a7ae23
# This archive was generated by running:
5a7ae23
#   svn export https://github.com/brong/Net-CalDAVTalk/trunk/testdata
5a7ae23
#   tar cfz cassandane-testdata-20170523.tar.gz testdata
c70cf04
Source81: cassandane-testdata-20170523.tar.gz
5a7ae23
5a7ae23
# A template config file for cassandane; we will substitute in varions values.
c70cf04
Source82: cassandane.ini
c70cf04
c70cf04
# Basically everything in the test suite wants to use syslog.  That's not so
c70cf04
# easy in mock, so here's an LD_PRELOAD to redirect syslog calls to stderr.
c70cf04
Source83: cassandane-redirect-syslog.c
c70cf04
c70cf04
# These are source files and not patches because you can't use autosetup to
c70cf04
# apply patches to secondary unpacked source files.
c70cf04
Source91: patch-cassandane-no-syslog
9a65b5c
Source92: patch-cassandane-fix-annotator
5a7ae23
176b9d0
# Dependency notes:
176b9d0
# * clamav-devel and mariadb-devel removed because they both depend on
176b9d0
#   compat-openssl.
176b9d0
# * As of 2017-05-22, libical 2.1 has not actually been released.  The
176b9d0
#   configure script will always produce the following message:
176b9d0
#   configure: Your version of libical can not support patching iCalendar
176b9d0
#   objects.  Consider upgrading to libical >= 2.1
176b9d0
c70cf04
BuildRequires: autoconf automake bison flex gcc gcc-c++ git groff libtool
d889d66
BuildRequires: pkgconfig systemd tcp_wrappers transfig
779e0ee
c70cf04
BuildRequires: perl-devel perl-generators perl(ExtUtils::MakeMaker)
c70cf04
BuildRequires: perl(Pod::Html)
f98fbbd
213ef74
BuildRequires: clamav-devel CUnit-devel cyrus-sasl-devel glib2-devel
f98fbbd
BuildRequires: jansson-devel krb5-devel libical-devel libnghttp2-devel
213ef74
BuildRequires: libxml2-devel net-snmp-devel openldap-devel
f98fbbd
BuildRequires: openssl-devel postgresql-devel shapelib-devel sqlite-devel
f98fbbd
BuildRequires: xapian-core-devel
f98fbbd
c70cf04
# Miscellaneous modules needed for 'make check' to function:
176b9d0
BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
5a7ae23
5ebd7de
%if %{with cassandane}
9a65b5c
# Additional packages required for cassandane to function
9a65b5c
BuildRequires: imaptest net-tools words
f98fbbd
BuildRequires: perl(AnyEvent) perl(BSD::Resource) perl(Clone)
f98fbbd
BuildRequires: perl(File::chdir) perl(IO::Socket::INET6) perl(Mail::IMAPTalk)
f98fbbd
BuildRequires: perl(Config::IniFiles) perl(Mail::JMAPTalk) perl(Math::Int64)
f98fbbd
BuildRequires: perl(Net::CalDAVTalk) perl(Net::CardDAVTalk)
9a65b5c
BuildRequires: perl(Net::Server) perl(News::NNTPClient) perl(Path::Tiny)
9a65b5c
BuildRequires: perl(String::CRC32) perl(Sys::Syslog)
9a65b5c
BuildRequires: perl(Test::Unit::TestRunner) perl(Time::HiRes)
c70cf04
BuildRequires: perl(Unix::Syslog) perl(XML::DOM) perl(XML::Generator)
9a65b5c
9a65b5c
# These were only for JMAP-Tester
9a65b5c
# perl(Moo), perl(Moose), perl(MooseX::Role::Parameterized) perl(Throwable), perl(Safe::Isa)
5ebd7de
%endif
b91cae1
b324cd1
Requires(pre): shadow-utils
c254513
Requires(post): /sbin/ldconfig
c254513
Requires(postun): /sbin/ldconfig
d889d66
%{?systemd_requires}
b91cae1
32ed4ae
Requires: %name-utils = %version-%release
c254513
Recommends: %name-vzic = %version-%release
be39b05
Requires: file libdb-utils sscg
11bc669
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
38f2261
f0183d3
%{?perl_default_filter}
f0183d3
38f2261
%description
f98fbbd
The Cyrus IMAP (Internet Message Access Protocol) server provides access to
f98fbbd
personal mail, system-wide bulletin boards, news-feeds, calendar and contacts
f98fbbd
through the IMAP, JMAP, NNTP, CalDAV and CardDAV protocols. The Cyrus IMAP
f98fbbd
server is a scalable enterprise groupware system designed for use from small to
f98fbbd
large enterprise environments using technologies based on well-established Open
f98fbbd
Standards.
f98fbbd
f98fbbd
A full Cyrus IMAP implementation allows a seamless mail and bulletin board
f98fbbd
environment to be set up across one or more nodes. It differs from other IMAP
f98fbbd
server implementations in that it is run on sealed nodes, where users are not
f98fbbd
normally permitted to log in. The mailbox database is stored in parts of the
f98fbbd
filesystem that are private to the Cyrus IMAP system. All user access to mail
f98fbbd
is through software using the IMAP, IMAPS, JMAP, POP3, POP3S, KPOP, CalDAV
f98fbbd
and/or CardDAV protocols.
f98fbbd
f98fbbd
The private mailbox database design gives the Cyrus IMAP server large
f98fbbd
advantages in efficiency, scalability, and administratability. Multiple
f98fbbd
concurrent read/write connections to the same mailbox are permitted. The server
f98fbbd
supports access control lists on mailboxes and storage quotas on mailbox
f98fbbd
hierarchies.
f98fbbd
38f2261
d4035a6
%package devel
d4035a6
Summary: Cyrus IMAP server development files
9a65b5c
Requires: %name%{?_isa} = %version-%release
d4035a6
Requires: pkgconfig
d4035a6
d4035a6
%description devel
9a65b5c
The %name-devel package contains header files and libraries
d4035a6
necessary for developing applications which use the imclient library.
d4035a6
d4035a6
d4035a6
%package doc-extra
d4035a6
Summary: Extra documentation for the Cyrus IMAP server
d4035a6
BuildArch: noarch
d4035a6
d4035a6
%description doc-extra
d4035a6
This package contains the HTML documentation for the Cyrus IMAP server, as well
d4035a6
as some legacy and internal documentation not useful for normal operation of
d4035a6
the server.
d4035a6
d4035a6
d4035a6
%package utils
d4035a6
Summary: Cyrus IMAP server administration utilities
d4035a6
d4035a6
%description utils
d4035a6
The cyrus-imapd-utils package contains administrative tools for the
d4035a6
Cyrus IMAP server. It can be installed on systems other than the
d4035a6
one running the server.
d4035a6
d4035a6
32ed4ae
%package vzic
32ed4ae
Summary: Utilities to convert timezone database files
32ed4ae
License: GPLv2+
32ed4ae
Requires: %name = %version-%release
32ed4ae
# Contains a lightly forked version of vzic.  This seems to have been bundled
c254513
# into various other things and it's old, so I'm not sure where the upstream
c254513
# is.  Here are a couple of possible upstreams:
32ed4ae
# https://github.com/libical/vzic
32ed4ae
# https://sourceforge.net/projects/vzic/
32ed4ae
# It is probably a good idea to split it out and package it separately, but the
32ed4ae
# code here definitely differs from that at the second link above.
32ed4ae
Provides: bundled(vzic) = 1.3
32ed4ae
32ed4ae
%description vzic
32ed4ae
vzic is a program to convert the Olson timezone database files into VTIMEZONE
32ed4ae
files compatible with the iCalendar specification (RFC2445).
32ed4ae
32ed4ae
This package contains a forked version of vzic for internal use by the Cyrus
32ed4ae
IMAP server.
32ed4ae
5a7ae23
# Build dir is either $PWD, $(pwd) or %
32ed4ae
38f2261
%prep
c70cf04
%autosetup -p1 -S git
f98fbbd
5a7ae23
# Install the Fedora-specific documentation file
4339e19
install -m 644 %SOURCE16 doc/
f397365
5a7ae23
# Unpack and prepare cassandane
c70cf04
tar xf %SOURCE80
5a7ae23
ln -s cassandane-%cmt1 cassandane
5a7ae23
pushd cassandane
5a7ae23
mkdir work
c70cf04
tar xf %SOURCE81
5a7ae23
c70cf04
patch -p1 < %SOURCE91
9a65b5c
patch -p1 < %SOURCE92
c70cf04
cp %SOURCE82 cassandane.ini
8965061
# RF rpm-buildroot-usage
5a7ae23
sed -i \
c70cf04
    -e "s!CASSDIR!$(pwd)!" \
5a7ae23
    -e "s!BUILDROOT!%buildroot!" \
5a7ae23
    cassandane.ini
c70cf04
c70cf04
cp %SOURCE83 redirect-syslog.c
5a7ae23
popd
d4035a6
38f2261
%build
f98fbbd
# This is the test suite, which doesn't build much but does verify its dependencies.
f98fbbd
# If this is done after the configure call, the one thing it does build fails
f98fbbd
# because the configure macro puts some hardening flags into the environment.
5ebd7de
%if %{with cassandane}
f98fbbd
pushd cassandane
f98fbbd
make
f98fbbd
popd
5ebd7de
%endif
f98fbbd
f98fbbd
# Options not enabled:
f98fbbd
# --enable-objectstore
f98fbbd
#   It's experimental, and it doesn't appear that either openio or caringo are
f98fbbd
#   in Fedora.
5a7ae23
# --with-mysql
5a7ae23
#   libmysqlclient doesn't support openssl 1.1 and you can't two versions of
5a7ae23
#   openssl linked into the same program.
f98fbbd
5a7ae23
# --with-cyrus-prefix and --with-service-path went away; use --with-libexecdir=
5a7ae23
# instead.
f98fbbd
9a65b5c
# Running autoreconf will confuse the program about what version it is.
9a65b5c
# autoreconf -vi
9a65b5c
213ef74
%configure \
f98fbbd
    --disable-silent-rules \
f98fbbd
    \
213ef74
    --libexecdir=%cyrexecdir \
c70cf04
    --with-extraident="%release Fedora" \
1e1862c
    --with-krbimpl=mit \
1e1862c
    --with-ldap=/usr \
f98fbbd
    --with-pgsql \
1df29a3
    --with-perl=%__perl \
1e1862c
    --with-snmp \
1e1862c
    --with-syslogfacility=MAIL \
f98fbbd
    \
1e1862c
    --enable-autocreate \
f98fbbd
    --enable-backup \
f98fbbd
    --enable-calalarmd \
1e1862c
    --enable-http \
1e1862c
    --enable-idled \
f98fbbd
    --enable-jmap \
1e1862c
    --enable-murder \
1e1862c
    --enable-nntp \
1e1862c
    --enable-replication \
1e1862c
    --enable-unit-tests \
f98fbbd
    --enable-xapian \
f98fbbd
#
1e1862c
26a5a53
# The configure script will set up the Perl makefiles, but not in the way
26a5a53
# Fedora needs them.  So regenerate them manually.
26a5a53
for i in perl/annotator perl/imap perl/sieve/managesieve; do
26a5a53
    pushd $i
26a5a53
    perl Makefile.PL INSTALLDIRS=vendor # NO_PERLOCAL=1 NO_PACKLIST=1
26a5a53
    popd
26a5a53
done
26a5a53
1e1862c
%make_build
1e1862c
1df29a3
# This isn't built by default, but this package has always installed it.
f3be05b
make notifyd/notifytest
f3be05b
26a5a53
# Also not built by default, but the tools are needed for serving timezone info
f3be05b
make -C tools/vzic
1df29a3
f98fbbd
094b4f7
%install
1df29a3
make install DESTDIR=%buildroot
1df29a3
f3be05b
# Install some additional binaries
1df29a3
1df29a3
# Create directories
1df29a3
install -d \
1df29a3
    %buildroot/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \
1df29a3
    %buildroot/%_libdir/sasl \
1df29a3
    %buildroot/var/spool/imap \
1df29a3
    %buildroot/var/lib/imap/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup,meta} \
1df29a3
    %buildroot/var/lib/imap/ptclient \
1df29a3
    %buildroot/%_datadir/%name/rpm \
f98fbbd
    %buildroot/%cyrexecdir \
1df29a3
    %buildroot/etc/pki/%name
1df29a3
f98fbbd
f3be05b
# Some tools which aren't installed by the makefile which we want
1df29a3
install -m 755 notifyd/notifytest  %buildroot%_bindir/
1df29a3
install -m 755 perl/imap/cyradm    %buildroot%_bindir/
f3be05b
for i in arbitronsort.pl convert-sieve.pl dohash masssievec \
f3be05b
        migrate-metadata mkimap mknewsgroups mupdate-loadgen.pl \
f3be05b
        rehash translatesieve undohash upgradesieve; do
f3be05b
    install -m 755 tools/$i %buildroot/%cyrexecdir/
f3be05b
done
38f2261
f3be05b
for i in vzic vzic-test.pl vzic-merge.pl vzic-dump.pl; do
f3be05b
    install -m 755 tools/vzic/$i %buildroot/%cyrexecdir/
38f2261
done
38f2261
38f2261
# Install additional files
e3b1f18
install -p -m 644 %SOURCE10 %buildroot/etc/logrotate.d/%name
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/pop
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/imap
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/sieve
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/mupdate
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/lmtp
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/nntp
a19e54f
install -p -m 644 %SOURCE11 %buildroot/etc/pam.d/csync
6e07aff
install -p -m 644 %SOURCE12 %buildroot/etc/sysconfig/%name
9a65b5c
install -p -m 755 %SOURCE13   %buildroot/%cyrexecdir/cvt_cyrusdb_all
9a65b5c
install -p -m 644 %SOURCE14   %buildroot/%_datadir/%name/rpm/magic
684974c
install -p -m 755 %SOURCE15 %buildroot/etc/cron.daily/%name
f98fbbd
install -p -m 644 doc/examples/cyrus_conf/prefork.conf %buildroot/etc/cyrus.conf
f98fbbd
install -p -m 644 doc/examples/imapd_conf/normal.conf %buildroot/etc/imapd.conf
9a65b5c
install -p -D -m 644 %SOURCE17 %buildroot/%_unitdir/cyrus-imapd.service
9a65b5c
install -p -D -m 644 %SOURCE18 %buildroot/%_unitdir/cyrus-imapd-init.service
f98fbbd
f98fbbd
cat >> %buildroot/etc/imapd.conf <
f98fbbd
f98fbbd
# These three files will automatically be generated by the systemd unit when
f98fbbd
# the service starts for the first time.
f98fbbd
tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
f98fbbd
tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd-key.pem
f98fbbd
tls_ca_file: /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem
f98fbbd
END
f98fbbd
094b4f7
# Cleanup of doc dir
aff2484
find doc perl -name CVS -type d -prune -exec rm -rf {} \;
aff2484
find doc perl -name .cvsignore -type f -exec rm -f {} \;
aff2484
rm -f doc/Makefile.dist*
aff2484
rm -f doc/text/htmlstrip.c
aff2484
rm -f doc/text/Makefile
aff2484
rm -rf doc/man
094b4f7
094b4f7
# fix permissions on perl .so files
f98fbbd
find %buildroot/%_libdir/perl5/ -type f -name "*.so" -exec chmod 755 {} \;
26fefd3
9e566a4
# Generate db config file
213ef74
# XXX Is this still necessary?
9e566a4
( grep '^{' lib/imapoptions | grep _db | cut -d'"' -f 2,4 | \
9e566a4
  sed -e 's/^ *//' -e 's/-nosync//' -e 's/ *$//' -e 's/"/=/'
583c7ed
  echo sieve_version=2.2.3 ) | sort > %buildroot/%_datadir/%name/rpm/db.cfg
9e566a4
66ca73e
# create the ghost pem file
f3be05b
touch %buildroot/%ssl_pem_file
66ca73e
9a65b5c
# Cyrus has various files with extremely conflicting names.  Some of these are
213ef74
# not unexpected ("imapd" itself) but some like "httpd" are rather surprising.
38f2261
213ef74
# Where there are only conflicting manpages, they have been moved to a "8cyrus"
213ef74
# section.  If the binary was renamed, then the manpages are renamed to match
213ef74
# but a internal replacement has not been done.  This may lead to more
213ef74
# confusion but involves modifying fewer upstream files.
213ef74
213ef74
# Actual binary conflicts
Tomas Janousek 8eb9b8d
# Rename 'fetchnews' binary and manpage to avoid clash with leafnode
213ef74
mv %buildroot/%_sbindir/fetchnews %buildroot/%cyrexecdir/cyr_fetchnews
213ef74
mv %buildroot/%_mandir/man8/fetchnews.8 %buildroot/%_mandir/man8/cyr_fetchnews.8
213ef74
213ef74
# fix conflicts with uw-imap
213ef74
mv %buildroot/%_mandir/man8/imapd.8 %buildroot/%_mandir/man8/imapd.8cyrus
213ef74
mv %buildroot/%_mandir/man8/pop3d.8 %buildroot/%_mandir/man8/pop3d.8cyrus
213ef74
213ef74
# Rename 'master' manpage
213ef74
mv %buildroot/%_mandir/man8/master.8 %buildroot/%_mandir/man8/master.8cyrus
38f2261
1a5c4ef
# Rename 'httpd' manpage to avoid clash with Apache
213ef74
mv %buildroot/%_mandir/man8/httpd.8 %buildroot/%_mandir/man8/cyr_httpd.8
1a5c4ef
3ae5a03
#remove executable bit from docs
3ae5a03
for ddir in doc perl/imap/examples
3ae5a03
do
9a65b5c
  find $ddir -type f -ls -exec chmod -x {} \;
3ae5a03
done
3ae5a03
e27ddb3
# Remove pointless libtool archives
e27ddb3
rm %buildroot/%_libdir/*.la
e27ddb3
38f2261
# Remove installed but not packaged files
26a5a53
rm %buildroot/%cyrexecdir/pop3proxyd
26a5a53
find %buildroot -name "perllocal.pod" -exec rm {} \;
26a5a53
find %buildroot -name ".packlist" -exec rm {} \;
38f2261
38f2261
213ef74
%check
c70cf04
make %{?_smp_mflags} check || exit 1
213ef74
5ebd7de
%if %{with cassandane}
9a65b5c
# Run the Cassandane test suite.  This will exhaustively test the various
9a65b5c
# server components, but running it in a mock chroot is rather an exercise.
5a7ae23
pushd cassandane
c70cf04
9a65b5c
mkdir -p imaptest/src
9a65b5c
ln -s /usr/bin/imaptest imaptest/src
9a65b5c
ln -s /usr/share/imaptest/tests imaptest/src
9a65b5c
9a65b5c
c70cf04
# Build the syslog interposer
c70cf04
gcc -fPIC -shared -Wl,-soname,-libredirectsyslog.so.0 -ldl -o libredirectsyslog.so.0.0 redirect-syslog.c
c70cf04
c70cf04
export LD_LIBRARY_PATH=%buildroot/%_libdir
9a65b5c
export CYRUS_USER=$USER
9a65b5c
9a65b5c
# These are all the tests I have managed to make work at this time.
9a65b5c
# Note that Cassandane::Test::Core must always be excluded; it can't possibly
9a65b5c
# work.  The others are expected on 3.0.1 and should be removed and re-checked
9a65b5c
# at each release.
9a65b5c
9a65b5c
# Add -vvv for too much output
9a65b5c
./testrunner.pl %{?_smp_mflags} -f pretty \
9a65b5c
    !Cassandane::Test::Core \
9a65b5c
    !Admin.imap_admins \
9a65b5c
    !Fetch.fetch_flags_before_exists \
9a65b5c
    !JMAPCalendars.getcalendarevents_properties \
9a65b5c
    !JMAPCalendars.getcalendarevents_relatedto \
9a65b5c
    !JMAPCalendars.getcalendarevents_simple \
9a65b5c
    !JMAPCalendars.setcalendarevents_alerts \
9a65b5c
    !JMAPCalendars.setcalendarevents_locations \
9a65b5c
    !JMAPCalendars.setcalendarevents_participants \
9a65b5c
    !JMAPCalendars.setcalendarevents_recurrenceoverrides \
9a65b5c
    !JMAPCalendars.setcalendarevents_relatedto \
9a65b5c
    !JMAPMail.getmessagelist_attachments \
9a65b5c
    !JMAPMail.getmessagelist_window \
9a65b5c
    !JMAPMail.getmessages_body_nontext \
9a65b5c
    !JMAPMail.getmessages_attachment_name \
9a65b5c
    !JMAPMail.setmailboxes_destroy_empty \
9a65b5c
    !Quota.num_folders_rename \
9a65b5c
    !SearchFuzzy.cjk_words \
9a65b5c
    !SearchFuzzy.xattachmentname \
9a65b5c
    2>&1
9a65b5c
5ebd7de
%endif
c70cf04
213ef74
38f2261
%pre
094b4f7
# Create 'cyrus' user on target host
6d20ca4
getent group saslauth >/dev/null || /usr/sbin/groupadd -g %gid -r saslauth
6d20ca4
getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /var/lib/imap -g %cyrusgroup \
6d20ca4
  -G saslauth -s /sbin/nologin -u %uid -r %cyrususer
38f2261
38f2261
%post
32ed4ae
/sbin/ldconfig
0cb4bd9
%systemd_post cyrus-imapd.service
0cb4bd9
Tomas Janousek 5da093f
%preun
0cb4bd9
%systemd_preun cyrus-imapd.service
Tomas Janousek 5da093f
Tomas Janousek 5da093f
%postun
32ed4ae
/sbin/ldconfig
0cb4bd9
%systemd_postun_with_restart cyrus-imapd.service
41d9d31
d4035a6
38f2261
%files
f3be05b
%license COPYING
d4035a6
%doc README.md doc/README.* doc/examples doc/text
6233132
6233132
%_datadir/cyrus-imapd
6233132
%_libdir/libcyrus*.so.*
6233132
%_mandir/man5/*
6233132
%_mandir/man8/*
6233132
6233132
%dir /etc/pki/cyrus-imapd
6233132
%attr(0640,root,%cyrusgroup) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %ssl_pem_file
6233132
1e1862c
%config(noreplace) /etc/cyrus.conf
1e1862c
%config(noreplace) /etc/imapd.conf
04c5de2
%config(noreplace) /etc/logrotate.d/cyrus-imapd
04c5de2
%config(noreplace) /etc/sysconfig/cyrus-imapd
32ed4ae
%config(noreplace) /etc/pam.d/*
6233132
6233132
/etc/cron.daily/cyrus-imapd
6233132
%_unitdir/cyrus-imapd.service
be39b05
%_unitdir/cyrus-imapd-init.service
6233132
32ed4ae
%dir %cyrexecdir/
32ed4ae
%cyrexecdir/[a-uw-z]*
6233132
6233132
%attr(0750,%cyrususer,%cyrusgroup) %dir /var/lib/imap
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/backup/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/db/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/log/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/meta/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/md5/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/msg/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/proc/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/ptclient/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/quota/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/rpm/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/sieve/
6233132
%attr(0750,%cyrususer,%cyrusgroup) /var/lib/imap/socket
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/sync/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/lib/imap/user/
6233132
%attr(0700,%cyrususer,%cyrusgroup) /var/spool/imap/
6233132
38f2261
38f2261
%files devel
6233132
%_includedir/cyrus/
212beea
%_libdir/libcyrus*.so
e27ddb3
%_libdir/pkgconfig/*.pc
e27ddb3
%_mandir/man3/imclient.3*
38f2261
d4035a6
d4035a6
%files doc-extra
d4035a6
%doc doc/html doc/internal doc/legacy
d4035a6
d4035a6
9d65fa6
%files utils
b46d117
%license COPYING
38f2261
%doc perl/imap/README
38f2261
%doc perl/imap/Changes
38f2261
%doc perl/imap/examples
9d65fa6
%{_bindir}/*
1f8c110
%{_sbindir}/*
26a5a53
%{perl_vendorarch}/auto/Cyrus
26a5a53
%{perl_vendorarch}/Cyrus
26a5a53
%{perl_vendorlib}/Cyrus
26a5a53
%{_mandir}/man3/*.3pm*
38f2261
%{_mandir}/man1/*
38f2261
d4035a6
d4035a6
%files vzic
d4035a6
%cyrexecdir/vzic*
d4035a6
d4035a6
38f2261
%changelog
f98fbbd
* Thu Apr 20 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.1-1
f98fbbd
- Initial attempt at importing 3.0.  Many new dependencies.
f98fbbd
- Use a stock sample imapd.conf file instead of a Fedora-provided one.
f98fbbd
597d10c
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.10-3
597d10c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
597d10c
1a5c4ef
* Mon Jan 09 2017 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.5.10-2
1a5c4ef
- Rename httpd manpage to "cyrhttpd" to avoid conflict with the httpd package.
1a5c4ef
f3be05b
* Wed Nov 23 2016 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.5.10-1
f3be05b
- Initial update to the 2.5 series.
92f542e
- Significant spec cleanups.
be39b05
- Add sscg dep and follow
be39b05
  https://fedoraproject.org/wiki/Packaging:Initial_Service_Setup for initial
be39b05
  cert generation.
be39b05
- Change default conf to use the system crypto policy.
f3be05b
e17985f
* Tue May 17 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.18-3
e17985f
- Perl 5.24 rebuild
e17985f
b3e5249
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.18-2
b3e5249
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
b3e5249
a55fa56
* Thu Oct 01 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.18-1
a55fa56
- Update to 2.4.18, rhbz#1267871 and rhbz#1267878
a55fa56
- Backport ff4e6c71d932b3e6bbfa67d76f095e27ff21bad0 to fix issues from
a55fa56
  http://seclists.org/oss-sec/2015/q3/651
a55fa56
399f01a
* Wed Sep 09 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.17-14
399f01a
- Use %%license tag
399f01a
- Have -devel require the base package
399f01a
- Minor cleanups
399f01a
10e891f
* Sat Aug 08 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 2.4.17-13
10e891f
- Remove invalid Patch0: URL.
10e891f
- Use HTTP for upstream source.
10e891f
- pod2html was split out of the main perl package, breaking cyrus.
10e891f
  Add a build dep for it.
10e891f
5a9e834
* Wed Jul 29 2015 Kevin Fenzi <kevin@scrye.com> 2.4.17-12
5a9e834
- Rebuild for new librpm
5a9e834
632c60c
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-11
632c60c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
632c60c
05e0980
* Fri Jun 05 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.17-10
05e0980
- Perl 5.22 rebuild
05e0980
7145224
* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 2.4.17-9
7145224
- Perl 5.20 rebuild
7145224
ccf804f
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-8
ccf804f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
ccf804f
f2d9bd5
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-7
f2d9bd5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
f2d9bd5
825f10f
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-6
825f10f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
825f10f
5929b08
* Thu Jul 18 2013 Petr Pisar <ppisar@redhat.com> - 2.4.17-5
5929b08
- Perl 5.18 rebuild
5929b08
3168cdd
* Fri Jul 12 2013 Michal Hlavinka <mhlavink@redhat.com> - 2.4.17-4
3168cdd
- spec clean up
3168cdd
58abf45
* Thu Apr 18 2013 Michal Hlavinka <mhlavink@redhat.com> - 2.4.17-3
58abf45
- make sure binaries are hardened
58abf45
6c210cf
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.17-2
6c210cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
6c210cf
Jeroen van Meeuwen (Ergo Project) d97866d
* Sat Dec  1 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.17-1
Jeroen van Meeuwen (Ergo Project) d97866d
- New upstream version, fixes upstream bugs:
3168cdd
- reconstruct doesn't retain internaldate correctly (#3733)
3168cdd
- Race condition in maibox rename (#3696)
3168cdd
- DBERROR db4: Transaction not specified for a transactional database (#3715)
3168cdd
- performance degradation on huge indexes in 2.4 branch (#3717)
3168cdd
- typo fix in imapd.conf man page (#3729)
3168cdd
- quota does not find all quotaroots if quotalegacy, fulldirhash and prefix are used and virtdomains is off (#3735)
3168cdd
- Mail delivered during XFER was lost (#3737)
3168cdd
- replication does not work on RENAME (#3742)
3168cdd
- Failed asserting during APPEND (#3754)
Jeroen van Meeuwen (Ergo Project) d97866d
c7c43b2
* Fri Nov 30 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.16-5
c7c43b2
- do not use strict aliasing
c7c43b2
0cb4bd9
* Tue Aug 21 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.16-4
0cb4bd9
- use new systemd rpm macros (#850079)
0cb4bd9
15fff38
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.16-3
15fff38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
15fff38
00e3185
* Mon Jun 11 2012 Petr Pisar <ppisar@redhat.com> - 2.4.16-2
00e3185
- Perl 5.16 rebuild
00e3185
Jeroen van Meeuwen (Ergo Project) 71ce1d6
* Thu Apr 19 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.16-1
Jeroen van Meeuwen (Ergo Project) 71ce1d6
- New upstream release
Jeroen van Meeuwen (Ergo Project) 71ce1d6
Jeroen van Meeuwen (Ergo Project) e8cbb21
* Wed Apr 18 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.15-1
Jeroen van Meeuwen (Ergo Project) e8cbb21
- New upstream release
Jeroen van Meeuwen (Ergo Project) e8cbb21
0945993
* Wed Apr 11 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.14-2
0945993
- rebuilt because of new libdb
0945993
6258b3d
* Wed Mar 14 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.14-1
6258b3d
- updated to 2.4.14
6258b3d
490dc9e
* Tue Feb 07 2012 Michal Hlavinka <mhlavink@redhat.com> - 2.4.13-3
490dc9e
- use PraveTmp in systemd unit file
490dc9e
172ef52
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.13-2
172ef52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
172ef52
Jeroen van Meeuwen (Ergo Project) 60873b9
* Mon Jan 02 2012 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.13-1
Jeroen van Meeuwen (Ergo Project) 60873b9
- New upstream release
Jeroen van Meeuwen (Ergo Project) 60873b9
58147a2
* Wed Dec 07 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-5
399f01a
- do not use digest-md5 as part of default auth mechanisms,
58147a2
  it does not coop with pam
58147a2
e0b805b
* Tue Nov 22 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-4
399f01a
- reduce noisy logging, add option to turn on LOG_DEBUG syslog
3924e4e
  messages again (thanks Philip Prindeville) (#754940)
e0b805b
c8c1f50
* Mon Oct 24 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-3
c8c1f50
- add login and digest-md5 as part of default auth mechanisms (#748278)
c8c1f50
f1a444a
* Tue Oct 11 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-2
f1a444a
- do not hide errors if cyrus user can't be added
f1a444a
db5cac6
* Wed Oct 05 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.12-1
db5cac6
- cyrus-imapd updated to 2.4.12
db5cac6
- fixes incomplete authentication checks in nntpd (Secunia SA46093)
db5cac6
Jeroen van Meeuwen (Ergo Project) f47d683
* Fri Sep  9 2011 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.4.11-1
Jeroen van Meeuwen (Ergo Project) f47d683
- update to 2.4.11
Jeroen van Meeuwen (Ergo Project) f47d683
- Fix CVE-2011-3208 (#734926, #736838)
Jeroen van Meeuwen (Ergo Project) f47d683
6fe5349
* Tue Aug 16 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.10-4
6fe5349
- rebuild with db5
6fe5349
Petr Sabata c284d5f
* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 2.4.10-3
Petr Sabata c284d5f
- Perl mass rebuild
Petr Sabata c284d5f
Petr Sabata 38931f3
* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 2.4.10-2
Petr Sabata 38931f3
- Perl mass rebuild
Petr Sabata 38931f3
Jeroen van Meeuwen (Ergo Project) 808c92b
* Wed Jul  6 2011 Jeroen van Meeuwen <kanarip@kanarip.com> - 2.4.10-1
Jeroen van Meeuwen (Ergo Project) 808c92b
- New upstream release
Jeroen van Meeuwen (Ergo Project) 808c92b
1c765ef
* Wed Jun 22 2011 Iain Arnell <iarnell@gmail.com> 2.4.8-5
1c765ef
- Patch to work with Perl 5.14
1c765ef
cd4866d
* Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.8-4
cd4866d
- Perl mass rebuild
cd4866d
37f88d5
* Fri Jun 10 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.8-3
37f88d5
- Perl 5.14 mass rebuild
37f88d5
a1eec5a
* Mon May 09 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.8-2
a1eec5a
- fixed: systemd commands in %%post (thanks Bill Nottingham)
a1eec5a
45c13ab
* Thu Apr 14 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.8-1
45c13ab
- cyrus-imapd updated to 2.4.8
45c13ab
- fixed: cannot set unlimited quota through proxy
399f01a
- fixed: reconstruct tries to set timestamps again and again
45c13ab
- fixed: response for LIST "" user is wrong
399f01a
- fixed: THREAD command doesn't support quoted charset
399f01a
- fixed crashes in mupdatetest and cyr_expire when using -x
45c13ab
41d9d31
* Mon Apr 04 2011 Michal Hlaivnka <mhlavink@redhat.com> - 2.4.7-2
41d9d31
- now using systemd
41d9d31
66faec9
* Thu Mar 31 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.7-1
66faec9
- updated to 2.4.7
66faec9
3168cdd
* Fri Feb 11 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.6-1
eaf31cf
- updated to 2.4.6
eaf31cf
- "autocreate" and "autosieve" features were removed
eaf31cf
365d195
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.16-8
365d195
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
365d195
80ce5e6
* Fri Jan 21 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-7
80ce5e6
- don't force sync io for all filesystems
80ce5e6
3168cdd
* Fri Jul 09 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-6
c92c826
- follow licensing guideline update
c92c826
- devel sub-package has to have virtual static provides (#609604)
c92c826
9d65fa6
* Mon Jun 07 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-5
9d65fa6
- spec cleanup
9d65fa6
- simplified packaging (merge -perl in -utils)
9d65fa6
- remove obsoleted and/or unmaintained additional sources/patches
9d65fa6
- remove long time not used files from the cvs/srpm
9d65fa6
- update additional sources/patches from their upstream
9d65fa6
cadb86d
* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.3.16-4
cadb86d
- Mass rebuild with perl-5.12.0
cadb86d
7c5a8df
* Tue Apr 20 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-3
7c5a8df
- add support for QoS marked traffic (#576652)
7c5a8df
ad76e47
* Thu Jan 14 2010 Michal Hlavinka <mhlavink@redhat.com> - 2.3.16-2
ad76e47
- ignore user_denny.db if missing (#553011)
ad76e47
- fix location of certificates in default imapd.conf