]> git.pld-linux.org Git - packages/dovecot.git/blobdiff - dovecot.spec
- up to 2.2.24
[packages/dovecot.git] / dovecot.spec
index 30abc047edafe2a663d3c1de6df91b50fb2d6ddb..4b8c05642288b9275c3b31232abe9c7077e0c47d 100644 (file)
@@ -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.5
-Release:       2
+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: 7168c5bf40fdd38cceb99114547699b8
+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,6 +60,7 @@ Requires(pre):        /bin/id
 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
@@ -132,17 +147,19 @@ Pakiet programistyczny do tworzenia wtyczek dla Dovecota.
 Summary:       Dovecot shared libraries
 Summary(pl.UTF-8):     Współdzielone biblioteki Dovecota
 Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}-%{release}
 
-%description devel
+%description libs
 Dovecot shared libraries.
 
-%description devel -l pl.UTF-8
+%description libs -l pl.UTF-8
 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
+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
@@ -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,6 +249,17 @@ 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
@@ -254,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
@@ -272,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
@@ -284,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
@@ -314,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
This page took 0.058343 seconds and 4 git commands to generate.