%bcond_without pgsql # without PostgreSQL auth
%bcond_without sqlite # without SQLite3 auth
%bcond_without sasl # without SASL auth
-#
+
Summary: IMAP and POP3 server written with security primarily in mind
Summary(pl.UTF-8): Serwer IMAP i POP3 pisany głównie z myślą o bezpieczeństwie
Name: dovecot
-Version: 2.0.5
-Release: 2
+Version: 2.1.10
+Release: 1
Epoch: 1
License: MIT (libraries), LGPL v2.1 (the rest)
Group: Networking/Daemons
-Source0: http://dovecot.org/releases/2.0/%{name}-%{version}.tar.gz
-# Source0-md5: 7168c5bf40fdd38cceb99114547699b8
+Source0: http://dovecot.org/releases/2.1/%{name}-%{version}.tar.gz
+# Source0-md5: a5a4b3c444cf37e2c6bb6df3af87e18e
Source1: %{name}.pamd
Source2: %{name}.init
Source3: %{name}.sysconfig
+Source4: %{name}.tmpfiles
Patch0: %{name}-config.patch
URL: http://dovecot.org/
BuildRequires: autoconf
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: pam >= 0.79.0
Provides: group(dovecot)
Provides: imapdaemon
Summary: Dovecot shared libraries
Summary(pl.UTF-8): Współdzielone biblioteki Dovecota
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
%description libs
Dovecot shared libraries.
--with-ssl=openssl \
--with-moduledir=%{_libdir}/%{name}/plugins \
--with-ssldir=/var/lib/openssl \
- --sysconfdir=/etc
+ --sysconfdir=%{_sysconfdir} \
+ --with-systemdsystemunitdir=/lib/systemd/system
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security}
-install -d $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login}
+install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security} \
+ $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login} \
+ $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
mv -f $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/example-config/* $RPM_BUILD_ROOT%{_sysconfdir}/dovecot
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -a %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+install %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
-rm $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins{,/*}/*.la
+find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm
mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
-rm -r $RPM_BUILD_ROOT%{_docdir}/%{name}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
+%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/README
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add dovecot
-if [ -f /var/lock/subsys/dovecot ]; then
- /etc/rc.d/init.d/dovecot restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/dovecot start\" to start dovecot daemon."
-fi
+%service dovecot restart
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/dovecot ]; then
- /etc/rc.d/init.d/dovecot stop >&2
- fi
+ %service dovecot stop
/sbin/chkconfig --del dovecot
fi
%groupremove dovenull
fi
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%triggerin -- pam
+# restart devocot if pam is upgraded
+# (dovecot is linked with old libpam but tries to open modules linked with new libpam)
+if [ "$2" != 1 ]; then
+ %service -q dovecot restart
+fi
+
%triggerpostun -- dovecot < 1:2.0.0
# upgrading dovecot < 1.1
echo "Configuration change default_mail_env -> mail_location"
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/aggregator
%attr(755,root,root) %{_libdir}/%{name}/anvil
%attr(755,root,root) %{_libdir}/%{name}/auth
%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
%attr(755,root,root) %{_libdir}/%{name}/config
+%attr(755,root,root) %{_libdir}/%{name}/decode2text.sh
%attr(755,root,root) %{_libdir}/%{name}/deliver
%attr(755,root,root) %{_libdir}/%{name}/dict
%attr(755,root,root) %{_libdir}/%{name}/director
%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
%attr(755,root,root) %{_libdir}/%{name}/imap
%attr(755,root,root) %{_libdir}/%{name}/imap-login
-%attr(755,root,root) %{_libdir}/%{name}/listview
+%attr(755,root,root) %{_libdir}/%{name}/indexer
+%attr(755,root,root) %{_libdir}/%{name}/indexer-worker
+%attr(755,root,root) %{_libdir}/%{name}/ipc
%attr(755,root,root) %{_libdir}/%{name}/lmtp
%attr(755,root,root) %{_libdir}/%{name}/log
%attr(755,root,root) %{_libdir}/%{name}/maildirlock
%attr(755,root,root) %{_libdir}/%{name}/pop3
%attr(755,root,root) %{_libdir}/%{name}/pop3-login
%attr(755,root,root) %{_libdir}/%{name}/rawlog
+%attr(755,root,root) %{_libdir}/%{name}/replicator
%attr(755,root,root) %{_libdir}/%{name}/script
%attr(755,root,root) %{_libdir}/%{name}/script-login
%attr(755,root,root) %{_libdir}/%{name}/ssl-params
+%attr(755,root,root) %{_libdir}/%{name}/stats
+%attr(755,root,root) %{_libdir}/%{name}/xml2text
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
%dir %{_libdir}/%{name}/plugins/auth
-%attr(755,root,root)%{_libdir}/%{name}/plugins/auth/*.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
%dir %{_libdir}/%{name}/plugins/dict
-%attr(755,root,root)%{_libdir}/%{name}/plugins/dict/*.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
%dir %{_libdir}/%{name}/plugins/doveadm
-%attr(755,root,root)%{_libdir}/%{name}/plugins/doveadm/*.so
+%attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
+/usr/lib/tmpfiles.d/%{name}.conf
%dir /var/lib/dovecot
%dir /var/run/dovecot
%attr(750,root,dovenull) %dir /var/run/dovecot/login
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot.so
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ssl.so
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so
%{_libdir}/%{name}-devel
%{_includedir}/%{name}
%{_aclocaldir}/dovecot.m4
%files libs
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot.so.0.0.0
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so.0.0.0
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so.0.0.0
-%attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so.0.0.0
-%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot.so.0
-%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so.0
-%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so.0
-%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0.0.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0.0.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0.0.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ssl.so.0.0.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0.0.0
+# Note: we are in %{_libdir}/dovecot, ldconfig does not look into this
+# directory. This is why the following files are not %ghost
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ssl.so.0
+%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0