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