]> git.pld-linux.org Git - packages/dovecot.git/blob - dovecot.spec
- keep trigger errors
[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 i=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                 [ "$i" -eq 0 ] && echo "Read http://wiki2.dovecot.org/Upgrading/2.0"
230                 i=1
231                 echo "Trying to migrate $a config file to dovecot 2."
232                 cp -a "$a" "$a-1.2.org" && %{_bindir}/doveconf -n -c "$a-1.2.org" > "$a" 2>&1 || :
233         fi
234 done
235
236 %files
237 %defattr(644,root,root,755)
238 # COPYING contains some notes, not actual LGPL text
239 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/*.txt doc/*.c*f doc/wiki/*.txt
240 %attr(755,root,root) %{_bindir}/doveadm
241 %attr(755,root,root) %{_bindir}/doveconf
242 %attr(755,root,root) %{_bindir}/dsync
243 %attr(755,root,root) %{_sbindir}/%{name}
244 %attr(751,root,root) %dir %{_sysconfdir}/%{name}
245 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
246 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.ext
247 %attr(751,root,root) %dir %{_sysconfdir}/%{name}/conf.d
248 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.conf
249 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/conf.d/*.ext
250 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
251 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
252 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
253 %attr(754,root,root) /etc/rc.d/init.d/%{name}
254 %dir %{_libdir}/%{name}
255 %attr(755,root,root) %{_libdir}/%{name}/anvil
256 %attr(755,root,root) %{_libdir}/%{name}/auth
257 %attr(755,root,root) %{_libdir}/%{name}/checkpassword-reply
258 %attr(755,root,root) %{_libdir}/%{name}/config
259 %attr(755,root,root) %{_libdir}/%{name}/deliver
260 %attr(755,root,root) %{_libdir}/%{name}/dict
261 %attr(755,root,root) %{_libdir}/%{name}/director
262 %attr(755,root,root) %{_libdir}/%{name}/dns-client
263 %attr(755,root,root) %{_libdir}/%{name}/doveadm-server
264 %attr(755,root,root) %{_libdir}/%{name}/dovecot-lda
265 %attr(755,root,root) %{_libdir}/%{name}/gdbhelper
266 %attr(755,root,root) %{_libdir}/%{name}/imap
267 %attr(755,root,root) %{_libdir}/%{name}/imap-login
268 %attr(755,root,root) %{_libdir}/%{name}/listview
269 %attr(755,root,root) %{_libdir}/%{name}/lmtp
270 %attr(755,root,root) %{_libdir}/%{name}/log
271 %attr(755,root,root) %{_libdir}/%{name}/maildirlock
272 %attr(755,root,root) %{_libdir}/%{name}/pop3
273 %attr(755,root,root) %{_libdir}/%{name}/pop3-login
274 %attr(755,root,root) %{_libdir}/%{name}/rawlog
275 %attr(755,root,root) %{_libdir}/%{name}/script
276 %attr(755,root,root) %{_libdir}/%{name}/script-login
277 %attr(755,root,root) %{_libdir}/%{name}/ssl-params
278 %attr(755,root,root)%{_libdir}/%{name}/lib*.so*
279 %dir %{_libdir}/%{name}/plugins
280 %attr(755,root,root) %{_libdir}/%{name}/plugins/*.so
281 %dir %{_libdir}/%{name}/plugins/auth
282 %attr(755,root,root)%{_libdir}/%{name}/plugins/auth/*.so
283 %dir %{_libdir}/%{name}/plugins/dict
284 %attr(755,root,root)%{_libdir}/%{name}/plugins/dict/*.so
285 %dir %{_libdir}/%{name}/plugins/doveadm
286 %attr(755,root,root)%{_libdir}/%{name}/plugins/doveadm/*.so
287 %dir /var/lib/dovecot
288 %dir /var/run/dovecot
289 %attr(750,root,dovenull) %dir /var/run/dovecot/login
290
291 %{_mandir}/man1/deliver.1*
292 %{_mandir}/man1/dove*.1*
293 %{_mandir}/man1/dsync.1*
294 %{_mandir}/man7/doveadm-search-query.7*
295
296 %files devel
297 %defattr(644,root,root,755)
298 %{_libdir}/%{name}-devel
299 %{_includedir}/%{name}
300 %{_aclocaldir}/dovecot.m4
This page took 0.048075 seconds and 4 git commands to generate.