Accepting request 559675 from home:darix:playground

new package of 2.3.0

OBS-URL: https://build.opensuse.org/request/show/559675
OBS-URL: https://build.opensuse.org/package/show/server:mail/dovecot23?expand=0&rev=1
This commit is contained in:
2017-12-24 02:20:56 +00:00
committed by Git OBS Bridge
commit 0235820ac5
16 changed files with 1154 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

28
dovecot-2.0.configfiles Normal file
View File

@@ -0,0 +1,28 @@
/etc/dovecot/README
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-director.conf
/etc/dovecot/conf.d/10-logging.conf
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/15-lda.conf
/etc/dovecot/conf.d/20-imap.conf
/etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/conf.d/20-pop3.conf
/etc/dovecot/conf.d/90-acl.conf
/etc/dovecot/conf.d/90-plugin.conf
/etc/dovecot/conf.d/90-quota.conf
/etc/dovecot/conf.d/auth-checkpassword.conf.ext
/etc/dovecot/conf.d/auth-deny.conf.ext
/etc/dovecot/conf.d/auth-ldap.conf.ext
/etc/dovecot/conf.d/auth-master.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
/etc/dovecot/conf.d/auth-static.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext
/etc/dovecot/conf.d/auth-vpopmail.conf.ext
/etc/dovecot/dovecot-db.conf.ext
/etc/dovecot/dovecot-dict-sql.conf.ext
/etc/dovecot/dovecot-ldap.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/dovecot.conf

View File

@@ -0,0 +1,2 @@
/etc/dovecot/conf.d/20-managesieve.conf
/etc/dovecot/conf.d/90-sieve.conf

31
dovecot-2.1.configfiles Normal file
View File

@@ -0,0 +1,31 @@
/etc/dovecot/README
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-director.conf
/etc/dovecot/conf.d/10-logging.conf
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/15-lda.conf
/etc/dovecot/conf.d/15-mailboxes.conf
/etc/dovecot/conf.d/20-imap.conf
/etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/conf.d/20-pop3.conf
/etc/dovecot/conf.d/90-acl.conf
/etc/dovecot/conf.d/90-plugin.conf
/etc/dovecot/conf.d/90-quota.conf
/etc/dovecot/conf.d/auth-checkpassword.conf.ext
/etc/dovecot/conf.d/auth-deny.conf.ext
/etc/dovecot/conf.d/auth-dict.conf.ext
/etc/dovecot/conf.d/auth-ldap.conf.ext
/etc/dovecot/conf.d/auth-master.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
/etc/dovecot/conf.d/auth-static.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext
/etc/dovecot/conf.d/auth-vpopmail.conf.ext
/etc/dovecot/dovecot-db.conf.ext
/etc/dovecot/dovecot-dict-auth.conf.ext
/etc/dovecot/dovecot-dict-sql.conf.ext
/etc/dovecot/dovecot-ldap.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/dovecot.conf

View File

@@ -0,0 +1,4 @@
/etc/dovecot/conf.d/20-managesieve.conf
/etc/dovecot/conf.d/90-sieve-extprograms.conf
/etc/dovecot/conf.d/90-sieve.conf
/etc/dovecot/sieve-ldap.conf

31
dovecot-2.2.configfiles Normal file
View File

@@ -0,0 +1,31 @@
/etc/dovecot/README
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-director.conf
/etc/dovecot/conf.d/10-logging.conf
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/11-object-storage.conf
/etc/dovecot/conf.d/15-lda.conf
/etc/dovecot/conf.d/15-mailboxes.conf
/etc/dovecot/conf.d/20-imap.conf
/etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/conf.d/20-pop3.conf
/etc/dovecot/conf.d/90-acl.conf
/etc/dovecot/conf.d/90-plugin.conf
/etc/dovecot/conf.d/90-quota.conf
/etc/dovecot/conf.d/auth-checkpassword.conf.ext
/etc/dovecot/conf.d/auth-deny.conf.ext
/etc/dovecot/conf.d/auth-dict.conf.ext
/etc/dovecot/conf.d/auth-ldap.conf.ext
/etc/dovecot/conf.d/auth-master.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
/etc/dovecot/conf.d/auth-static.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext
/etc/dovecot/conf.d/auth-vpopmail.conf.ext
/etc/dovecot/dovecot-dict-auth.conf.ext
/etc/dovecot/dovecot-dict-sql.conf.ext
/etc/dovecot/dovecot-ldap.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/dovecot.conf

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54c887a493605322e5b968b86f7ba0cf5c503f68513a8cbcd866185f2b237954
size 1782375

View File

@@ -0,0 +1,4 @@
/etc/dovecot/conf.d/20-managesieve.conf
/etc/dovecot/conf.d/90-sieve-extprograms.conf
/etc/dovecot/conf.d/90-sieve.conf
/etc/dovecot/sieve-ldap.conf

View File

@@ -0,0 +1,49 @@
Index: dovecot-2.3.0.rc1/doc/example-config/conf.d/10-ssl.conf
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/example-config/conf.d/10-ssl.conf
+++ dovecot-2.3.0.rc1/doc/example-config/conf.d/10-ssl.conf
@@ -9,8 +9,8 @@
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
-ssl_cert = </etc/ssl/private/dovecot.crt
-ssl_key = </etc/ssl/private/dovecot.pem
+#ssl_cert = </etc/ssl/private/dovecot.crt
+#ssl_key = </etc/ssl/private/dovecot.pem
# If key file is password protected, give the password here. Alternatively
# give it when starting dovecot with -p parameter. Since this file is often
@@ -57,6 +57,7 @@ ssl_key = </etc/ssl/private/dovecot.pem
#ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
# To disable non-EC DH, use:
#ssl_cipher_list = ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
+ssl_cipher_list = ALL:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
# Colon separated list of elliptic curves to use. Empty value (the default)
# means use the defaults from the SSL library. P-521:P-384:P-256 would be an
@@ -65,6 +66,7 @@ ssl_key = </etc/ssl/private/dovecot.pem
# Prefer the server's order of ciphers over client's.
#ssl_prefer_server_ciphers = no
+ssl_prefer_server_ciphers = yes
# SSL crypto device to use, for valid values run "openssl engine"
#ssl_crypto_device =
@@ -73,3 +75,4 @@ ssl_key = </etc/ssl/private/dovecot.pem
# compression - Enable compression.
# no_ticket - Disable SSL session tickets.
#ssl_options =
+ssl_options = no_compression
Index: dovecot-2.3.0.rc1/src/lib-master/master-service-ssl-settings.c
===================================================================
--- dovecot-2.3.0.rc1.orig/src/lib-master/master-service-ssl-settings.c
+++ dovecot-2.3.0.rc1/src/lib-master/master-service-ssl-settings.c
@@ -55,7 +55,7 @@ static const struct master_service_ssl_s
.ssl_client_ca_file = "",
.ssl_client_ca_dir = "",
.ssl_dh = "",
- .ssl_cipher_list = "ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH",
+ .ssl_cipher_list = "ALL:!LOW:!SSLv2:!EXP:!aNULL:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH",
.ssl_curve_list = "",
.ssl_min_protocol = "TLSv1",
.ssl_cert_username_field = "commonName",

View File

@@ -0,0 +1,117 @@
Index: dovecot-2.3.0.rc1/doc/example-config/conf.d/10-ssl.conf
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/example-config/conf.d/10-ssl.conf
+++ dovecot-2.3.0.rc1/doc/example-config/conf.d/10-ssl.conf
@@ -9,7 +9,7 @@
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
-ssl_cert = </etc/ssl/certs/dovecot.pem
+ssl_cert = </etc/ssl/private/dovecot.crt
ssl_key = </etc/ssl/private/dovecot.pem
# If key file is password protected, give the password here. Alternatively
Index: dovecot-2.3.0.rc1/doc/man/doveconf.1.in
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/man/doveconf.1.in
+++ dovecot-2.3.0.rc1/doc/man/doveconf.1.in
@@ -126,7 +126,7 @@ Dump settings in simplified machine pars
.TP
.B \-x
Expand configuration variables (e.g. \(Domail_plugins \(rA quota) and show
-file contents (from e.g. ssl_cert = </etc/ssl/certs/dovecot.pem).
+file contents (from e.g. ssl_cert = </etc/ssl/private/dovecot.crt).
.\"---------------------------------
.TP
.I section_name
@@ -207,4 +207,4 @@ dict/quota = pgsql:@pkgsysconfdir@/dovec
.BR doveadm (1),
.BR dovecot (1),
.BR dovecot\-lda (1),
-.BR dsync (1)
\ No newline at end of file
+.BR dsync (1)
Index: dovecot-2.3.0.rc1/doc/mkcert.sh
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/mkcert.sh
+++ dovecot-2.3.0.rc1/doc/mkcert.sh
@@ -8,10 +8,10 @@ OPENSSL=${OPENSSL-openssl}
SSLDIR=${SSLDIR-/etc/ssl}
OPENSSLCONFIG=${OPENSSLCONFIG-dovecot-openssl.cnf}
-CERTDIR=$SSLDIR/certs
+CERTDIR=$SSLDIR/private
KEYDIR=$SSLDIR/private
-CERTFILE=$CERTDIR/dovecot.pem
+CERTFILE=$CERTDIR/dovecot.crt
KEYFILE=$KEYDIR/dovecot.pem
if [ ! -d $CERTDIR ]; then
Index: dovecot-2.3.0.rc1/doc/wiki/CompilingSource.txt
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/wiki/CompilingSource.txt
+++ dovecot-2.3.0.rc1/doc/wiki/CompilingSource.txt
@@ -142,7 +142,7 @@ non-standard path. Make sure you have th
installed, and if it is not in the standard location, set 'CPPFLAGS' and
'LDFLAGS' as shown in <the first section above.> [CompilingSource.txt]
-By default the SSL certificate is read from '/etc/ssl/certs/dovecot.pem' and
+By default the SSL certificate is read from '/etc/ssl/private/dovecot.crt' and
the private key from '/etc/ssl/private/dovecot.pem'. The '/etc/ssl' directory
can be changed using the '--with-ssldir=DIR' configure option. Both can of
course be overridden from the configuration file.
Index: dovecot-2.3.0.rc1/doc/wiki/SSL.CertificateCreation.txt
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/wiki/SSL.CertificateCreation.txt
+++ dovecot-2.3.0.rc1/doc/wiki/SSL.CertificateCreation.txt
@@ -39,7 +39,7 @@ CN matches the connected host name, othe
invalid. It's also possible to use wildcards (eg. *.domain.com) in the host
name. They should work with most clients.
-By default the certificate is created to '/etc/ssl/certs/dovecot.pem' and the
+By default the certificate is created to '/etc/ssl/private/dovecot.crt' and the
private key file is created to '/etc/ssl/private/dovecot.pem'. Also by default
the certificate will expire in 365 days. If you wish to change any of these,
modify the mkcert.sh script.
Index: dovecot-2.3.0.rc1/doc/wiki/SSL.DovecotConfiguration.txt
===================================================================
--- dovecot-2.3.0.rc1.orig/doc/wiki/SSL.DovecotConfiguration.txt
+++ dovecot-2.3.0.rc1/doc/wiki/SSL.DovecotConfiguration.txt
@@ -6,7 +6,7 @@ The most important SSL settings are (in
---%<-------------------------------------------------------------------------
ssl = yes
# Preferred permissions: root:root 0444
-ssl_cert = </etc/ssl/certs/dovecot.pem
+ssl_cert = </etc/ssl/private/dovecot.crt
# Preferred permissions: root:root 0400
ssl_key = </etc/ssl/private/dovecot.pem
---%<-------------------------------------------------------------------------
@@ -35,11 +35,11 @@ override the global setting.:
---%<-------------------------------------------------------------------------
protocol imap {
- ssl_cert = </etc/ssl/certs/imap.pem
+ ssl_cert = </etc/ssl/private/imap.crt
ssl_key = </etc/ssl/private/imap.pem
}
protocol pop3 {
- ssl_cert = </etc/ssl/certs/pop3.pem
+ ssl_cert = </etc/ssl/private/pop3.crt
ssl_key = </etc/ssl/private/pop3.pem
}
---%<-------------------------------------------------------------------------
@@ -156,11 +156,11 @@ support SNI.
---%<-------------------------------------------------------------------------
local_name imap.example.org {
- ssl_cert = </etc/ssl/certs/imap.example.org.crt
+ ssl_cert = </etc/ssl/private/imap.example.org.crt
ssl_key = </etc/ssl/private/imap.example.org.key
}
local_name imap.example2.org {
- ssl_cert = </etc/ssl/certs/imap.example2.org.crt
+ ssl_cert = </etc/ssl/private/imap.example2.org.crt
ssl_key = </etc/ssl/private/imap.example2.org.key
}
# ..etc..

3
dovecot-2.3.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de60cb470d025e4dd0f8e8fbbb4b9316dfd4930eb949d307330669ffbeaf8581
size 6635541

31
dovecot-2.3.configfiles Normal file
View File

@@ -0,0 +1,31 @@
/etc/dovecot/README
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-director.conf
/etc/dovecot/conf.d/10-logging.conf
/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-master.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/15-lda.conf
/etc/dovecot/conf.d/15-mailboxes.conf
/etc/dovecot/conf.d/20-imap.conf
/etc/dovecot/conf.d/20-lmtp.conf
/etc/dovecot/conf.d/20-pop3.conf
/etc/dovecot/conf.d/20-submission.conf
/etc/dovecot/conf.d/90-acl.conf
/etc/dovecot/conf.d/90-plugin.conf
/etc/dovecot/conf.d/90-quota.conf
/etc/dovecot/conf.d/auth-checkpassword.conf.ext
/etc/dovecot/conf.d/auth-deny.conf.ext
/etc/dovecot/conf.d/auth-dict.conf.ext
/etc/dovecot/conf.d/auth-ldap.conf.ext
/etc/dovecot/conf.d/auth-master.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-sql.conf.ext
/etc/dovecot/conf.d/auth-static.conf.ext
/etc/dovecot/conf.d/auth-system.conf.ext
/etc/dovecot/conf.d/auth-vpopmail.conf.ext
/etc/dovecot/dovecot-dict-auth.conf.ext
/etc/dovecot/dovecot-dict-sql.conf.ext
/etc/dovecot/dovecot-ldap.conf.ext
/etc/dovecot/dovecot-sql.conf.ext
/etc/dovecot/dovecot.conf

2
dovecot-rpmlintrc Normal file
View File

@@ -0,0 +1,2 @@
addFilter("incoherent-init-script-name")
addFilter("spurious-executable-perm.*/usr/share/doc/packages/dovecot/mkcert.sh")

85
dovecot23.changes Normal file
View File

@@ -0,0 +1,85 @@
-------------------------------------------------------------------
Sun Dec 24 02:04:25 UTC 2017 - mrueckert@suse.de
- Move the example-config + mkcert.sh to /usr/share/dovecot
This makes the files no longer documentation and they actually
exist on e.g. our docker image, where rpms are installed without
documentation. (boo#1070871)
-------------------------------------------------------------------
Wed Dec 20 10:32:23 UTC 2017 - mrueckert@suse.de
- starting 2.3 package based on the latest 2.2 branch
There are several new and exciting features in v2.3.0. I'm
especially happy about the new logging and statistics code, which
will allow us to generate statistics for just about everything.
We didn't have time to implement everything we wanted for them
yet, and there especially aren't all that many logging events yet
that can be used for statistics. We'll implement those to v2.3.1,
which might also mean that some of the APIs might still change in
v2.3.1 if that's required.
We also have new lib-smtp server code, which was used to
implement SMTP submission server and do a partial rewrite for
LMTP server.
Some of the larger changes:
* Various setting changes, see
https://wiki2.dovecot.org/Upgrading/2.3
If you upgrade from 2.2: Config file changes:
- Removed:
/etc/dovecot/conf.d/11-object-storage.conf
- Added:
/etc/dovecot/conf.d/20-submission.conf
* Logging rewrite started: Logging is now based on hierarchical
events. This makes it possible to do various things, like: 1)
giving consistent log prefixes, 2) enabling debug logging with
finer granularity, 3) provide logs in more machine readable
formats (e.g. json). Everything isn't finished yet, especially
a lot of the old logging code still needs to be translated to
the new way.
* Statistics rewrite started: Stats are now based on (log)
events. It's possible to gather statistics about any event
that is logged. See http://wiki2.dovecot.org/Statistics for
details
* ssl_dh setting replaces the old generated ssl-parameters.dat
* IMAP: When BINARY FETCH finds a broken mails, send [PARSE]
error instead of [UNKNOWNCTE]
* Linux: core dumping via PR_SET_DUMPABLE is no longer enabled
by default due to potential security reasons (found by cPanel
Security Team).
+ Added support for SMTP submission proxy server, which
includes support for BURL and CHUNKING extension.
+ LMTP rewrite. Supports now CHUNKING extension and mixing of
local/proxy recipients.
+ auth: Support libsodium to add support for ARGON2I and
ARGON2ID password schemes.
+ auth: Support BLF-CRYPT password scheme in all platforms
+ auth: Added LUA scripting support for passdb/userdb.
See https://wiki2.dovecot.org/AuthDatabase/Lua
- Input streams are more reliable now when there are errors or
when the maximum buffer size is reached. Previously in some
situations this could have caused Dovecot to try to read
already freed memory.
- Output streams weren't previously handling failures when
writing a trailer at the end of the stream. This mainly
affected encrypt and zlib compress ostreams, which could have
silently written truncated files if the last write happened to
fail (which shouldn't normally have ever happened).
- virtual plugin: Fixed panic when fetching mails from virtual
mailboxes with IMAP BINARY extension.
- doveadm-server: Fix potential hangs with SSL connections
- doveadm proxy: Reading commands' output from v2.2.33+ servers
could have caused the output to be corrupted or caused a
crash.
- Many other smaller fixes
- patches:
- dovecot-2.3.0-better_ssl_defaults.patch
- dovecot-2.3.0-dont_use_etc_ssl_certs.patch

740
dovecot23.spec Normal file
View File

@@ -0,0 +1,740 @@
#
# spec file for package dovecot22
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: dovecot23
Version: 2.3.0
Release: 0
%define pkg_name dovecot
%define dovecot_version 2.3.0
%define dovecot_pigeonhole_version 0.5.0
%define dovecot_branch 2.3
%define dovecot_pigeonhole_source_dir %{pkg_name}-%{dovecot_branch}-pigeonhole-%{dovecot_pigeonhole_version}
%define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole
%define restart_flag /var/run/%{pkg_name}/%{pkg_name}-restart-after-rpm-install
%if 0%{?suse_version} > 1230
%bcond_without systemd
%bcond_with textcat
%else
%bcond_with systemd
%bcond_with textcat
%endif
%bcond_without solr
%if 0%{?suse_version} > 1110
%bcond_without clucene
%bcond_without dcrypt_openssl
%bcond_without icu
%else
%bcond_with clucene
%bcond_with dcrypt_openssl
%bcond_with icu
%endif
%bcond_without sqlite
%if 0%{?suse_version} >= 1110
%bcond_without lzma
%else
%bcond_with lzma
%endif
%if 0%{?suse_version} >= 1320
%bcond_without lz4
%else
%bcond_with lz4
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: cyrus-sasl-devel
BuildRequires: flex
BuildRequires: libapparmor-devel
%if %{with icu}
BuildRequires: libicu-devel
%endif
BuildRequires: libtool
%if %{with lzma}
BuildRequires: xz-devel
%endif
%if %{with lz4}
BuildRequires: liblz4-devel
%endif
BuildRequires: libsodium-devel
BuildRequires: mysql-devel
BuildRequires: openldap2-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
BuildRequires: tcpd-devel
%if %{with sqlite}
BuildRequires: sqlite-devel > 3
%endif
%if %{with clucene}
BuildRequires: clucene-core-devel
BuildRequires: gcc-c++
%endif
%if 0%{?sles_version} == 9
BuildRequires: heimdal-devel
BuildRequires: libcap
%else
BuildRequires: krb5-devel
BuildRequires: libcap-devel
%endif
%if 0%{?suse_version} > 1020
BuildRequires: libbz2-devel
%endif
BuildRequires: lua-devel
%if %{with solr}
BuildRequires: curl-devel
BuildRequires: libexpat-devel
%endif
%if %{with textcat}
BuildRequires: libexttextcat-devel
%endif
%if %{with systemd}
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%define has_systemd 1
%endif
PreReq: shadow %fillup_prereq
# bump requires on noarch package to the version which copies the files from /usr/share/dovecot/
Requires: dovecot >= 2.3
Conflicts: otherproviders(dovecot-implementation)
Provides: dovecot-implementation = %{version}-%{release}
%if 0%{?suse_version} >= 1010
Recommends: %{name}-backend-mysql = %{version}
Recommends: %{name}-backend-pgsql = %{version}
%if %{with sqlite}
Recommends: %{name}-backend-sqlite = %{version}
%endif
%endif
Recommends: %{name}-fts = %{version}
Recommends: %{name}-fts-squat = %{version}
Url: http://www.dovecot.org
Source: http://www.dovecot.org/releases/%{dovecot_branch}/%{pkg_name}-%{dovecot_version}.tar.gz
Source1: http://pigeonhole.dovecot.org/releases/%{dovecot_branch}/%{dovecot_pigeonhole_source_dir}.tar.gz
Source2: dovecot-rpmlintrc
Source3: dovecot-2.0.configfiles
Source4: dovecot-2.1.configfiles
Source5: dovecot-2.2.configfiles
Source6: dovecot-2.3.configfiles
Source7: dovecot-2.1-pigeonhole.configfiles
Source8: dovecot-2.2-pigeonhole.configfiles
Source9: dovecot-2.3-pigeonhole.configfiles
Patch: dovecot-2.3.0-dont_use_etc_ssl_certs.patch
Patch1: dovecot-2.3.0-better_ssl_defaults.patch
Summary: IMAP and POP3 Server Written Primarily with Security in Mind
License: BSD-3-Clause and LGPL-2.1+ and MIT
Group: Productivity/Networking/Email/Servers
%description
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
%package backend-mysql
Requires: %{name} = %{version}
Provides: dovecot-backend-mysql = %{version}-%{release}
Provides: dovecot_sql_backend = %{version}-%{release}
Conflicts: otherproviders(dovecot-backend-mysql)
Summary: MySQL support for Dovecot
Group: Productivity/Networking/Email/Servers
%description backend-mysql
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for MySQL support.
%package backend-pgsql
Requires: %{name} = %{version}
Provides: dovecot-backend-pgsql = %{version}-%{release}
Provides: dovecot_sql_backend = %{version}-%{release}
Conflicts: otherproviders(dovecot-backend-pgsql)
Summary: PostgreSQL support for Dovecot
Group: Productivity/Networking/Email/Servers
%description backend-pgsql
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for PostgreSQL support.
%if %{with sqlite}
%package backend-sqlite
Requires: %{name} = %{version}
Provides: dovecot-backend-sqlite = %{version}-%{release}
Provides: dovecot_sql_backend = %{version}-%{release}
Conflicts: otherproviders(dovecot-backend-sqlite)
Summary: SQLite support for Dovecot
Group: Productivity/Networking/Email/Servers
%description backend-sqlite
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for SQLite support.
%endif
%package fts
Requires: %{name} = %{version}
Summary: Fulltext search support base plugin
Group: Productivity/Networking/Email/Servers
%description fts
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the base plugin needed for fulltext search support
%package fts-squat
Requires: %{name} = %{version}
Requires: %{name}-fts = %{version}
Summary: Fulltext search support squat plugin
Group: Productivity/Networking/Email/Servers
%description fts-squat
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for fulltext search support squat plugin.
%if %{with clucene}
%package fts-lucene
Requires: %{name} = %{version}
Requires: %{name}-fts = %{version}
Provides: dovecot-fts-clucene = %{version}-%{release}
Provides: dovecot_fts_backend = %{version}-%{release}
Conflicts: otherproviders(dovecot-fts-clucene)
Summary: Fulltext search support via CLucene
Group: Productivity/Networking/Email/Servers
%description fts-lucene
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for fulltext search support via CLucene.
%endif
%if %{with solr}
%package fts-solr
Requires: %{name} = %{version}
Requires: %{name}-fts = %{version}
Provides: dovecot-fts-solr = %{version}-%{release}
Provides: dovecot_fts_backend = %{version}-%{release}
Conflicts: otherproviders(dovecot-fts-solr)
Summary: Fulltext search support via solr
Group: Productivity/Networking/Email/Servers
%description fts-solr
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the files needed for fulltext search support via solr.
%endif
%package devel
Requires: %{name} = %{version}
Provides: dovecot-devel = %{version}-%{release}
Conflicts: otherproviders(dovecot-devel)
Summary: Development files for Dovecot plugins
Group: Development/Libraries/C and C++
%description devel
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
written primarily with security in mind. Although it is written in C,
it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and is fully
compatible with UW-IMAP and Courier IMAP servers as well as mail
clients accessing the mailboxes directly.
This package holds the file needed to compile plugins outside of the
dovecot tree.
%prep
%setup -q -n %{pkg_name}-ce-%{dovecot_version} -a 1
%patch -p1
%patch1 -p1
%{__gzip} -9v ChangeLog
# Fix plugins dir.
%{__sed} -i 's|#mail_plugin_dir = /usr/lib/dovecot|mail_plugin_dir = %{_libdir}/dovecot/modules|' doc/example-config/conf.d/10-mail.conf
%build
export CFLAGS="%{optflags}"
%if %{with clucene}
export CFLAGS="$CFLAGS -I%{_libdir}"
export CXXFLAGS="$CFLAGS -I%{_libdir}"
%endif
export CFLAGS="$CFLAGS -fpic -DPIC"
export LIBS="-pie"
%configure \
--docdir=%{_docdir}/%{pkg_name} \
--with-moduledir=%{_libdir}/%{pkg_name}/modules \
--libexecdir=%{_prefix}/lib/ \
--with-ioloop=best \
--with-ldap=plugin \
--with-sql=plugin \
--with-gssapi=plugin \
--with-pgsql \
--with-mysql \
--with-lua=plugin \
--with-apparmor \
%if %{with sqlite}
--with-sqlite \
%endif
%if %{with clucene}
--with-lucene \
%endif
%if %{with textcat}
--with-textcat \
%endif
%if %{with icu}
--with-icu \
%endif
%if %{with solr}
--with-solr \
%endif
--with-ssl=openssl \
--with-zlib \
--with-bzlib \
%if %{with lzma}
--with-lzma \
%endif
%if %{with lz4}
--with-lz4 \
%endif
--with-libcap \
--with-libwrap \
--with-docs \
%if %{with systemd}
--with-systemdsystemunitdir=%{_unitdir} \
%endif
--disable-static
make %{?_smp_mflags}
pushd %{dovecot_pigeonhole_source_dir}
%configure --with-dovecot=../ \
--with-ldap=plugin \
--docdir="%{dovecot_pigeonhole_docdir}"
make %{?_smp_mflags}
popd
%check
make check
make -C %{dovecot_pigeonhole_source_dir} test
%install
%makeinstall
%makeinstall -C %{dovecot_pigeonhole_source_dir} sieve_docdir=%{dovecot_pigeonhole_docdir}
# clean up unused files, as much as I would like to use -delete ... the old find on sles9 doesnt support it
find %{buildroot}%{_libdir}/%{pkg_name}/ -type f -name \*.la -print0 | xargs -r0 rm -fv
find %{buildroot}%{_libdir}/%{pkg_name}/ -type f -name \*.a -print0 | xargs -r0 rm -fv
# create /var directories
%{__install} -m 0755 -Dd \
%{buildroot}%{_var}/run/%{pkg_name}/login/ \
%{buildroot}%{_var}/lib/%{pkg_name}/
# install the script to create dummy selfsigned certs
pushd %{buildroot}%{_docdir}/%{pkg_name}/
mv -v {*.cnf,mkcert.sh,example-config} ../../../%{pkg_name}/
install -m 755 -d example-config/conf.d/
ln -sv ../../../%{pkg_name}/{*.cnf,mkcert.sh} .
cd example-config/
ln -sv \
../../../../%{pkg_name}/example-config/*conf \
../../../../%{pkg_name}/example-config/*ext \
.
cd conf.d/
ln -sv \
../../../../../%{pkg_name}/example-config/conf.d/* \
.
popd
# additional docs for the main package
%{__install} -m 0644 \
AUTHORS ChangeLog* COPYING* NEWS TODO README* \
%if %{with solr}
doc/*.xml \
%endif
%{buildroot}%{_docdir}/%{pkg_name}/
# install sieve docs
%{__install} -m 0755 -Dd %{buildroot}%{dovecot_pigeonhole_docdir}
pushd %{dovecot_pigeonhole_source_dir}
%__sed -i 's/\r$//' doc/rfc/*
cp -av AUTHORS COPYING* INSTALL NEWS README TODO \
examples/ doc/rfc/ doc/devel \
%{buildroot}%{dovecot_pigeonhole_docdir}/
rm %{buildroot}%{dovecot_pigeonhole_docdir}/rfc/Makefile*
popd
for i in $RPM_SOURCE_DIR/*.configfiles ; do
echo "Creating ghost files for '$i'"
for j in $(<$i) ; do
install -D -m 0644 /dev/null %{buildroot}$j
done
done
# clean up of things that are now in the unversioned package.
%if %{with systemd}
rm %{buildroot}%{_unitdir}/dovecot.{service,socket}
%endif
rm %{buildroot}%{_sysconfdir}/%{pkg_name}/README
%pre
test -n "$FIRST_ARG" || FIRST_ARG=$1
/usr/sbin/groupadd -r %{pkg_name} >/dev/null 2>&1 || :
/usr/sbin/useradd -g %{pkg_name} -s /bin/false -r -c "User for Dovecot imapd" -d %{_var}/run/%{pkg_name} %{pkg_name} >/dev/null 2>&1 || :
/usr/sbin/useradd -g %{pkg_name} -s /bin/false -r -c "User for Dovecot login" -d %{_var}/run/%{pkg_name} dovenull >/dev/null 2>&1 || :
# do not let dovecot run during upgrade rhbz#134325
if [ "$FIRST_ARG" -ge "1" ]; then
rm -f %restart_flag
%if %{with systemd}
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /bin/systemctl -a -e %{_unitdir}/%{pkg_name}.service ] ; then
/bin/systemctl is-active %{pkg_name}.service >/dev/null 2>&1 && touch %restart_flag ||:
/bin/systemctl stop %{pkg_name}.service >/dev/null 2>&1
fi
%else
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /etc/init.d/%{pkg_name} ] ; then
/etc/init.d/%{pkg_name} status >/dev/null 2>&1 && touch %restart_flag ||:
/etc/init.d/%{pkg_name} stop >/dev/null 2>&1
fi
%endif
fi
%post
/sbin/ldconfig
%postun
test -n "$FIRST_ARG" || FIRST_ARG=$1
/sbin/ldconfig
# do not let dovecot run during upgrade rhbz#134325
if [ "$FIRST_ARG" -ge "1" -a -e %restart_flag ]; then
%if %{with systemd}
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /bin/systemctl -a -e %{_unitdir}/%{pkg_name}.service ] ; then
/bin/systemctl start %{pkg_name}.service >/dev/null 2>&1 || :
fi
%else
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /etc/init.d/%{pkg_name} ] ; then
/etc/init.d/%{pkg_name} start >/dev/null 2>&1 || :
fi
%endif
rm -f %restart_flag
fi
# do not let dovecot run during upgrade rhbz#134325
# dovecot should be started again in %%postun, but it's not executed on reinstall
# if it was already started, restart_flag won't be here, so it's ok to test it again
%posttrans
if [ -e %restart_flag ]; then
%if %{with systemd}
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /bin/systemctl -a -e %{_unitdir}/%{pkg_name}.service ] ; then
/bin/systemctl start %{pkg_name}.service >/dev/null 2>&1 || :
fi
%else
# we get installed before the unversioned dovecot package is installed
# in that case we dont need to restart as there was no file to start us before
if [ -x /etc/init.d/%{pkg_name} ] ; then
/etc/init.d/%{pkg_name} start >/dev/null 2>&1 || :
fi
%endif
rm -f %restart_flag
fi
%files
%defattr(-,root,root)
%dir %{_sysconfdir}/%{pkg_name}/
%ghost %config(noreplace) /etc/dovecot/*
%{_sbindir}/%{pkg_name}
%{_bindir}/doveadm
%{_bindir}/doveconf
%{_bindir}/dsync
%{_bindir}/sieve-test
%{_bindir}/sievec
%{_bindir}/sieve-dump
%{_bindir}/sieve-filter
# subprocesses
%dir %{_prefix}/lib/%{pkg_name}
%{_prefix}/lib/%{pkg_name}/aggregator
%{_prefix}/lib/%{pkg_name}/anvil
%{_prefix}/lib/%{pkg_name}/auth
%{_prefix}/lib/%{pkg_name}/checkpassword-reply
%{_prefix}/lib/%{pkg_name}/config
%{_prefix}/lib/%{pkg_name}/decode2text.sh
%{_prefix}/lib/%{pkg_name}/deliver
%{_prefix}/lib/%{pkg_name}/dict
%{_prefix}/lib/%{pkg_name}/director
%{_prefix}/lib/%{pkg_name}/dns-client
%{_prefix}/lib/%{pkg_name}/doveadm-server
%{_prefix}/lib/%{pkg_name}/dovecot-lda
%{_prefix}/lib/%{pkg_name}/gdbhelper
%{_prefix}/lib/%{pkg_name}/imap
%{_prefix}/lib/%{pkg_name}/imap-hibernate
%{_prefix}/lib/%{pkg_name}/imap-login
%{_prefix}/lib/%{pkg_name}/imap-urlauth
%{_prefix}/lib/%{pkg_name}/imap-urlauth-login
%{_prefix}/lib/%{pkg_name}/imap-urlauth-worker
%{_prefix}/lib/%{pkg_name}/indexer
%{_prefix}/lib/%{pkg_name}/indexer-worker
%{_prefix}/lib/%{pkg_name}/ipc
%{_prefix}/lib/%{pkg_name}/lmtp
%{_prefix}/lib/%{pkg_name}/log
%{_prefix}/lib/%{pkg_name}/maildirlock
%{_prefix}/lib/%{pkg_name}/managesieve
%{_prefix}/lib/%{pkg_name}/managesieve-login
%{_prefix}/lib/%{pkg_name}/old-stats
%{_prefix}/lib/%{pkg_name}/pop3
%{_prefix}/lib/%{pkg_name}/pop3-login
%{_prefix}/lib/%{pkg_name}/quota-status
%{_prefix}/lib/%{pkg_name}/rawlog
%{_prefix}/lib/%{pkg_name}/replicator
%{_prefix}/lib/%{pkg_name}/script
%{_prefix}/lib/%{pkg_name}/script-login
%{_prefix}/lib/%{pkg_name}/stats
%{_prefix}/lib/%{pkg_name}/submission
%{_prefix}/lib/%{pkg_name}/submission-login
%{_prefix}/lib/%{pkg_name}/tcpwrap
%{_prefix}/lib/%{pkg_name}/xml2text
%{_libdir}/%{pkg_name}/libdovecot.so.*
%{_libdir}/%{pkg_name}/libdovecot-compression.so.*
%{_libdir}/%{pkg_name}/libdovecot-dsync.so.*
%{_libdir}/%{pkg_name}/libdovecot-fts.so.*
%{_libdir}/%{pkg_name}/libdovecot-lda.so.*
%{_libdir}/%{pkg_name}/libdovecot-ldap.so.*
%{_libdir}/%{pkg_name}/libdovecot-login.so.*
%{_libdir}/%{pkg_name}/libdovecot-sieve.so.*
%{_libdir}/%{pkg_name}/libdovecot-sql.so.*
%{_libdir}/%{pkg_name}/libdovecot-storage.so.*
%if %{with dcrypt_openssl}
%{_libdir}/%{pkg_name}/libdcrypt_openssl.so
%endif
# plugins
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/modules/
%{_libdir}/%{pkg_name}/modules/lib01_acl_plugin.so
%{_libdir}/%{pkg_name}/modules/lib01_apparmor_plugin.so
%{_libdir}/%{pkg_name}/modules/lib02_lazy_expunge_plugin.so
%{_libdir}/%{pkg_name}/modules/lib05_mail_crypt_acl_plugin.so
%{_libdir}/%{pkg_name}/modules/lib05_pop3_migration_plugin.so
%{_libdir}/%{pkg_name}/modules/lib05_snarf_plugin.so
%{_libdir}/%{pkg_name}/modules/lib10_last_login_plugin.so
%{_libdir}/%{pkg_name}/modules/lib10_mail_crypt_plugin.so
%{_libdir}/%{pkg_name}/modules/lib10_mail_filter_plugin.so
%{_libdir}/%{pkg_name}/modules/lib10_quota_plugin.so
%{_libdir}/%{pkg_name}/modules/lib11_trash_plugin.so
%{_libdir}/%{pkg_name}/modules/lib15_notify_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_mail_log_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_mailbox_alias_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_notify_status_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_expire_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_var_expand_crypt.so
%{_libdir}/%{pkg_name}/modules/lib20_zlib_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_push_notification_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_autocreate_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_listescape_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_quota_clone_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_replication_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_virtual_plugin.so
%{_libdir}/%{pkg_name}/modules/lib30_imap_zlib_plugin.so
%{_libdir}/%{pkg_name}/modules/lib02_imap_acl_plugin.so
%{_libdir}/%{pkg_name}/modules/lib11_imap_quota_plugin.so
%{_libdir}/%{pkg_name}/modules/lib90_sieve_plugin.so
%{_libdir}/%{pkg_name}/modules/lib90_old_stats_plugin.so
%{_libdir}/%{pkg_name}/modules/lib95_imap_sieve_plugin.so
%{_libdir}/%{pkg_name}/modules/lib95_imap_old_stats_plugin.so
%{_libdir}/%{pkg_name}/modules/lib99_welcome_plugin.so
%{_libdir}/%{pkg_name}/modules/libfs_compress.so
%{_libdir}/%{pkg_name}/modules/libfs_crypt.so
%{_libdir}/%{pkg_name}/modules/libfs_mail_crypt.so
%{_libdir}/%{pkg_name}/modules/libssl_iostream_openssl.so
#
%dir %{_libdir}/%{pkg_name}/modules/auth/
%{_libdir}/%{pkg_name}/modules/auth/libauthdb_imap.so
%{_libdir}/%{pkg_name}/modules/auth/libauthdb_ldap.so
%{_libdir}/%{pkg_name}/modules/auth/libauthdb_lua.so
%{_libdir}/%{pkg_name}/modules/auth/libmech_gssapi.so
%{_libdir}/%{pkg_name}/modules/auth/lib20_auth_var_expand_crypt.so
%dir %{_libdir}/%{pkg_name}/modules/dict/
%{_libdir}/%{pkg_name}/modules/dict/libdict_ldap.so
# more dict modules are in the sql packages
#
%dir %{_libdir}/%{pkg_name}/modules/doveadm
%{_libdir}/%{pkg_name}/modules/doveadm/libdoveadm_mail_crypt_plugin.so
%{_libdir}/%{pkg_name}/modules/doveadm/lib10_doveadm_acl_plugin.so
%{_libdir}/%{pkg_name}/modules/doveadm/lib10_doveadm_expire_plugin.so
%{_libdir}/%{pkg_name}/modules/doveadm/lib10_doveadm_quota_plugin.so*
%{_libdir}/%{pkg_name}/modules/doveadm/lib10_doveadm_sieve_plugin.so
#
%dir %{_libdir}/%{pkg_name}/modules/settings/
%{_libdir}/%{pkg_name}/modules/settings/libpigeonhole_settings.so
%{_libdir}/%{pkg_name}/modules/settings/libmanagesieve_login_settings.so
%{_libdir}/%{pkg_name}/modules/settings/libmanagesieve_settings.so
#
%dir %{_libdir}/%{pkg_name}/modules/sieve
%{_libdir}/%{pkg_name}/modules/sieve/lib10_sieve_storage_ldap_plugin.so
%{_libdir}/%{pkg_name}/modules/sieve/lib90_sieve_extprograms_plugin.so
%{_libdir}/%{pkg_name}/modules/sieve/lib90_sieve_imapsieve_plugin.so
#
%dir %{_libdir}/%{pkg_name}/modules/old-stats/
%{_libdir}/%{pkg_name}/modules/old-stats/libstats_auth.so
%{_libdir}/%{pkg_name}/modules/old-stats/libold_stats_mail.so
#
%dir %{_datadir}/%{pkg_name}/
%{_datadir}/%{pkg_name}/*.cnf
%{_datadir}/%{pkg_name}/mkcert.sh
%{_datadir}/%{pkg_name}/example-config
# doc
%{_mandir}/man1/deliver.1*
%{_mandir}/man1/doveadm*.1*
%{_mandir}/man1/doveconf.1*
%{_mandir}/man1/dovecot*.1*
%{_mandir}/man1/dsync.1*
%{_mandir}/man1/sieve-dump.1*
%{_mandir}/man1/sieve-filter.1*
%{_mandir}/man1/sieve-test.1*
%{_mandir}/man1/sievec.1*
%{_mandir}/man1/sieved.1*
%{_mandir}/man7/doveadm*.7*
%{_mandir}/man7/pigeonhole.7*
%doc %{_docdir}/%{pkg_name}
%if %{with solr}
%exclude %{_docdir}/%{pkg_name}/solr-schema.xml
%endif
# setting up permissions
%if ! %{with systemd}
%dir %attr(0755,root,root) %ghost %{_var}/run/%{pkg_name}/
%dir %attr(0750,root,%{pkg_name}) %ghost %{_var}/run/%{pkg_name}/login/
%endif
%dir %attr(0750,root,root) %{_var}/lib/%{pkg_name}/
%files fts
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/doveadm/lib20_doveadm_fts_plugin.so
%{_libdir}/%{pkg_name}/modules/lib20_fts_plugin.so
%{_datadir}/%{pkg_name}/stopwords/
%files fts-squat
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/lib21_fts_squat_plugin.so
%files backend-mysql
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/libdriver_mysql.so
%{_libdir}/%{pkg_name}/modules/auth/libdriver_mysql.so
%{_libdir}/%{pkg_name}/modules/dict/libdriver_mysql.so
%files backend-pgsql
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/libdriver_pgsql.so
%{_libdir}/%{pkg_name}/modules/auth/libdriver_pgsql.so
%{_libdir}/%{pkg_name}/modules/dict/libdriver_pgsql.so
%if %{with sqlite}
%files backend-sqlite
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/libdriver_sqlite.so
%{_libdir}/%{pkg_name}/modules/auth/libdriver_sqlite.so
%{_libdir}/%{pkg_name}/modules/dict/libdriver_sqlite.so
%endif
%if %{with clucene}
%files fts-lucene
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/lib21_fts_lucene_plugin.so
%{_libdir}/%{pkg_name}/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so
%endif
%if %{with solr}
%files fts-solr
%defattr(-,root,root,-)
%{_libdir}/%{pkg_name}/modules/lib21_fts_solr_plugin.so
%{_docdir}/%{pkg_name}/solr-schema.xml
%endif
%files devel
%defattr(-,root,root,-)
%{_datadir}/aclocal/%{pkg_name}.m4
%{_datadir}/aclocal/dovecot-pigeonhole.m4
%{_includedir}/%{pkg_name}/
%{_libdir}/%{pkg_name}/dovecot-config
%{_libdir}/%{pkg_name}/libdovecot.so
%{_libdir}/%{pkg_name}/libdovecot-compression.so
%{_libdir}/%{pkg_name}/libdovecot-dsync.so
%{_libdir}/%{pkg_name}/libdovecot-fts.so
%{_libdir}/%{pkg_name}/libdovecot-lda.so
%{_libdir}/%{pkg_name}/libdovecot-ldap.so
%{_libdir}/%{pkg_name}/libdovecot-login.so
%{_libdir}/%{pkg_name}/libdovecot-sieve.so
%{_libdir}/%{pkg_name}/libdovecot-sql.so
%{_libdir}/%{pkg_name}/libdovecot-storage.so
%changelog