]> git.pld-linux.org Git - packages/dovecot.git/blame - dovecot.spec
Move 'dovecot-config' into place
[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
13466ff0 13Version: 2.2.9
94763843 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
13466ff0 19# Source0-md5: 6e620a4020b7cc9855cbb304a63efc87
8d47df47
TO
20Source1: %{name}.pamd
21Source2: %{name}.init
22Source3: %{name}.sysconfig
1fd90052 23Source4: %{name}.tmpfiles
8d47df47 24Patch0: %{name}-config.patch
027cb77c 25URL: http://dovecot.org/
0928494a
JB
26BuildRequires: autoconf
27BuildRequires: automake
d9e4e4b3 28BuildRequires: bzip2-devel
f4230487 29%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.0}
b7e03084 30BuildRequires: gettext-devel
1ab66923 31%{?with_gssapi:BuildRequires: heimdal-devel}
d9e4e4b3 32BuildRequires: libcap-devel
0928494a 33BuildRequires: libtool
f4230487 34%{?with_mysql:BuildRequires: mysql-devel}
2e75e92c 35%{?with_ldap:BuildRequires: openldap-devel >= 2.3.3}
6ceb4d17 36BuildRequires: openssl-devel >= 0.9.7d
6865becd 37BuildRequires: pam-devel
b7e03084 38BuildRequires: pkgconfig
f4230487 39%{?with_pgsql:BuildRequires: postgresql-devel}
9f0e9eb5 40BuildRequires: rpmbuild(macros) >= 1.647
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
147a541c 51Requires: %{name}-libs = %{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 \
5152fa81 174 --sysconfdir=%{_sysconfdir} \
9f0e9eb5 175 --with-systemdsystemunitdir=%{systemdunitdir}
b8f6d56a
JB
176
177%{__make}
178
179%install
180rm -rf $RPM_BUILD_ROOT
1fd90052
JR
181install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,sysconfig,security} \
182 $RPM_BUILD_ROOT{/var/lib/dovecot,/var/run/dovecot/login} \
183 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
b8f6d56a
JB
184
185%{__make} install \
186 DESTDIR=$RPM_BUILD_ROOT
187
d3f43412 188mv -f $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/example-config/* $RPM_BUILD_ROOT%{_sysconfdir}/dovecot
b8f6d56a 189
8e04a4c1
ER
190cp -a %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
191install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
192cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
1fd90052 193install %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
8d47df47
TO
194
195touch $RPM_BUILD_ROOT/etc/security/blacklist.imap
196
4aef4380 197find $RPM_BUILD_ROOT%{_libdir}/%{name} -name '*.la' | xargs rm
bb75c55c 198
1fd90052
JR
199%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
200%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/README
1f7b33f9 201
b8f6d56a
JB
202%clean
203rm -rf $RPM_BUILD_ROOT
204
c1df1ed1
KK
205%pre
206%groupadd -g 172 dovecot
207%useradd -u 172 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovecot dovecot
74a997c5
AM
208%groupadd -g 254 dovenull
209%useradd -u 254 -d /usr/share/empty -s /bin/false -c "Dovecot server" -g dovenull dovenull
c1df1ed1 210
8d47df47
TO
211%post
212/sbin/chkconfig --add dovecot
0182c7a5 213%service dovecot restart
9f0e9eb5 214%systemd_post dovecot.socket dovecot.service
8d47df47
TO
215
216%preun
217if [ "$1" = "0" ]; then
65d55d28 218 %service dovecot stop
8d47df47
TO
219 /sbin/chkconfig --del dovecot
220fi
9f0e9eb5 221%systemd_preun dovecot.service dovecot.socket
8d47df47 222
c1df1ed1
KK
223%postun
224if [ "$1" = "0" ]; then
225 %userremove dovecot
226 %groupremove dovecot
74a997c5
AM
227 %userremove dovenull
228 %groupremove dovenull
c1df1ed1 229fi
9f0e9eb5 230%systemd_reload
c1df1ed1 231
bc5d3bcd
AM
232%post libs -p /sbin/ldconfig
233%postun libs -p /sbin/ldconfig
234
a6b782c0
JR
235%triggerin -- pam
236# restart devocot if pam is upgraded
237# (dovecot is linked with old libpam but tries to open modules linked with new libpam)
238if [ "$2" != 1 ]; then
239 %service -q dovecot restart
240fi
241
28c2da72
JR
242%triggerpostun -- dovecot < 1:2.0.0
243# upgrading dovecot < 1.1
fdaf3880
PG
244echo "Configuration change default_mail_env -> mail_location"
245%{__sed} -i -e "s/^default_mail_env/mail_location/" /etc/dovecot/dovecot.conf
28c2da72 246# upgrading dovecot < 2.0
b897a7bd 247i=0
687a6849
AM
248for a in /etc/dovecot/dovecot-db-example.conf \
249 /etc/dovecot/dovecot-dict-sql-example.conf \
250 /etc/dovecot/dovecot-ldap-example.conf \
251 /etc/dovecot/dovecot-sql-example.conf \
252 /etc/dovecot/dovecot.conf; do
253 if [ -f "$a" ]; then
b897a7bd
AM
254 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
255 i=1
687a6849 256 echo "Trying to migrate $a config file to dovecot 2."
8c43f42b 257 cp -a "$a" "$a-1.2.org"
d31b09de
AM
258 :> "$a.log"
259 chmod 600 "$a.log"
8c43f42b 260 # convert config and prefix stderr lines with #
d31b09de 261 %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2> "$a.log" || :
687a6849
AM
262 fi
263done
8c43f42b
AM
264if [ "$i" -eq 1 ]; then
265 echo "Please verify contents of %{_sysconfdir}/%{name}/* files."
266fi
fdaf3880 267
9f0e9eb5
AF
268%triggerpostun -- %{name} < 1:2.2.4-2
269%systemd_trigger dovecot.service dovecot.socket
270
b8f6d56a
JB
271%files
272%defattr(644,root,root,755)
273# COPYING contains some notes, not actual LGPL text
caf88cd1 274%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
bb75c55c
AM
275%attr(755,root,root) %{_bindir}/doveadm
276%attr(755,root,root) %{_bindir}/doveconf
277%attr(755,root,root) %{_bindir}/dsync
8d47df47 278%attr(755,root,root) %{_sbindir}/%{name}
15872051 279%attr(751,root,root) %dir %{_sysconfdir}/%{name}
c19c6ee3 280%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
bb75c55c
AM
281%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.ext
282%attr(751,root,root) %dir %{_sysconfdir}/%{name}/conf.d
283%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.conf
284%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.ext
c5c6a170 285%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
286%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
287%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
8d47df47 288%attr(754,root,root) /etc/rc.d/init.d/%{name}
3b993680 289%attr(755,root,root) %{_libdir}/%{name}/aggregator
bb75c55c
AM
290%attr(755,root,root) %{_libdir}/%{name}/anvil
291%attr(755,root,root) %{_libdir}/%{name}/auth
ee9bfb11 292%attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
bb75c55c 293%attr(755,root,root) %{_libdir}/%{name}/config
86cbda6a 294%attr(755,root,root) %{_libdir}/%{name}/decode2text.sh
ee9bfb11
JS
295%attr(755,root,root) %{_libdir}/%{name}/deliver
296%attr(755,root,root) %{_libdir}/%{name}/dict
bb75c55c
AM
297%attr(755,root,root) %{_libdir}/%{name}/director
298%attr(755,root,root) %{_libdir}/%{name}/dns-client
299%attr(755,root,root) %{_libdir}/%{name}/doveadm-server
300%attr(755,root,root) %{_libdir}/%{name}/dovecot-lda
ee9bfb11 301%attr(755,root,root) %{_libdir}/%{name}/gdbhelper
ee9bfb11
JS
302%attr(755,root,root) %{_libdir}/%{name}/imap
303%attr(755,root,root) %{_libdir}/%{name}/imap-login
946ce37d
AZ
304%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth
305%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth-login
306%attr(755,root,root) %{_libdir}/%{name}/imap-urlauth-worker
86cbda6a
AM
307%attr(755,root,root) %{_libdir}/%{name}/indexer
308%attr(755,root,root) %{_libdir}/%{name}/indexer-worker
7e318864 309%attr(755,root,root) %{_libdir}/%{name}/ipc
bb75c55c
AM
310%attr(755,root,root) %{_libdir}/%{name}/lmtp
311%attr(755,root,root) %{_libdir}/%{name}/log
77ad1fc7 312%attr(755,root,root) %{_libdir}/%{name}/maildirlock
ee9bfb11
JS
313%attr(755,root,root) %{_libdir}/%{name}/pop3
314%attr(755,root,root) %{_libdir}/%{name}/pop3-login
156868fd 315%attr(755,root,root) %{_libdir}/%{name}/quota-status
ee9bfb11 316%attr(755,root,root) %{_libdir}/%{name}/rawlog
3b993680 317%attr(755,root,root) %{_libdir}/%{name}/replicator
bb75c55c
AM
318%attr(755,root,root) %{_libdir}/%{name}/script
319%attr(755,root,root) %{_libdir}/%{name}/script-login
320%attr(755,root,root) %{_libdir}/%{name}/ssl-params
86cbda6a
AM
321%attr(755,root,root) %{_libdir}/%{name}/stats
322%attr(755,root,root) %{_libdir}/%{name}/xml2text
d3be9b82 323%dir %{_libdir}/%{name}/plugins
ee9bfb11 324%attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
ff3fede5 325%dir %{_libdir}/%{name}/plugins/auth
8e04a4c1 326%attr(755,root,root) %{_libdir}/%{name}/plugins/auth/*.so
ff3fede5 327%dir %{_libdir}/%{name}/plugins/dict
8e04a4c1 328%attr(755,root,root) %{_libdir}/%{name}/plugins/dict/*.so
bb75c55c 329%dir %{_libdir}/%{name}/plugins/doveadm
8e04a4c1 330%attr(755,root,root) %{_libdir}/%{name}/plugins/doveadm/*.so
9f0e9eb5
AF
331%{systemdunitdir}/dovecot.service
332%{systemdunitdir}/dovecot.socket
1fd90052 333/usr/lib/tmpfiles.d/%{name}.conf
e7291b43 334%dir /var/lib/dovecot
c1df1ed1 335%dir /var/run/dovecot
aade0d64 336%attr(750,root,dovenull) %dir /var/run/dovecot/login
ee9bfb11 337
bb75c55c
AM
338%{_mandir}/man1/deliver.1*
339%{_mandir}/man1/dove*.1*
340%{_mandir}/man1/dsync.1*
341%{_mandir}/man7/doveadm-search-query.7*
342
ee9bfb11
JS
343%files devel
344%defattr(644,root,root,755)
8e04a4c1 345%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so
946ce37d 346%attr(755,root,root) %{_libdir}/%{name}/libdovecot-compression.so
8e04a4c1
ER
347%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so
348%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so
30b6d006 349%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so
8e04a4c1 350%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so
94763843 351%{_libdir}/%{name}/%{name}-config
ee9bfb11 352%{_includedir}/%{name}
bb75c55c 353%{_aclocaldir}/dovecot.m4
7fbaf96b 354
355%files libs
356%defattr(644,root,root,755)
357%dir %{_libdir}/%{name}
8e04a4c1 358%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0.0.0
946ce37d 359%attr(755,root,root) %{_libdir}/%{name}/libdovecot-compression.so.0.0.0
8e04a4c1
ER
360%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0.0.0
361%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0.0.0
30b6d006 362%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0.0.0
8e04a4c1
ER
363%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0.0.0
364# Note: we are in %{_libdir}/dovecot, ldconfig does not look into this
96e29b16 365# directory. This is why the following files are not %ghost
8e04a4c1 366%attr(755,root,root) %{_libdir}/%{name}/libdovecot.so.0
946ce37d 367%attr(755,root,root) %{_libdir}/%{name}/libdovecot-compression.so.0
8e04a4c1
ER
368%attr(755,root,root) %{_libdir}/%{name}/libdovecot-lda.so.0
369%attr(755,root,root) %{_libdir}/%{name}/libdovecot-login.so.0
30b6d006 370%attr(755,root,root) %{_libdir}/%{name}/libdovecot-sql.so.0
8e04a4c1 371%attr(755,root,root) %{_libdir}/%{name}/libdovecot-storage.so.0
This page took 0.159435 seconds and 4 git commands to generate.