]> git.pld-linux.org Git - packages/dovecot.git/blame - dovecot.spec
- release 3
[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
ed76fc35 13Version: 2.0.13
fb7a91dd 14Release: 3
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
ed76fc35 19# Source0-md5: fd8a0702275a61332db7353dadff0f92
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
147a541c 49Requires: %{name}-libs = %{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
a6b782c0
JR
229%triggerin -- pam
230# restart devocot if pam is upgraded
231# (dovecot is linked with old libpam but tries to open modules linked with new libpam)
232if [ "$2" != 1 ]; then
233 %service -q dovecot restart
234fi
235
28c2da72
JR
236%triggerpostun -- dovecot < 1:2.0.0
237# upgrading dovecot < 1.1
fdaf3880
PG
238echo "Configuration change default_mail_env -> mail_location"
239%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
28c2da72 240# upgrading dovecot < 2.0
b897a7bd 241i=0
687a6849
AM
242for 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
247 if [ -f "$a" ]; then
b897a7bd
AM
248 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
249 i=1
687a6849 250 echo "Trying to migrate $a config file to dovecot 2."
8c43f42b 251 cp -a "$a" "$a-1.2.org"
d31b09de
AM
252 :> "$a.log"
253 chmod 600 "$a.log"
8c43f42b 254 # convert config and prefix stderr lines with #
d31b09de 255 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
687a6849
AM
256 fi
257done
8c43f42b
AM
258if [ "$i" -eq 1 ]; then
259 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
260fi
fdaf3880 261
b8f6d56a
JB
262%files
263%defattr(644,root,root,755)
264# COPYING contains some notes, not actual LGPL text
caf88cd1 265%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
bb75c55c
AM
266%attr(755,root,root) %{_bindir}/doveadm
267%attr(755,root,root) %{_bindir}/doveconf
268%attr(755,root,root) %{_bindir}/dsync
8d47df47 269%attr(755,root,root) %{_sbindir}/%{name}
15872051 270%attr(751,root,root) %dir %{_sysconfdir}/%{name}
c19c6ee3 271%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
bb75c55c
AM
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
c5c6a170 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}
8d47df47 279%attr(754,root,root) /etc/rc.d/init.d/%{name}
bb75c55c
AM
280%attr(755,root,root) %{_libdir}/%{name}/anvil
281%attr(755,root,root) %{_libdir}/%{name}/auth
ee9bfb11 282%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
bb75c55c 283%attr(755,root,root) %{_libdir}/%{name}/config
ee9bfb11
JS
284%attr(755,root,root) %{_libdir}/%{name}/deliver
285%attr(755,root,root) %{_libdir}/%{name}/dict
bb75c55c
AM
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
ee9bfb11 290%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
ee9bfb11
JS
291%attr(755,root,root) %{_libdir}/%{name}/imap
292%attr(755,root,root) %{_libdir}/%{name}/imap-login
edd42453 293%attr(755,root,root) %{_libdir}/%{name}/listview
bb75c55c
AM
294%attr(755,root,root) %{_libdir}/%{name}/lmtp
295%attr(755,root,root) %{_libdir}/%{name}/log
77ad1fc7 296%attr(755,root,root) %{_libdir}/%{name}/maildirlock
ee9bfb11
JS
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
bb75c55c
AM
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
d3be9b82 303%dir %{_libdir}/%{name}/plugins
ee9bfb11 304%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
ff3fede5 305%dir %{_libdir}/%{name}/plugins/auth
8e04a4c1 306%attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
ff3fede5 307%dir %{_libdir}/%{name}/plugins/dict
8e04a4c1 308%attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
bb75c55c 309%dir %{_libdir}/%{name}/plugins/doveadm
8e04a4c1 310%attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
e7291b43 311%dir /var/lib/dovecot
c1df1ed1 312%dir /var/run/dovecot
aade0d64 313%attr(750,root,dovenull) %dir /var/run/dovecot/login
ee9bfb11 314
bb75c55c
AM
315%{_mandir}/man1/deliver.1*
316%{_mandir}/man1/dove*.1*
317%{_mandir}/man1/dsync.1*
318%{_mandir}/man7/doveadm-search-query.7*
319
ee9bfb11
JS
320%files devel
321%defattr(644,root,root,755)
8e04a4c1
ER
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
30b6d006 325%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so
8e04a4c1 326%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so
ba932ed4 327%{_libdir}/%{name}-devel
ee9bfb11 328%{_includedir}/%{name}
bb75c55c 329%{_aclocaldir}/dovecot.m4
7fbaf96b 330
331%files libs
332%defattr(644,root,root,755)
333%dir %{_libdir}/%{name}
8e04a4c1
ER
334%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0.0.0
335%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0
336%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0.0.0
30b6d006 337%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0.0.0
8e04a4c1
ER
338%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0.0.0
339# Note: we are in %{_libdir}/dovecot, ldconfig does not look into this
96e29b16 340# directory. This is why the following files are not %ghost
8e04a4c1
ER
341%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0
342%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0
343%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0
30b6d006 344%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0
8e04a4c1 345%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0
This page took 0.122274 seconds and 4 git commands to generate.