X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dovecot.spec;h=4b8c05642288b9275c3b31232abe9c7077e0c47d;hb=6bde1f23405879f83a9aaee1cd8e3ec327f0380d;hp=ec12a4098658dc7ae2af6784645e2a81dd39322c;hpb=4abf65a9ed9faad067eec90f6bb880a6f3c07ff0;p=packages%2Fdovecot.git diff --git a/dovecot.spec b/dovecot.spec index ec12a40..4b8c056 100644 --- a/dovecot.spec +++ b/dovecot.spec @@ -6,38 +6,52 @@ %bcond_without pgsql # without PostgreSQL auth %bcond_without sqlite # without SQLite3 auth %bcond_without sasl # without SASL auth -# +%bcond_without tests # tests + 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.6 +Version: 2.2.24 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: 6226485f95def28ecb4ff8fc52915762 +Source0: http://dovecot.org/releases/2.2/%{name}-%{version}.tar.gz +# Source0-md5: 91576b3411b436234ca5f63e1bbab60d Source1: %{name}.pamd Source2: %{name}.init Source3: %{name}.sysconfig +Source4: %{name}.tmpfiles Patch0: %{name}-config.patch +Patch1: %{name}-rpath.patch + +Patch3: %{name}-disableSSLv3.patch URL: http://dovecot.org/ BuildRequires: autoconf BuildRequires: automake BuildRequires: bzip2-devel +BuildRequires: clucene-core-devel >= 2.3.3.4 +BuildRequires: curl-devel %{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.0} -BuildRequires: gettext-devel +BuildRequires: expat-devel +BuildRequires: gettext-tools %{?with_gssapi:BuildRequires: heimdal-devel} BuildRequires: libcap-devel +BuildRequires: libicu-devel +BuildRequires: libstemmer-devel +BuildRequires: libexttextcat-devel BuildRequires: libtool +BuildRequires: lz4-devel %{?with_mysql:BuildRequires: mysql-devel} %{?with_ldap:BuildRequires: openldap-devel >= 2.3.3} BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pam-devel BuildRequires: pkgconfig %{?with_pgsql:BuildRequires: postgresql-devel} +BuildRequires: rpmbuild(macros) >= 1.647 BuildRequires: sed >= 4.0 %{?with_sqlite:BuildRequires: sqlite3-devel} +BuildRequires: xz-devel BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel @@ -46,7 +60,7 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: pam >= 0.79.0 Provides: group(dovecot) Provides: imapdaemon @@ -143,6 +157,9 @@ Współdzielone biblioteki Dovecota. %prep %setup -q %patch0 -p1 +%patch1 -p1 + +%patch3 -p2 %{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' doc/example-config/*.conf doc/example-config/conf.d/*.conf @@ -154,6 +171,8 @@ touch config.rpath %{__autoheader} %{__automake} %configure \ + ac_cv_prog_VALGRIND=no \ + CPPFLAGS="%{rpmcppflags} -I/usr/include/libstemmer" \ --disable-static \ %{?debug:--enable-debug} \ %{?with_ldap:--with-ldap=yes} \ @@ -161,6 +180,9 @@ touch config.rpath %{?with_pgsql:--with-pgsql} \ %{?with_sqlite:--with-sqlite} \ %{?with_gssapi:--with-gssapi=plugin} \ + --with-lucene \ + --with-stemmer \ + --with-solr \ --with-sql=plugin \ --with-pam \ --with-zlib \ @@ -169,31 +191,35 @@ touch config.rpath --with-ssl=openssl \ --with-moduledir=%{_libdir}/%{name}/plugins \ --with-ssldir=/var/lib/openssl \ - --sysconfdir=/etc + --sysconfdir=%{_sysconfdir} \ + --with-systemdsystemunitdir=%{systemdunitdir} %{__make} +%{?with_tests:%{__make} check} + %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 - -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel +find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm -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 @@ -206,19 +232,15 @@ 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 +%systemd_post dovecot.socket dovecot.service %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 +%systemd_preun dovecot.service dovecot.socket %postun if [ "$1" = "0" ]; then @@ -227,10 +249,18 @@ if [ "$1" = "0" ]; then %userremove dovenull %groupremove dovenull fi +%systemd_reload %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" @@ -257,6 +287,9 @@ if [ "$i" -eq 1 ]; then echo "Please verify contents of %{_sysconfdir}/%{name}/* files." fi +%triggerpostun -- %{name} < 1:2.2.4-2 +%systemd_trigger dovecot.service dovecot.socket + %files %defattr(644,root,root,755) # COPYING contains some notes, not actual LGPL text @@ -275,10 +308,12 @@ fi %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 @@ -287,25 +322,41 @@ fi %attr(755,root,root) %{_libdir}/%{name}/dovecot-lda %attr(755,root,root) %{_libdir}/%{name}/gdbhelper %attr(755,root,root) %{_libdir}/%{name}/imap +%attr(755,root,root) %{_libdir}/%{name}/imap-hibernate %attr(755,root,root) %{_libdir}/%{name}/imap-login -%attr(755,root,root) %{_libdir}/%{name}/listview +%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth +%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth-login +%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth-worker +%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}/quota-status %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 +%dir %{_libdir}/%{name}/plugins/stats +%attr(755,root,root) %{_libdir}/%{name}/plugins/stats/*.so +%{_datadir}/dovecot +%{systemdunitdir}/dovecot.service +%{systemdunitdir}/dovecot.socket +/usr/lib/tmpfiles.d/%{name}.conf %dir /var/lib/dovecot %dir /var/run/dovecot %attr(750,root,dovenull) %dir /var/run/dovecot/login @@ -317,22 +368,40 @@ fi %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 -%{_libdir}/%{name}-devel +%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-compression.so +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-dsync.so +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-fts.so +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so +%{?with_ldap:%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ldap.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-storage.so +%{_libdir}/%{name}/%{name}-config %{_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-compression.so.0.0.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-dsync.so.0.0.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-fts.so.0.0.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0 +%{?with_ldap:%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ldap.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-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-compression.so.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-dsync.so.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-fts.so.0 +%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0 +%{?with_ldap:%attr(755,root,root) %{_libdir}/%{name}/libdovecot-ldap.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-storage.so.0