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