]> git.pld-linux.org Git - packages/dovecot.git/blame - dovecot.spec
- up to 2.0.6
[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
6865becd 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
AM
13Version: 2.0.6
14Release: 1
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 \
ff3fede5 172 --sysconfdir=/etc
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
8d47df47
TO
186install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
187install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
188install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
189
190touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
191
bb75c55c
AM
192rm $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins{,/*}/*.la
193
7034c8c5 194mv $RPM_BUILD_ROOT%{_libdir}/%{name}/dovecot-config $RPM_BUILD_ROOT%{_libdir}/%{name}-devel
1f7b33f9 195
bb75c55c 196rm -r $RPM_BUILD_ROOT%{_docdir}/%{name}
1f7b33f9 197
b8f6d56a
JB
198%clean
199rm -rf $RPM_BUILD_ROOT
200
c1df1ed1
KK
201%pre
202%groupadd -g 172 dovecot
203%useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
74a997c5
AM
204%groupadd -g 254 dovenull
205%useradd -u 254 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovenull dovenull
c1df1ed1 206
8d47df47
TO
207%post
208/sbin/chkconfig --add dovecot
209if [ -f /var/lock/subsys/dovecot ]; then
210 /etc/rc.d/init.d/dovecot restart >&2
211else
212 echo "Run \"/etc/rc.d/init.d/dovecot start\" to start dovecot daemon."
213fi
214
215%preun
216if [ "$1" = "0" ]; then
217 if [ -f /var/lock/subsys/dovecot ]; then
218 /etc/rc.d/init.d/dovecot stop >&2
219 fi
220 /sbin/chkconfig --del dovecot
221fi
222
c1df1ed1
KK
223%postun
224if [ "$1" = "0" ]; then
225 %userremove dovecot
226 %groupremove dovecot
74a997c5
AM
227 %userremove dovenull
228 %groupremove dovenull
c1df1ed1
KK
229fi
230
bc5d3bcd
AM
231%post libs -p /sbin/ldconfig
232%postun libs -p /sbin/ldconfig
233
28c2da72
JR
234%triggerpostun -- dovecot < 1:2.0.0
235# upgrading dovecot < 1.1
fdaf3880
PG
236echo "Configuration change default_mail_env -> mail_location"
237%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
28c2da72 238# upgrading dovecot < 2.0
b897a7bd 239i=0
687a6849
AM
240for a in /etc/dovecot/dovecot-db-example.conf \
241 /etc/dovecot/dovecot-dict-sql-example.conf \
242 /etc/dovecot/dovecot-ldap-example.conf \
243 /etc/dovecot/dovecot-sql-example.conf \
244 /etc/dovecot/dovecot.conf; do
245 if [ -f "$a" ]; then
b897a7bd
AM
246 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
247 i=1
687a6849 248 echo "Trying to migrate $a config file to dovecot 2."
8c43f42b 249 cp -a "$a" "$a-1.2.org"
d31b09de
AM
250 :> "$a.log"
251 chmod 600 "$a.log"
8c43f42b 252 # convert config and prefix stderr lines with #
d31b09de 253 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
687a6849
AM
254 fi
255done
8c43f42b
AM
256if [ "$i" -eq 1 ]; then
257 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
258fi
fdaf3880 259
b8f6d56a
JB
260%files
261%defattr(644,root,root,755)
262# COPYING contains some notes, not actual LGPL text
caf88cd1 263%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
bb75c55c
AM
264%attr(755,root,root) %{_bindir}/doveadm
265%attr(755,root,root) %{_bindir}/doveconf
266%attr(755,root,root) %{_bindir}/dsync
8d47df47 267%attr(755,root,root) %{_sbindir}/%{name}
15872051 268%attr(751,root,root) %dir %{_sysconfdir}/%{name}
c19c6ee3 269%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
bb75c55c
AM
270%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.ext
271%attr(751,root,root) %dir %{_sysconfdir}/%{name}/conf.d
272%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.conf
273%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.ext
c5c6a170 274%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
275%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
276%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
8d47df47 277%attr(754,root,root) /etc/rc.d/init.d/%{name}
bb75c55c
AM
278%attr(755,root,root) %{_libdir}/%{name}/anvil
279%attr(755,root,root) %{_libdir}/%{name}/auth
ee9bfb11 280%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
bb75c55c 281%attr(755,root,root) %{_libdir}/%{name}/config
ee9bfb11
JS
282%attr(755,root,root) %{_libdir}/%{name}/deliver
283%attr(755,root,root) %{_libdir}/%{name}/dict
bb75c55c
AM
284%attr(755,root,root) %{_libdir}/%{name}/director
285%attr(755,root,root) %{_libdir}/%{name}/dns-client
286%attr(755,root,root) %{_libdir}/%{name}/doveadm-server
287%attr(755,root,root) %{_libdir}/%{name}/dovecot-lda
ee9bfb11 288%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
ee9bfb11
JS
289%attr(755,root,root) %{_libdir}/%{name}/imap
290%attr(755,root,root) %{_libdir}/%{name}/imap-login
edd42453 291%attr(755,root,root) %{_libdir}/%{name}/listview
bb75c55c
AM
292%attr(755,root,root) %{_libdir}/%{name}/lmtp
293%attr(755,root,root) %{_libdir}/%{name}/log
77ad1fc7 294%attr(755,root,root) %{_libdir}/%{name}/maildirlock
ee9bfb11
JS
295%attr(755,root,root) %{_libdir}/%{name}/pop3
296%attr(755,root,root) %{_libdir}/%{name}/pop3-login
297%attr(755,root,root) %{_libdir}/%{name}/rawlog
bb75c55c
AM
298%attr(755,root,root) %{_libdir}/%{name}/script
299%attr(755,root,root) %{_libdir}/%{name}/script-login
300%attr(755,root,root) %{_libdir}/%{name}/ssl-params
d3be9b82 301%dir %{_libdir}/%{name}/plugins
ee9bfb11 302%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
ff3fede5
AM
303%dir %{_libdir}/%{name}/plugins/auth
304%attr(755,root,root)%{_libdir}/%{name}/plugins/auth/*.so
305%dir %{_libdir}/%{name}/plugins/dict
306%attr(755,root,root)%{_libdir}/%{name}/plugins/dict/*.so
bb75c55c
AM
307%dir %{_libdir}/%{name}/plugins/doveadm
308%attr(755,root,root)%{_libdir}/%{name}/plugins/doveadm/*.so
e7291b43 309%dir /var/lib/dovecot
c1df1ed1 310%dir /var/run/dovecot
aade0d64 311%attr(750,root,dovenull) %dir /var/run/dovecot/login
ee9bfb11 312
bb75c55c
AM
313%{_mandir}/man1/deliver.1*
314%{_mandir}/man1/dove*.1*
315%{_mandir}/man1/dsync.1*
316%{_mandir}/man7/doveadm-search-query.7*
317
ee9bfb11
JS
318%files devel
319%defattr(644,root,root,755)
7fbaf96b 320%attr(755,root,root)%{_libdir}/%{name}/libdovecot.so
321%attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so
322%attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so
323%attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so
ba932ed4 324%{_libdir}/%{name}-devel
ee9bfb11 325%{_includedir}/%{name}
bb75c55c 326%{_aclocaldir}/dovecot.m4
7fbaf96b 327
328%files libs
329%defattr(644,root,root,755)
330%dir %{_libdir}/%{name}
331%attr(755,root,root)%{_libdir}/%{name}/libdovecot.so.0.0.0
332%attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so.0.0.0
333%attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so.0.0.0
334%attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so.0.0.0
335%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot.so.0
336%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-lda.so.0
337%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-login.so.0
338%ghost %attr(755,root,root)%{_libdir}/%{name}/libdovecot-storage.so.0
This page took 0.160853 seconds and 4 git commands to generate.