]> git.pld-linux.org Git - packages/dovecot.git/blame - dovecot.spec
- restart on upgrade. reload is not enough. thx janekr.
[packages/dovecot.git] / dovecot.spec
CommitLineData
6865becd
JB
1#
2# Conditional build:
3ee251c0 3%bcond_without gssapi # without GSSAPI support
f4230487
JB
4%bcond_without ldap # without LDAP auth
5%bcond_without mysql # without MySQL auth
6%bcond_without pgsql # without PostgreSQL auth
b60b3e8a 7%bcond_without sqlite # without SQLite3 auth
f4230487 8%bcond_without sasl # without SASL auth
8e04a4c1 9
b8f6d56a 10Summary: IMAP and POP3 server written with security primarily in mind
7ad305a6 11Summary(pl.UTF-8): Serwer IMAP i POP3 pisany głównie z myślą o bezpieczeństwie
b8f6d56a 12Name: dovecot
4abf65a9 13Version: 2.0.6
0182c7a5 14Release: 5
660b9616 15Epoch: 1
ba932ed4 16License: MIT (libraries), LGPL v2.1 (the rest)
b8f6d56a 17Group: Networking/Daemons
301d0b92 18Source0: http://dovecot.org/releases/2.0/%{name}-%{version}.tar.gz
4abf65a9 19# Source0-md5: 6226485f95def28ecb4ff8fc52915762
8d47df47
TO
20Source1: %{name}.pamd
21Source2: %{name}.init
22Source3: %{name}.sysconfig
23Patch0: %{name}-config.patch
027cb77c 24URL: http://dovecot.org/
0928494a
JB
25BuildRequires: autoconf
26BuildRequires: automake
d9e4e4b3 27BuildRequires: bzip2-devel
f4230487 28%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.0}
b7e03084 29BuildRequires: gettext-devel
1ab66923 30%{?with_gssapi:BuildRequires: heimdal-devel}
d9e4e4b3 31BuildRequires: libcap-devel
0928494a 32BuildRequires: libtool
f4230487 33%{?with_mysql:BuildRequires: mysql-devel}
2e75e92c 34%{?with_ldap:BuildRequires: openldap-devel >= 2.3.3}
6ceb4d17 35BuildRequires: openssl-devel >= 0.9.7d
6865becd 36BuildRequires: pam-devel
b7e03084 37BuildRequires: pkgconfig
f4230487 38%{?with_pgsql:BuildRequires: postgresql-devel}
930a78ad 39BuildRequires: sed >= 4.0
a0260ad9 40%{?with_sqlite:BuildRequires: sqlite3-devel}
d9e4e4b3 41BuildRequires: zlib-devel
8d47df47 42Requires(post,preun): /sbin/chkconfig
c1df1ed1
KK
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
55a8e7e1 49Requires: %{name} = %{epoch}:%{version}-%{release}
50c4e802 50Requires: pam >= 0.79.0
c1df1ed1 51Provides: group(dovecot)
8d47df47 52Provides: imapdaemon
660b9616 53Provides: user(dovecot)
b8f6d56a
JB
54BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
4bf55e2e
JR
56%define no_install_post_check_so 1
57
b8f6d56a
JB
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
8d47df47
TO
75mailbox, Dovecot can get most of the wanted information from index
76with little effort.
b8f6d56a
JB
77
78Status:
ddfebb5d 79- should be quite ready for use with normal IMAP clients
3fcc147b
KK
80- complete IMAP4rev1 and POP3 support
81- supports THREAD, SORT and IDLE extensions, required by many IMAP
82 webmails
83- complete TLS/SSL support
ddfebb5d 84- IPv6 ready
85- shared mailboxes aren't yet supported
3fcc147b
KK
86- Maildir++ quota is supported, bad hard filesystem quota can be
87 problematic
b8f6d56a 88
db6f7644
JR
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.
0928494a 94
db6f7644
JR
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.
0928494a 99
db6f7644
JR
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ć.
0928494a 104
db6f7644 105Dovecot powinien być w miarę szybki, głównie z powodu plików
0928494a 106indeksowych utrzymywanych przez serwer; zamiast potrzeby skanowania
db6f7644
JR
107wszystkich danych w skrzynce, Dovecot może małym kosztem uzyskać
108większość potrzebnych informacji z indeksu.
0928494a
JB
109
110Stan:
db6f7644
JR
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
3fcc147b 114 webmaili IMAP
db6f7644
JR
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
0928494a 119
ee9bfb11 120%package devel
f4f4ea9e 121Summary: Development package for Dovecot plugins
122Summary(pl.UTF-8): Pakiet programistyczny do tworzenia wtyczek dla Dovecota
1f7b33f9 123Group: Development/Libraries
7fbaf96b 124Requires: %{name}-libs = %{epoch}:%{version}-%{release}
ee9bfb11
JS
125
126%description devel
f4f4ea9e 127Development package for Dovecot plugins.
d3be9b82
JB
128
129%description devel -l pl.UTF-8
f4f4ea9e 130Pakiet programistyczny do tworzenia wtyczek dla Dovecota.
ee9bfb11 131
7fbaf96b 132%package libs
133Summary: Dovecot shared libraries
134Summary(pl.UTF-8): Współdzielone biblioteki Dovecota
135Group: Development/Libraries
7fbaf96b 136
cd10b3e9 137%description libs
7fbaf96b 138Dovecot shared libraries.
139
cd10b3e9 140%description libs -l pl.UTF-8
7fbaf96b 141Współdzielone biblioteki Dovecota.
142
b8f6d56a
JB
143%prep
144%setup -q
8d47df47 145%patch0 -p1
77217d94 146
301d0b92 147%{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' doc/example-config/*.conf doc/example-config/conf.d/*.conf
b8f6d56a
JB
148
149%build
06cf0ac5 150touch config.rpath
b8f6d56a 151%{__libtoolize}
bcf4891d 152%{__aclocal} -I .
b8f6d56a
JB
153%{__autoconf}
154%{__autoheader}
155%{__automake}
6865becd 156%configure \
ba932ed4 157 --disable-static \
6865becd 158 %{?debug:--enable-debug} \
3082a74f 159 %{?with_ldap:--with-ldap=yes} \
f4230487
JB
160 %{?with_mysql:--with-mysql} \
161 %{?with_pgsql:--with-pgsql} \
a0260ad9 162 %{?with_sqlite:--with-sqlite} \
ff3fede5
AM
163 %{?with_gssapi:--with-gssapi=plugin} \
164 --with-sql=plugin \
165 --with-pam \
d9e4e4b3
AM
166 --with-zlib \
167 --with-bzlib \
168 --with-libcap \
6865becd 169 --with-ssl=openssl \
d3f43412 170 --with-moduledir=%{_libdir}/%{name}/plugins \
d9e4e4b3 171 --with-ssldir=/var/lib/openssl \
8e04a4c1 172 --sysconfdir=%{_sysconfdir}
b8f6d56a
JB
173
174%{__make}
175
176%install
177rm -rf $RPM_BUILD_ROOT
8d47df47 178install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security}
e7291b43 179install -d $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login}
b8f6d56a
JB
180
181%{__make} install \
182 DESTDIR=$RPM_BUILD_ROOT
183
d3f43412 184mv -f $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/example-config/* $RPM_BUILD_ROOT%{_sysconfdir}/dovecot
b8f6d56a 185
8e04a4c1
ER
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}
8d47df47
TO
189
190touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
191
4aef4380 192find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm
bb75c55c 193
7034c8c5 194mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
1f7b33f9 195
b927351c
CM
196rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
197rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/README
1f7b33f9 198
b8f6d56a
JB
199%clean
200rm -rf $RPM_BUILD_ROOT
201
c1df1ed1
KK
202%pre
203%groupadd -g 172 dovecot
204%useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
74a997c5
AM
205%groupadd -g 254 dovenull
206%useradd -u 254 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovenull dovenull
c1df1ed1 207
8d47df47
TO
208%post
209/sbin/chkconfig --add dovecot
0182c7a5 210%service dovecot restart
8d47df47
TO
211
212%preun
213if [ "$1" = "0" ]; then
65d55d28 214 %service dovecot stop
8d47df47
TO
215 /sbin/chkconfig --del dovecot
216fi
217
c1df1ed1
KK
218%postun
219if [ "$1" = "0" ]; then
220 %userremove dovecot
221 %groupremove dovecot
74a997c5
AM
222 %userremove dovenull
223 %groupremove dovenull
c1df1ed1
KK
224fi
225
bc5d3bcd
AM
226%post libs -p /sbin/ldconfig
227%postun libs -p /sbin/ldconfig
228
28c2da72
JR
229%triggerpostun -- dovecot < 1:2.0.0
230# upgrading dovecot < 1.1
fdaf3880
PG
231echo "Configuration change default_mail_env -> mail_location"
232%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
28c2da72 233# upgrading dovecot < 2.0
b897a7bd 234i=0
687a6849
AM
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
b897a7bd
AM
241 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
242 i=1
687a6849 243 echo "Trying to migrate $a config file to dovecot 2."
8c43f42b 244 cp -a "$a" "$a-1.2.org"
d31b09de
AM
245 :> "$a.log"
246 chmod 600 "$a.log"
8c43f42b 247 # convert config and prefix stderr lines with #
d31b09de 248 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
687a6849
AM
249 fi
250done
8c43f42b
AM
251if [ "$i" -eq 1 ]; then
252 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
253fi
fdaf3880 254
b8f6d56a
JB
255%files
256%defattr(644,root,root,755)
257# COPYING contains some notes, not actual LGPL text
caf88cd1 258%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
bb75c55c
AM
259%attr(755,root,root) %{_bindir}/doveadm
260%attr(755,root,root) %{_bindir}/doveconf
261%attr(755,root,root) %{_bindir}/dsync
8d47df47 262%attr(755,root,root) %{_sbindir}/%{name}
15872051 263%attr(751,root,root) %dir %{_sysconfdir}/%{name}
c19c6ee3 264%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
bb75c55c
AM
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
c5c6a170 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}
8d47df47 272%attr(754,root,root) /etc/rc.d/init.d/%{name}
bb75c55c
AM
273%attr(755,root,root) %{_libdir}/%{name}/anvil
274%attr(755,root,root) %{_libdir}/%{name}/auth
ee9bfb11 275%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
bb75c55c 276%attr(755,root,root) %{_libdir}/%{name}/config
ee9bfb11
JS
277%attr(755,root,root) %{_libdir}/%{name}/deliver
278%attr(755,root,root) %{_libdir}/%{name}/dict
bb75c55c
AM
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
ee9bfb11 283%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
ee9bfb11
JS
284%attr(755,root,root) %{_libdir}/%{name}/imap
285%attr(755,root,root) %{_libdir}/%{name}/imap-login
edd42453 286%attr(755,root,root) %{_libdir}/%{name}/listview
bb75c55c
AM
287%attr(755,root,root) %{_libdir}/%{name}/lmtp
288%attr(755,root,root) %{_libdir}/%{name}/log
77ad1fc7 289%attr(755,root,root) %{_libdir}/%{name}/maildirlock
ee9bfb11
JS
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
bb75c55c
AM
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
d3be9b82 296%dir %{_libdir}/%{name}/plugins
ee9bfb11 297%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
ff3fede5 298%dir %{_libdir}/%{name}/plugins/auth
8e04a4c1 299%attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
ff3fede5 300%dir %{_libdir}/%{name}/plugins/dict
8e04a4c1 301%attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
bb75c55c 302%dir %{_libdir}/%{name}/plugins/doveadm
8e04a4c1 303%attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
e7291b43 304%dir /var/lib/dovecot
c1df1ed1 305%dir /var/run/dovecot
aade0d64 306%attr(750,root,dovenull) %dir /var/run/dovecot/login
ee9bfb11 307
bb75c55c
AM
308%{_mandir}/man1/deliver.1*
309%{_mandir}/man1/dove*.1*
310%{_mandir}/man1/dsync.1*
311%{_mandir}/man7/doveadm-search-query.7*
312
ee9bfb11
JS
313%files devel
314%defattr(644,root,root,755)
8e04a4c1
ER
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
ba932ed4 319%{_libdir}/%{name}-devel
ee9bfb11 320%{_includedir}/%{name}
bb75c55c 321%{_aclocaldir}/dovecot.m4
7fbaf96b 322
323%files libs
324%defattr(644,root,root,755)
325%dir %{_libdir}/%{name}
8e04a4c1
ER
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
96e29b16 331# directory. This is why the following files are not %ghost
8e04a4c1
ER
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 1.222999 seconds and 4 git commands to generate.