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