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