]> git.pld-linux.org Git - packages/dovecot.git/blame_incremental - dovecot.spec
- restart on upgrade. reload is not enough. thx janekr.
[packages/dovecot.git] / dovecot.spec
... / ...
CommitLineData
1#
2# Conditional build:
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
9
10Summary: IMAP and POP3 server written with security primarily in mind
11Summary(pl.UTF-8): Serwer IMAP i POP3 pisany głównie z myślą o bezpieczeństwie
12Name: dovecot
13Version: 2.0.6
14Release: 5
15Epoch: 1
16License: MIT (libraries), LGPL v2.1 (the rest)
17Group: Networking/Daemons
18Source0: http://dovecot.org/releases/2.0/%{name}-%{version}.tar.gz
19# Source0-md5: 6226485f95def28ecb4ff8fc52915762
20Source1: %{name}.pamd
21Source2: %{name}.init
22Source3: %{name}.sysconfig
23Patch0: %{name}-config.patch
24URL: http://dovecot.org/
25BuildRequires: autoconf
26BuildRequires: automake
27BuildRequires: bzip2-devel
28%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.0}
29BuildRequires: gettext-devel
30%{?with_gssapi:BuildRequires: heimdal-devel}
31BuildRequires: libcap-devel
32BuildRequires: libtool
33%{?with_mysql:BuildRequires: mysql-devel}
34%{?with_ldap:BuildRequires: openldap-devel >= 2.3.3}
35BuildRequires: openssl-devel >= 0.9.7d
36BuildRequires: pam-devel
37BuildRequires: pkgconfig
38%{?with_pgsql:BuildRequires: postgresql-devel}
39BuildRequires: sed >= 4.0
40%{?with_sqlite:BuildRequires: sqlite3-devel}
41BuildRequires: zlib-devel
42Requires(post,preun): /sbin/chkconfig
43Requires(postun): /usr/sbin/groupdel
44Requires(postun): /usr/sbin/userdel
45Requires(pre): /bin/id
46Requires(pre): /usr/bin/getgid
47Requires(pre): /usr/sbin/groupadd
48Requires(pre): /usr/sbin/useradd
49Requires: %{name} = %{epoch}:%{version}-%{release}
50Requires: pam >= 0.79.0
51Provides: group(dovecot)
52Provides: imapdaemon
53Provides: user(dovecot)
54BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56%define no_install_post_check_so 1
57
58%description
59Dovecot is an IMAP and POP3 server for Linux/UNIX-like systems,
60written with security primarily in mind. Although it's written with C,
61it uses several coding techniques to avoid most of the common
62pitfalls.
63
64Dovecot can work with standard mbox and maildir formats and it's fully
65compatible with UW-IMAP and Courier IMAP servers as well as mail
66clients accessing the mailboxes directly. It's also planned to support
67storing mails in SQL databases.
68
69Dovecot is easy to set up and doesn't require special maintenance.
70Only thing you need is to get the authentication working properly - if
71your users are in /etc/passwd there's hardly anything you have to do.
72
73Dovecot should be pretty fast, mostly because of index files that
74Dovecot maintains; instead of having to scan through all the data in
75mailbox, Dovecot can get most of the wanted information from index
76with little effort.
77
78Status:
79- should be quite ready for use with normal IMAP clients
80- complete IMAP4rev1 and POP3 support
81- supports THREAD, SORT and IDLE extensions, required by many IMAP
82 webmails
83- complete TLS/SSL support
84- IPv6 ready
85- shared mailboxes aren't yet supported
86- Maildir++ quota is supported, bad hard filesystem quota can be
87 problematic
88
89%description -l pl.UTF-8
90Dovecot to serwer IMAP i POP3 dla systemów linuksowych/uniksowych,
91pisany głównie z myślą o bezpieczeństwie. Chociaż jest pisany w C,
92używa kilku technik kodowania zapobiegających większości popularnych
93pułapek.
94
95Dovecot może działać ze standardowymi formatami mbox i maildir, jest
96całkowicie kompatybilny z serwerami UW-IMAP i Courier IMAP, a także z
97klientami pocztowymi bezpośrednio dostającymi się do skrzynek.
98Planowana jest także obsługa przechowywania listów w bazach SQL.
99
100Dovecot jest łatwy do skonfigurowania i nie wymaga specjalnego
101nadzoru. Wystarczy tylko doprowadzić do działania uwierzytelnianie -
102jeśli użytkownicy są w /etc/passwd, to właściwie nie trzeba nic
103zmieniać.
104
105Dovecot powinien być w miarę szybki, głównie z powodu plików
106indeksowych utrzymywanych przez serwer; zamiast potrzeby skanowania
107wszystkich danych w skrzynce, Dovecot może małym kosztem uzyskać
108większość potrzebnych informacji z indeksu.
109
110Stan:
111- powinien być gotowy do użycia ze zwykłymi klientami IMAP
112- pełna obsługa IMAP4rev1 i POP3
113- obsługa rozszerzeń THREAD, SORT i IDLE, wymaganych przez wiele
114 webmaili IMAP
115- obsługa IPv6
116- pełna obsługa TLS/SSL
117- quota Maildir++ jest obsługiwana, ale twarda quota na systemach
118 plików może być problematyczna
119
120%package devel
121Summary: Development package for Dovecot plugins
122Summary(pl.UTF-8): Pakiet programistyczny do tworzenia wtyczek dla Dovecota
123Group: Development/Libraries
124Requires: %{name}-libs = %{epoch}:%{version}-%{release}
125
126%description devel
127Development package for Dovecot plugins.
128
129%description devel -l pl.UTF-8
130Pakiet programistyczny do tworzenia wtyczek dla Dovecota.
131
132%package libs
133Summary: Dovecot shared libraries
134Summary(pl.UTF-8): Współdzielone biblioteki Dovecota
135Group: Development/Libraries
136
137%description libs
138Dovecot shared libraries.
139
140%description libs -l pl.UTF-8
141Współdzielone biblioteki Dovecota.
142
143%prep
144%setup -q
145%patch0 -p1
146
147%{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' doc/example-config/*.conf doc/example-config/conf.d/*.conf
148
149%build
150touch config.rpath
151%{__libtoolize}
152%{__aclocal} -I .
153%{__autoconf}
154%{__autoheader}
155%{__automake}
156%configure \
157 --disable-static \
158 %{?debug:--enable-debug} \
159 %{?with_ldap:--with-ldap=yes} \
160 %{?with_mysql:--with-mysql} \
161 %{?with_pgsql:--with-pgsql} \
162 %{?with_sqlite:--with-sqlite} \
163 %{?with_gssapi:--with-gssapi=plugin} \
164 --with-sql=plugin \
165 --with-pam \
166 --with-zlib \
167 --with-bzlib \
168 --with-libcap \
169 --with-ssl=openssl \
170 --with-moduledir=%{_libdir}/%{name}/plugins \
171 --with-ssldir=/var/lib/openssl \
172 --sysconfdir=%{_sysconfdir}
173
174%{__make}
175
176%install
177rm -rf $RPM_BUILD_ROOT
178install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security}
179install -d $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login}
180
181%{__make} install \
182 DESTDIR=$RPM_BUILD_ROOT
183
184mv -f $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/example-config/* $RPM_BUILD_ROOT%{_sysconfdir}/dovecot
185
186cp -a %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
187install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
188cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
189
190touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
191
192find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm
193
194mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
195
196rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
197rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/README
198
199%clean
200rm -rf $RPM_BUILD_ROOT
201
202%pre
203%groupadd -g 172 dovecot
204%useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
205%groupadd -g 254 dovenull
206%useradd -u 254 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovenull dovenull
207
208%post
209/sbin/chkconfig --add dovecot
210%service dovecot restart
211
212%preun
213if [ "$1" = "0" ]; then
214 %service dovecot stop
215 /sbin/chkconfig --del dovecot
216fi
217
218%postun
219if [ "$1" = "0" ]; then
220 %userremove dovecot
221 %groupremove dovecot
222 %userremove dovenull
223 %groupremove dovenull
224fi
225
226%post libs -p /sbin/ldconfig
227%postun libs -p /sbin/ldconfig
228
229%triggerpostun -- dovecot < 1:2.0.0
230# upgrading dovecot < 1.1
231echo "Configuration change default_mail_env -> mail_location"
232%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
233# upgrading dovecot < 2.0
234i=0
235for a in /etc/dovecot/dovecot-db-example.conf \
236 /etc/dovecot/dovecot-dict-sql-example.conf \
237 /etc/dovecot/dovecot-ldap-example.conf \
238 /etc/dovecot/dovecot-sql-example.conf \
239 /etc/dovecot/dovecot.conf; do
240 if [ -f "$a" ]; then
241 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
242 i=1
243 echo "Trying to migrate $a config file to dovecot 2."
244 cp -a "$a" "$a-1.2.org"
245 :> "$a.log"
246 chmod 600 "$a.log"
247 # convert config and prefix stderr lines with #
248 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
249 fi
250done
251if [ "$i" -eq 1 ]; then
252 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
253fi
254
255%files
256%defattr(644,root,root,755)
257# COPYING contains some notes, not actual LGPL text
258%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
259%attr(755,root,root) %{_bindir}/doveadm
260%attr(755,root,root) %{_bindir}/doveconf
261%attr(755,root,root) %{_bindir}/dsync
262%attr(755,root,root) %{_sbindir}/%{name}
263%attr(751,root,root) %dir %{_sysconfdir}/%{name}
264%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
265%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.ext
266%attr(751,root,root) %dir %{_sysconfdir}/%{name}/conf.d
267%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.conf
268%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.ext
269%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
270%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
271%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
272%attr(754,root,root) /etc/rc.d/init.d/%{name}
273%attr(755,root,root) %{_libdir}/%{name}/anvil
274%attr(755,root,root) %{_libdir}/%{name}/auth
275%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
276%attr(755,root,root) %{_libdir}/%{name}/config
277%attr(755,root,root) %{_libdir}/%{name}/deliver
278%attr(755,root,root) %{_libdir}/%{name}/dict
279%attr(755,root,root) %{_libdir}/%{name}/director
280%attr(755,root,root) %{_libdir}/%{name}/dns-client
281%attr(755,root,root) %{_libdir}/%{name}/doveadm-server
282%attr(755,root,root) %{_libdir}/%{name}/dovecot-lda
283%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
284%attr(755,root,root) %{_libdir}/%{name}/imap
285%attr(755,root,root) %{_libdir}/%{name}/imap-login
286%attr(755,root,root) %{_libdir}/%{name}/listview
287%attr(755,root,root) %{_libdir}/%{name}/lmtp
288%attr(755,root,root) %{_libdir}/%{name}/log
289%attr(755,root,root) %{_libdir}/%{name}/maildirlock
290%attr(755,root,root) %{_libdir}/%{name}/pop3
291%attr(755,root,root) %{_libdir}/%{name}/pop3-login
292%attr(755,root,root) %{_libdir}/%{name}/rawlog
293%attr(755,root,root) %{_libdir}/%{name}/script
294%attr(755,root,root) %{_libdir}/%{name}/script-login
295%attr(755,root,root) %{_libdir}/%{name}/ssl-params
296%dir %{_libdir}/%{name}/plugins
297%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
298%dir %{_libdir}/%{name}/plugins/auth
299%attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
300%dir %{_libdir}/%{name}/plugins/dict
301%attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
302%dir %{_libdir}/%{name}/plugins/doveadm
303%attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
304%dir /var/lib/dovecot
305%dir /var/run/dovecot
306%attr(750,root,dovenull) %dir /var/run/dovecot/login
307
308%{_mandir}/man1/deliver.1*
309%{_mandir}/man1/dove*.1*
310%{_mandir}/man1/dsync.1*
311%{_mandir}/man7/doveadm-search-query.7*
312
313%files devel
314%defattr(644,root,root,755)
315%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so
316%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so
317%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so
318%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so
319%{_libdir}/%{name}-devel
320%{_includedir}/%{name}
321%{_aclocaldir}/dovecot.m4
322
323%files libs
324%defattr(644,root,root,755)
325%dir %{_libdir}/%{name}
326%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0.0.0
327%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0
328%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0.0.0
329%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0.0.0
330# Note: we are in %{_libdir}/dovecot, ldconfig does not look into this
331# directory. This is why the following files are not %ghost
332%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0
333%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0
334%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0
335%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0
This page took 0.517675 seconds and 4 git commands to generate.