]> git.pld-linux.org Git - packages/dovecot.git/blobdiff - dovecot.spec
- up to 1.1.7
[packages/dovecot.git] / dovecot.spec
index eaaaa7c3edf0b1293b34713fcb27ff0a42c2e14b..bbad5369672189dc4a6df38d62948aefe08b57ee 100644 (file)
@@ -1,12 +1,52 @@
+#
+# Conditional build:
+%bcond_with    gssapi  # with GSSAPI support
+%bcond_without ldap    # without LDAP auth
+%bcond_without mysql   # without MySQL auth
+%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:       0.99.10
-Release:       0.1
-License:       LGPL v2.1
+Version:       1.1.7
+Release:       1
+Epoch:         1
+License:       MIT (libraries), LGPL v2.1 (the rest)
 Group:         Networking/Daemons
-Source0:       http://dovecot.procontrol.fi/%{name}-%{version}.tar.gz
-# Source0-md5: 26d8452366a28418cc8a114781a721b6
-URL:           http://dovecot.procontrol.fi/
+Source0:       http://dovecot.org/releases/1.1/%{name}-%{version}.tar.gz
+# Source0-md5: ea83ea2000a5b2e1744c7c97eb5585d1
+Source1:       %{name}.pamd
+Source2:       %{name}.init
+Source3:       %{name}.sysconfig
+Patch0:                %{name}-config.patch
+URL:           http://dovecot.org/
+BuildRequires: autoconf
+BuildRequires: automake
+%{?with_sasl:BuildRequires:    cyrus-sasl-devel >= 2.0}
+BuildRequires: gettext-devel
+%{?with_gssapi:BuildRequires:  krb5-devel}
+BuildRequires: libtool
+%{?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: sed >= 4.0
+%{?with_sqlite:BuildRequires:  sqlite3-devel}
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires:      pam >= 0.79.0
+Provides:      group(dovecot)
+Provides:      imapdaemon
+Provides:      user(dovecot)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -26,49 +66,202 @@ your users are in /etc/passwd there's hardly anything you have to do.
 
 Dovecot should be pretty fast, mostly because of index files that
 Dovecot maintains; instead of having to scan through all the data in
-mailbox, Dovecot can get most of the wanted information from index with
-little effort.
+mailbox, Dovecot can get most of the wanted information from index
+with little effort.
 
 Status:
- - should be quite ready for use with normal IMAP clients
- - complete IMAP4rev1 support
- - supports THREAD and SORT extensions, required by many IMAP webmails
- - complete TLS/SSL support, using either GNUTLS or OpenSSL
- - IPv6 ready
- - shared mailboxes aren't yet supported
- - Maildir++ quota isn't yet supported. Hard filesystem quota can also
-   be problematic.
- - mbox support isn't yet perfect - there's a few more or less
-   theoretical problems, but nothing too bad.
+- should be quite ready for use with normal IMAP clients
+- complete IMAP4rev1 and POP3 support
+- supports THREAD, SORT and IDLE extensions, required by many IMAP
+  webmails
+- complete TLS/SSL support
+- IPv6 ready
+- shared mailboxes aren't yet supported
+- Maildir++ quota is supported, bad hard filesystem quota can be
+  problematic
+
+%description -l pl.UTF-8
+Dovecot to serwer IMAP i POP3 dla systemów linuksowych/uniksowych,
+pisany głównie z myślą o bezpieczeństwie. Chociaż jest pisany w C,
+używa kilku technik kodowania zapobiegających większości popularnych
+pułapek.
+
+Dovecot może działać ze standardowymi formatami mbox i maildir, jest
+całkowicie kompatybilny z serwerami UW-IMAP i Courier IMAP, a także z
+klientami pocztowymi bezpośrednio dostającymi się do skrzynek.
+Planowana jest także obsługa przechowywania listów w bazach SQL.
+
+Dovecot jest łatwy do skonfigurowania i nie wymaga specjalnego
+nadzoru. Wystarczy tylko doprowadzić do działania uwierzytelnianie -
+jeśli użytkownicy są w /etc/passwd, to właściwie nie trzeba nic
+zmieniać.
+
+Dovecot powinien być w miarę szybki, głównie z powodu plików
+indeksowych utrzymywanych przez serwer; zamiast potrzeby skanowania
+wszystkich danych w skrzynce, Dovecot może małym kosztem uzyskać
+większość potrzebnych informacji z indeksu.
+
+Stan:
+- powinien być gotowy do użycia ze zwykłymi klientami IMAP
+- pełna obsługa IMAP4rev1 i POP3
+- obsługa rozszerzeń THREAD, SORT i IDLE, wymaganych przez wiele
+  webmaili IMAP
+- obsługa IPv6
+- pełna obsługa TLS/SSL
+- quota Maildir++ jest obsługiwana, ale twarda quota na systemach
+  plików może być problematyczna
+
+%package devel
+Summary:       Development package for dovecot plugins
+Summary(pl.UTF-8):     Pakiet programistyczny do tworzenia wtyczek dla dovecota
+Group:         Development/Libraries
+# doesn't require base
+
+%description devel
+Development package for dovecot plugins.
+
+%description devel -l pl.UTF-8
+Pakiet programistyczny do tworzenia wtyczek dla dovecota.
 
 %prep
 %setup -q
+%patch0 -p1
+
+%{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' dovecot-example.conf
 
 %build
+touch config.rpath
 %{__libtoolize}
 %{__aclocal}
 %{__autoconf}
 %{__autoheader}
 %{__automake}
-%configure
+%configure \
+       --disable-static \
+       %{?debug:--enable-debug} \
+       --enable-header-install \
+       %{?with_ldap:--with-ldap} \
+       %{?with_mysql:--with-mysql} \
+       %{?with_pgsql:--with-pgsql} \
+       %{?with_sasl:--with-cyrus-sasl2} \
+       %{?with_sqlite:--with-sqlite} \
+       %{?with_gssapi:--with-gssapi} \
+       --with-ssl=openssl \
+       --with-ssl-dir=/var/lib/openssl \
+       --sysconfdir=/etc/%{name}
 
 %{__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}
 
 %{__make} install \
+       moduledir=%{_libdir}/%{name}/plugins \
        DESTDIR=$RPM_BUILD_ROOT
 
-mv -f $RPM_BUILD_ROOT%{_sysconfdir}/{dovecot-example.conf,dovecot.conf}
+mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{dovecot-example.conf,dovecot.conf}
+
+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}
+
+touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
+
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins{,/imap}/*.la
+
+# devel
+for folder in deliver imap lib lib-imap lib-mail lib-storage; do
+       install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/$folder
+       install -p -m644 src/$folder/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/$folder/
+done
+for dir in lib lib-imap lib-mail lib-storage; do
+       install -d $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/src/$dir
+       install -p -m644 src/$dir/*.a $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/src/$dir
+done
+mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
+
+rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pre
+%groupadd -g 172 dovecot
+%useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
+
+%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
+
+%preun
+if [ "$1" = "0" ]; then
+       if [ -f /var/lock/subsys/dovecot ]; then
+               /etc/rc.d/init.d/dovecot stop >&2
+       fi
+       /sbin/chkconfig --del dovecot
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+       %userremove dovecot
+       %groupremove dovecot
+fi
+
+%triggerpostun -- dovecot < 1:1.1
+echo "Configuration change default_mail_env -> mail_location"
+%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
+
 %files
 %defattr(644,root,root,755)
 # COPYING contains some notes, not actual LGPL text
-%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f
-%attr(755,root,root) %{_sbindir}/dovecot
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dovecot.conf
-%attr(755,root,root) %{_libdir}/dovecot
+%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
+%attr(755,root,root) %{_sbindir}/%{name}
+%attr(755,root,root) %{_sbindir}/%{name}pw
+%attr(750,root,root) %dir %{_sysconfdir}/%{name}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}-ldap-example.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}-sql-example.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
+%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}
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
+%attr(755,root,root) %{_libdir}/%{name}/deliver
+%attr(755,root,root) %{_libdir}/%{name}/dict
+%attr(755,root,root) %{_libdir}/%{name}/dovecot-auth
+%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
+%attr(755,root,root) %{_libdir}/%{name}/idxview
+%attr(755,root,root) %{_libdir}/%{name}/imap
+%attr(755,root,root) %{_libdir}/%{name}/imap-login
+%attr(755,root,root) %{_libdir}/%{name}/convert-tool
+%attr(755,root,root) %{_libdir}/%{name}/expire-tool
+%attr(755,root,root) %{_libdir}/%{name}/listview
+%attr(755,root,root) %{_libdir}/%{name}/logview
+%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}/ssl-build-param
+%dir %{_libdir}/%{name}/plugins
+%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
+%dir %{_libdir}/%{name}/plugins/imap
+%attr(755,root,root)%{_libdir}/%{name}/plugins/imap/*.so
+%dir %{_libdir}/%{name}/plugins/lda
+%attr(755,root,root) %{_libdir}/%{name}/plugins/lda/*.so
+%dir %{_libdir}/%{name}/plugins/pop3
+%attr(755,root,root) %{_libdir}/%{name}/plugins/pop3/*.so
+%dir /var/lib/dovecot
+%dir /var/run/dovecot
+%attr(750,root,dovecot) %dir /var/run/dovecot/login
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/%{name}-devel
+%{_includedir}/%{name}
This page took 0.038933 seconds and 4 git commands to generate.