3 %bcond_without gssapi # without GSSAPI support
4 %bcond_without ldap # without LDAP auth
5 %bcond_without mysql # without MySQL auth
6 %bcond_without pgsql # without PostgreSQL auth
7 %bcond_without sqlite # without SQLite3 auth
8 %bcond_without sasl # without SASL auth
10 Summary: IMAP and POP3 server written with security primarily in mind
11 Summary(pl.UTF-8): Serwer IMAP i POP3 pisany głównie z myślą o bezpieczeństwie
16 License: MIT (libraries), LGPL v2.1 (the rest)
17 Group: Networking/Daemons
18 Source0: http://dovecot.org/releases/2.0/%{name}-%{version}.tar.gz
19 # Source0-md5: e01a29a355afefcb9fb5f8b7a54e1a14
22 Source3: %{name}.sysconfig
23 Source4: %{name}.tmpfiles
24 Patch0: %{name}-config.patch
25 URL: http://dovecot.org/
26 BuildRequires: autoconf
27 BuildRequires: automake
28 BuildRequires: bzip2-devel
29 %{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.0}
30 BuildRequires: gettext-devel
31 %{?with_gssapi:BuildRequires: heimdal-devel}
32 BuildRequires: libcap-devel
33 BuildRequires: libtool
34 %{?with_mysql:BuildRequires: mysql-devel}
35 %{?with_ldap:BuildRequires: openldap-devel >= 2.3.3}
36 BuildRequires: openssl-devel >= 0.9.7d
37 BuildRequires: pam-devel
38 BuildRequires: pkgconfig
39 %{?with_pgsql:BuildRequires: postgresql-devel}
40 BuildRequires: sed >= 4.0
41 %{?with_sqlite:BuildRequires: sqlite3-devel}
42 BuildRequires: zlib-devel
43 Requires(post,preun): /sbin/chkconfig
44 Requires(postun): /usr/sbin/groupdel
45 Requires(postun): /usr/sbin/userdel
46 Requires(pre): /bin/id
47 Requires(pre): /usr/bin/getgid
48 Requires(pre): /usr/sbin/groupadd
49 Requires(pre): /usr/sbin/useradd
50 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
51 Requires: pam >= 0.79.0
52 Provides: group(dovecot)
54 Provides: user(dovecot)
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define no_install_post_check_so 1
60 Dovecot is an IMAP and POP3 server for Linux/UNIX-like systems,
61 written with security primarily in mind. Although it's written with C,
62 it uses several coding techniques to avoid most of the common
65 Dovecot can work with standard mbox and maildir formats and it's fully
66 compatible with UW-IMAP and Courier IMAP servers as well as mail
67 clients accessing the mailboxes directly. It's also planned to support
68 storing mails in SQL databases.
70 Dovecot is easy to set up and doesn't require special maintenance.
71 Only thing you need is to get the authentication working properly - if
72 your users are in /etc/passwd there's hardly anything you have to do.
74 Dovecot should be pretty fast, mostly because of index files that
75 Dovecot maintains; instead of having to scan through all the data in
76 mailbox, Dovecot can get most of the wanted information from index
80 - should be quite ready for use with normal IMAP clients
81 - complete IMAP4rev1 and POP3 support
82 - supports THREAD, SORT and IDLE extensions, required by many IMAP
84 - complete TLS/SSL support
86 - shared mailboxes aren't yet supported
87 - Maildir++ quota is supported, bad hard filesystem quota can be
90 %description -l pl.UTF-8
91 Dovecot to serwer IMAP i POP3 dla systemów linuksowych/uniksowych,
92 pisany głównie z myślą o bezpieczeństwie. Chociaż jest pisany w C,
93 używa kilku technik kodowania zapobiegających większości popularnych
96 Dovecot może działać ze standardowymi formatami mbox i maildir, jest
97 całkowicie kompatybilny z serwerami UW-IMAP i Courier IMAP, a także z
98 klientami pocztowymi bezpośrednio dostającymi się do skrzynek.
99 Planowana jest także obsługa przechowywania listów w bazach SQL.
101 Dovecot jest łatwy do skonfigurowania i nie wymaga specjalnego
102 nadzoru. Wystarczy tylko doprowadzić do działania uwierzytelnianie -
103 jeśli użytkownicy są w /etc/passwd, to właściwie nie trzeba nic
106 Dovecot powinien być w miarę szybki, głównie z powodu plików
107 indeksowych utrzymywanych przez serwer; zamiast potrzeby skanowania
108 wszystkich danych w skrzynce, Dovecot może małym kosztem uzyskać
109 większość potrzebnych informacji z indeksu.
112 - powinien być gotowy do użycia ze zwykłymi klientami IMAP
113 - pełna obsługa IMAP4rev1 i POP3
114 - obsługa rozszerzeń THREAD, SORT i IDLE, wymaganych przez wiele
117 - pełna obsługa TLS/SSL
118 - quota Maildir++ jest obsługiwana, ale twarda quota na systemach
119 plików może być problematyczna
122 Summary: Development package for Dovecot plugins
123 Summary(pl.UTF-8): Pakiet programistyczny do tworzenia wtyczek dla Dovecota
124 Group: Development/Libraries
125 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
128 Development package for Dovecot plugins.
130 %description devel -l pl.UTF-8
131 Pakiet programistyczny do tworzenia wtyczek dla Dovecota.
134 Summary: Dovecot shared libraries
135 Summary(pl.UTF-8): Współdzielone biblioteki Dovecota
136 Group: Development/Libraries
139 Dovecot shared libraries.
141 %description libs -l pl.UTF-8
142 Współdzielone biblioteki Dovecota.
148 %{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' doc/example-config/*.conf doc/example-config/conf.d/*.conf
159 %{?debug:--enable-debug} \
160 %{?with_ldap:--with-ldap=yes} \
161 %{?with_mysql:--with-mysql} \
162 %{?with_pgsql:--with-pgsql} \
163 %{?with_sqlite:--with-sqlite} \
164 %{?with_gssapi:--with-gssapi=plugin} \
171 --with-moduledir=%{_libdir}/%{name}/plugins \
172 --with-ssldir=/var/lib/openssl \
173 --sysconfdir=%{_sysconfdir}
178 rm -rf $RPM_BUILD_ROOT
179 install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security} \
180 $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login} \
181 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
184 DESTDIR=$RPM_BUILD_ROOT
186 mv -f $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/example-config/* $RPM_BUILD_ROOT%{_sysconfdir}/dovecot
188 cp -a %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
189 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
190 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
191 install %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
193 touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
195 find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm
197 mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
199 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
200 %{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/README
203 rm -rf $RPM_BUILD_ROOT
206 %groupadd -g 172 dovecot
207 %useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
208 %groupadd -g 254 dovenull
209 %useradd -u 254 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovenull dovenull
212 /sbin/chkconfig --add dovecot
213 %service dovecot restart
216 if [ "$1" = "0" ]; then
217 %service dovecot stop
218 /sbin/chkconfig --del dovecot
222 if [ "$1" = "0" ]; then
226 %groupremove dovenull
229 %post libs -p /sbin/ldconfig
230 %postun libs -p /sbin/ldconfig
233 # restart devocot if pam is upgraded
234 # (dovecot is linked with old libpam but tries to open modules linked with new libpam)
235 if [ "$2" != 1 ]; then
236 %service -q dovecot restart
239 %triggerpostun -- dovecot < 1:2.0.0
240 # upgrading dovecot < 1.1
241 echo "Configuration change default_mail_env -> mail_location"
242 %{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
243 # upgrading dovecot < 2.0
245 for a in /etc/dovecot/dovecot-db-example.conf \
246 /etc/dovecot/dovecot-dict-sql-example.conf \
247 /etc/dovecot/dovecot-ldap-example.conf \
248 /etc/dovecot/dovecot-sql-example.conf \
249 /etc/dovecot/dovecot.conf; do
251 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
253 echo "Trying to migrate $a config file to dovecot 2."
254 cp -a "$a" "$a-1.2.org"
257 # convert config and prefix stderr lines with #
258 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
261 if [ "$i" -eq 1 ]; then
262 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
266 %defattr(644,root,root,755)
267 # COPYING contains some notes, not actual LGPL text
268 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
269 %attr(755,root,root) %{_bindir}/doveadm
270 %attr(755,root,root) %{_bindir}/doveconf
271 %attr(755,root,root) %{_bindir}/dsync
272 %attr(755,root,root) %{_sbindir}/%{name}
273 %attr(751,root,root) %dir %{_sysconfdir}/%{name}
274 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
275 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.ext
276 %attr(751,root,root) %dir %{_sysconfdir}/%{name}/conf.d
277 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.conf
278 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.ext
279 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
280 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
281 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
282 %attr(754,root,root) /etc/rc.d/init.d/%{name}
283 %attr(755,root,root) %{_libdir}/%{name}/anvil
284 %attr(755,root,root) %{_libdir}/%{name}/auth
285 %attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
286 %attr(755,root,root) %{_libdir}/%{name}/config
287 %attr(755,root,root) %{_libdir}/%{name}/deliver
288 %attr(755,root,root) %{_libdir}/%{name}/dict
289 %attr(755,root,root) %{_libdir}/%{name}/director
290 %attr(755,root,root) %{_libdir}/%{name}/dns-client
291 %attr(755,root,root) %{_libdir}/%{name}/doveadm-server
292 %attr(755,root,root) %{_libdir}/%{name}/dovecot-lda
293 %attr(755,root,root) %{_libdir}/%{name}/gdbhelper
294 %attr(755,root,root) %{_libdir}/%{name}/imap
295 %attr(755,root,root) %{_libdir}/%{name}/imap-login
296 %attr(755,root,root) %{_libdir}/%{name}/ipc
297 %attr(755,root,root) %{_libdir}/%{name}/listview
298 %attr(755,root,root) %{_libdir}/%{name}/lmtp
299 %attr(755,root,root) %{_libdir}/%{name}/log
300 %attr(755,root,root) %{_libdir}/%{name}/maildirlock
301 %attr(755,root,root) %{_libdir}/%{name}/pop3
302 %attr(755,root,root) %{_libdir}/%{name}/pop3-login
303 %attr(755,root,root) %{_libdir}/%{name}/rawlog
304 %attr(755,root,root) %{_libdir}/%{name}/script
305 %attr(755,root,root) %{_libdir}/%{name}/script-login
306 %attr(755,root,root) %{_libdir}/%{name}/ssl-params
307 %dir %{_libdir}/%{name}/plugins
308 %attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
309 %dir %{_libdir}/%{name}/plugins/auth
310 %attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
311 %dir %{_libdir}/%{name}/plugins/dict
312 %attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
313 %dir %{_libdir}/%{name}/plugins/doveadm
314 %attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
315 /usr/lib/tmpfiles.d/%{name}.conf
316 %dir /var/lib/dovecot
317 %dir /var/run/dovecot
318 %attr(750,root,dovenull) %dir /var/run/dovecot/login
320 %{_mandir}/man1/deliver.1*
321 %{_mandir}/man1/dove*.1*
322 %{_mandir}/man1/dsync.1*
323 %{_mandir}/man7/doveadm-search-query.7*
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_libdir}/%{name}/libdovecot.so
328 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so
329 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so
330 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so
331 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so
332 %{_libdir}/%{name}-devel
333 %{_includedir}/%{name}
334 %{_aclocaldir}/dovecot.m4
337 %defattr(644,root,root,755)
338 %dir %{_libdir}/%{name}
339 %attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0.0.0
340 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0
341 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0.0.0
342 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0.0.0
343 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0.0.0
344 # Note: we are in %{_libdir}/dovecot, ldconfig does not look into this
345 # directory. This is why the following files are not %ghost
346 %attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0
347 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0
348 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0
349 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0
350 %attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0