]> git.pld-linux.org Git - packages/courier-imap.git/blob - courier-imap.spec
- updated to 5.2.2
[packages/courier-imap.git] / courier-imap.spec
1 # TODO:
2 # - put imap-ssl and pop3-ssl to separate packages - some want to have
3 #   ssl-only system (or non-ssl only system)
4 #   see also http://thread.gmane.org/gmane.linux.pld.devel.english/2509/focus=2509
5 # - fix manpages:
6 #    [set $man.base.url.for.relative.links]/maildirquota.html
7 # - Review -toplevel.patch
8 #
9 # Conditional build:
10 %bcond_with     toplevel        # Allow toplevel folders. More info: http://www.ricky-chan.co.uk/courier/
11 %bcond_without  fam             # FAM for enhanced IMAP IDLE and locking
12 %bcond_with     gnutls          # GnuTLS instead of OpenSSL
13 %bcond_with     socks           # (Courier) Socks support
14
15 Summary:        Courier-IMAP server
16 Summary(pl.UTF-8):      Serwer Courier-IMAP
17 Name:           courier-imap
18 Version:        4.18.2
19 Release:        1
20 License:        GPL v3 with OpenSSL exception
21 Group:          Networking/Daemons
22 Source0:        http://downloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2
23 # Source0-md5:  6af3e78d3206518aab5510638cd620c2
24 Source1:        %{name}.init
25 Source2:        %{name}-ssl.init
26 Source3:        %{name}-pop3.init
27 Source4:        %{name}-pop3-ssl.init
28 Source5:        %{name}.pamd
29 Source6:        %{name}-pop3.pamd
30 Patch0:         %{name}-dirs.patch
31 Patch1:         %{name}-certsdir.patch
32 Patch2:         %{name}-maildir.patch
33 Patch3:         %{name}-toplevel.patch
34 Patch4:         %{name}-drop-makedat.patch
35 Patch5:         %{name}-disable-courierlogger-check.patch
36 URL:            http://www.courier-mta.org/imap/
37 BuildRequires:  autoconf >= 2.59
38 BuildRequires:  automake
39 BuildRequires:  courier-authlib-devel >= 0.61.0
40 %{?with_socks:BuildRequires:    courier-sox-devel}
41 BuildRequires:  courier-unicode-devel >= 2.0
42 BuildRequires:  db-devel
43 BuildRequires:  libidn-devel >= 0.0.0
44 %{?with_fam:BuildRequires:      gamin-devel}
45 %{?with_gnutls:BuildRequires:   gnutls-devel >= 3.0}
46 %{?with_gnutls:BuildRequires:   libgcrypt-devel}
47 %{?with_gnutls:BuildRequires:   libgpg-error-devel}
48 BuildRequires:  libstdc++-devel
49 BuildRequires:  libtool >= 2:1.5
50 %{!?with_gnutls:BuildRequires:  openssl-devel >= 0.9.7d}
51 BuildRequires:  perl-base
52 BuildRequires:  pkgconfig
53 BuildRequires:  procps
54 BuildRequires:  rpmbuild(macros) >= 1.268
55 BuildRequires:  sed >= 4.0
56 BuildRequires:  sysconftool
57 Requires(post,preun):   /sbin/chkconfig
58 Requires:       %{name}-common = %{version}-%{release}
59 Requires:       /sbin/chkconfig
60 Requires:       courier-unicode >= 2.0
61 Requires:       pam >= 0.79.0
62 Requires:       rc-scripts
63 Provides:       imapdaemon
64 Obsoletes:      imapdaemon
65 Conflicts:      cyrus-imapd
66 Conflicts:      imap
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         _sysconfdir     /etc/courier-imap
70 %define         _certsdir       %{_sysconfdir}/certs
71 %define         _localstatedir  /var/spool/courier-imap
72
73 %description
74 Courier-IMAP is an IMAP server for Maildir mailboxes.
75
76 %description -l pl.UTF-8
77 Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
78
79 %package common
80 Summary:        Common files for imap and pop3 daemons
81 Summary(pl.UTF-8):      Pliki wspólne dla serwerów imap i pop3
82 Group:          Networking/Daemons
83 Requires(post,preun):   /sbin/chkconfig
84 Requires:       /sbin/chkconfig
85 # even if using OpenSSL libraries, Courier uses certtool from GnuTLS
86 Requires:       /usr/bin/certtool
87 Requires:       courier-authlib >= 0.61.0
88 Requires:       procps
89 Requires:       rc-scripts
90
91 %description common
92 Common files for imap and pop3 daemons.
93
94 %description common -l pl.UTF-8
95 Pliki wspólne dla serwerów imap i pop3.
96
97 %package deliverquota
98 Summary:        Deliver to a Maildir with a quota
99 Summary(pl.UTF-8):      Obsługa quoty przy dostarczaniu poczty do skrzynek Maildir
100 Group:          Networking/Daemons
101
102 %description deliverquota
103 deliverquota is a temporary hack to implement E-mail delivery to a
104 Maildir with a software-imposed quota.
105
106 %description deliverquota -l pl.UTF-8
107 deliverquota jest tymczasowym rozwiązaniem implementującym
108 dostarczanie e-maili do skrzynek Maildir z programowo narzuconą quotą.
109
110 %package maildirmake
111 Summary:        Tool for making mail folders in Maildir format
112 Summary(pl.UTF-8):      Narzędzie do tworzenia folderów w formacie Maildir
113 Group:          Networking/Daemons
114 Conflicts:      qmail-maildirmake
115
116 %description maildirmake
117 Maildirmake is a tool for making mail folders in Maildir format.
118
119 %description maildirmake -l pl.UTF-8
120 Maildirmake jest narzędziem do tworzenia folderów pocztowych w
121 formacie Maildir.
122
123 %package pop3
124 Summary:        Courier-IMAP POP3 Server
125 Summary(pl.UTF-8):      Serwer Courier-IMAP POP3
126 Group:          Networking/Daemons/POP3
127 Requires:       %{name}-common = %{version}-%{release}
128 Requires:       pam >= 0.79.0
129 Provides:       pop3daemon
130 Obsoletes:      pop3daemon
131 Conflicts:      cyrus-imapd
132 Conflicts:      imap-pop3
133 Conflicts:      solid-pop3d
134 Conflicts:      tpop3d
135
136 %description pop3
137 Courier-IMAP POP3 is an POP3 server for Maildir mailboxes.
138
139 %description pop3 -l pl.UTF-8
140 Courier-IMAP POP3 jest serwerem POP3 dla skrzynek pocztowych Maildir.
141
142 %prep
143 %setup -q
144 %patch0 -p1
145 %patch1 -p1
146 %patch2 -p1
147 %if %{with toplevel}
148 %patch3 -p1
149 %endif
150 %patch4 -p1
151 %patch5 -p1
152
153 cp -p %{SOURCE1} courier-imap.in
154 cp -p %{SOURCE2} courier-imap-ssl.in
155 cp -p %{SOURCE3} courier-pop3.in
156 cp -p %{SOURCE4} courier-pop3-ssl.in
157
158 %build
159 %{__libtoolize}
160 # Change Makefile.am files and force recreate Makefile.in's.
161 find -type f -a -name configure.ac | while read FILE; do
162         cd "$(dirname "$FILE")"
163
164         %{__sed} -i -e '/_[L]DFLAGS=-static/d' Makefile.am
165
166         %{__aclocal}
167         %{__autoconf}
168         if grep -q AC_CONFIG_HEADER configure.ac; then
169                 %{__autoheader}
170         fi
171         %{__automake}
172
173         cd -
174 done
175
176 %configure \
177         CERTOOL=/usr/bin/certtool \
178 %if %{without fam}
179         ac_cv_header_fam_h=no \
180         ac_cv_lib_fam_FAMOpen=no \
181 %endif
182         --libexecdir=%{_libexecdir}/courier-imap \
183         --enable-unicode \
184         --with-authchangepwdir=/var/tmp \
185         --with-certsdir=%{_certsdir} \
186         --with-db=db \
187         %{?with_gnutls:--with-gnutls} \
188         --with-mailer=/usr/lib/sendmail \
189         %{!?with_socks:--without-socks}
190
191 %{__make} -j1
192
193 %install
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,security},%{_certsdir}}
196
197 %{__make} -j1 install \
198         DESTDIR=$RPM_BUILD_ROOT
199
200 install -p courier-imap $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
201 install -p courier-imap-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap-ssl
202 install -p courier-pop3 $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
203 install -p courier-pop3-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3-ssl
204 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/imap
205 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pop3
206
207 # install directly instead of symlinking
208 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/mk{dhparams,imapdcert,pop3dcert}
209 %{__mv} $RPM_BUILD_ROOT%{_datadir}/mk{dhparams,imapdcert,pop3dcert} $RPM_BUILD_ROOT%{_sbindir}
210
211 cp -pf libs/imap/README README.imap
212
213 # missing from make install
214 cp -p libs/imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8
215 cp -p libs/tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man1
216
217 touch $RPM_BUILD_ROOT/etc/security/blacklist.{pop3,imap}
218 touch $RPM_BUILD_ROOT%{_sysconfdir}/shared/index
219
220 # make config files
221 ./sysconftool $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
222
223 # set yes to start imapd and pop3d
224 sed -i 's/^POP3DSTART.*/POP3DSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/pop3d
225 sed -i 's/^IMAPDSTART.*/IMAPDSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/imapd
226
227 # remove unpackaged files
228 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
229
230 %clean
231 rm -rf $RPM_BUILD_ROOT
232
233 %post
234 /sbin/chkconfig --add courier-imap
235 /sbin/chkconfig --add courier-imap-ssl
236 %service courier-imap restart "courier-imap daemon"
237 %service courier-imap-ssl restart "courier-imap-ssl daemon"
238
239 %preun
240 if [ "$1" = "0" ]; then
241         %service courier-imap stop
242         /sbin/chkconfig --del courier-imap
243 fi
244
245 if [ "$1" = "0" ]; then
246         %service courier-imap-ssl stop
247         /sbin/chkconfig --del courier-imap-ssl
248 fi
249
250
251 %triggerin -- %{name} < 3.0.5
252 if [ -f /var/lib/openssl/certs/imapd.pem ]; then
253         echo
254         echo imapd.pem has been moved automatically to %{_certsdir}
255         echo
256         mv -f /var/lib/openssl/certs/imapd.pem %{_certsdir}
257 fi
258 if [ -f /etc/sysconfig/courier-imap ]; then
259         . /etc/sysconfig/courier-imap
260         for opt in `grep ^[^#] /etc/sysconfig/courier-imap |grep -v TLS_CERTFILE |grep -v MAILDIR |grep -v COURIERTLS |cut -d= -f1`;
261         do
262                 eval opt2=\$$opt
263                 sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/imapd
264                 sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/imapd-ssl
265         done
266         sed -i s/^SSLADDRESS=.*/"SSLADDRESS=$ADDRESS_SSL"/ %{_sysconfdir}/imapd-ssl
267         sed -i s/^SSLPORT=.*/"SSLPORT=$PORTS_SSL"/ %{_sysconfdir}/imapd-ssl
268         sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/imapd-ssl
269         sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/imapd
270         echo
271         echo IMAPD config file has been rewriten to %{_sysconfdir}/imapd,imapd-ssl
272         echo please look at them
273         echo
274 fi
275 %service -q courier-imap restart
276
277 %triggerin -- %{name} < 3.0.6
278 . %{_sysconfdir}/imapd-ssl
279 if [ $TLS_CACHEFILE = "/var/couriersslcache" ]; then
280         sed -i s/^TLS_CACHEFILE=.*/"TLS_CACHEFILE=\/var\/spool\/courier-imap\/couriersslcache"/ %{_sysconfdir}/imapd-ssl
281 fi
282
283 %triggerin -n %{name}-common -- %{name}-userdb
284 echo
285 echo courier-imap-userdb is obsolete
286 echo install courier-authlib-userdb package
287 echo
288
289 %triggerin -n %{name}-common -- %{name}-common < 3.0.5
290 /sbin/chkconfig --del authdaemon
291 if [ -f /var/lock/subsys/authdaemon ]; then
292         kill `cat /var/lib/authdaemon/pid`
293         rm -f /var/lock/subsys/authdaemon
294 fi
295 if [ -f /etc/sysconfig/authdaemon ]; then
296         . /etc/sysconfig/authdaemon
297         sed -i s/^version.*/version=authdaemond.$METHOD/ %{_sysconfdir}/authdaemonrc
298 fi
299 echo
300 echo Changes to version 3.0.5 :
301 echo - config files has been split and moved to %{_sysconfdir}
302 echo - certificates directory has changed to %{_certsdir}
303 echo
304
305 %post pop3
306 /sbin/chkconfig --add courier-pop3
307 /sbin/chkconfig --add courier-pop3-ssl
308 /sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
309 if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
310         /sbin/service courier-imap-pop3 stop >&2
311         /sbin/service courier-pop3 start >&2
312 else
313         %service courier-pop3 restart "courier-pop3 daemon"
314 fi
315 %service courier-pop3-ssl restart "courier-pop3-ssl daemon"
316
317 %preun pop3
318 if [ "$1" = "0" ]; then
319         %service courier-pop3 stop
320         /sbin/chkconfig --del courier-pop3
321         %service courier-pop3-ssl stop
322         /sbin/chkconfig --del courier-pop3-ssl
323 fi
324
325 %triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.5
326 if [ -f /var/lib/openssl/certs/pop3d.pem ]; then
327         echo
328         echo pop3d.pem has been moved automatically to %{_certsdir}
329         echo
330         mv -f /var/lib/openssl/certs/pop3d.pem %{_certsdir}
331 fi
332 if [ -f /etc/sysconfig/courier-pop3 ]; then
333         . /etc/sysconfig/courier-pop3
334         for opt in `grep ^[^#] /etc/sysconfig/courier-pop3 |grep -v TLS_CERTFILE |grep -v MAILDIR |grep -v COURIERTLS |cut -d= -f1`;
335         do
336                 eval opt2=\$$opt
337                 sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/pop3d
338                 sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/pop3d-ssl
339         done
340         sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/pop3d-ssl
341         sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/pop3d
342         echo
343         echo POP3D config file has been rewriten to %{_sysconfdir}/{pop3d,pop3d-ssl}
344         echo please look at them
345         echo
346 fi
347 %service courier-pop3 restart
348
349 %triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.6
350 . %{_sysconfdir}/pop3d-ssl
351 if [ $TLS_CACHEFILE = "/var/couriersslcache" ]; then
352         sed -i s/^TLS_CACHEFILE=.*/"TLS_CACHEFILE=\/var\/spool\/courier-imap\/couriersslcache"/ %{_sysconfdir}/pop3d-ssl
353 fi
354
355 %files
356 %defattr(644,root,root,755)
357 %doc libs/maildir/README.sharedfolders.txt libs/imap/README.proxy libs/tcpd/README.couriertls
358 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/imap
359 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
360 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd
361 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd-ssl
362 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd.cnf
363 %attr(754,root,root) /etc/rc.d/init.d/courier-imap
364 %attr(754,root,root) /etc/rc.d/init.d/courier-imap-ssl
365 %attr(755,daemon,daemon) %dir %{_sysconfdir}/shared
366 %attr(755,daemon,daemon) %dir %{_sysconfdir}/shared.tmp
367 %attr(644,daemon,daemon) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/shared/index
368 %attr(755,root,root) %{_bindir}/imapd
369 %attr(755,root,root) %{_bindir}/maildiracl
370 %attr(755,root,root) %{_bindir}/maildirkw
371 %attr(755,root,root) %{_bindir}/makeimapaccess
372 %attr(755,root,root) %{_sbindir}/imaplogin
373 %attr(755,root,root) %{_sbindir}/mkimapdcert
374 %attr(755,root,root) %{_sbindir}/sharedindexinstall
375 %attr(755,root,root) %{_sbindir}/sharedindexsplit
376 %attr(755,root,root) %{_libexecdir}/courier-imap/imapd.rc
377 %attr(755,root,root) %{_libexecdir}/courier-imap/imapd-ssl.rc
378 %{_mandir}/man1/maildiracl.1*
379 %{_mandir}/man1/maildirkw.1*
380 %{_mandir}/man8/imapd.8*
381 %{_mandir}/man8/makeimapaccess.8*
382 %{_mandir}/man8/mkimapdcert.8*
383
384 %files common
385 %defattr(644,root,root,755)
386 %doc AUTHORS COPYING INSTALL NEWS README README.imap libs/imap/{BUGS,ChangeLog} libs/maildir/README.maildirquota.txt
387 %attr(751,root,root) %dir %{_sysconfdir}
388 %attr(750,root,root) %dir %{_certsdir}
389 %attr(770,daemon,daemon) %dir %{_localstatedir}
390 %dir %{_libexecdir}/courier-imap
391 %{_sysconfdir}/quotawarnmsg.example
392 %attr(755,root,root) %{_bindir}/couriertls
393 %attr(755,root,root) %{_sbindir}/mkdhparams
394 %attr(755,root,root) %{_libexecdir}/courier-imap/couriertcpd
395 %{_mandir}/man1/couriertcpd.1*
396 %{_mandir}/man1/couriertls.1*
397 %{_mandir}/man8/mkdhparams.8*
398
399 %files deliverquota
400 %defattr(644,root,root,755)
401 %attr(755,root,root) %{_bindir}/deliverquota
402 %{_mandir}/man8/deliverquota.8*
403
404 %files maildirmake
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_bindir}/maildirmake
407 %{_mandir}/man1/maildirmake.1*
408
409 %files pop3
410 %defattr(644,root,root,755)
411 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pop3
412 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.pop3
413 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d
414 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d-ssl
415 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d.cnf
416 %attr(754,root,root) /etc/rc.d/init.d/courier-pop3
417 %attr(754,root,root) /etc/rc.d/init.d/courier-pop3-ssl
418 %attr(755,root,root) %{_bindir}/pop3d
419 %attr(755,root,root) %{_sbindir}/mkpop3dcert
420 %attr(755,root,root) %{_sbindir}/pop3login
421 %attr(755,root,root) %{_libexecdir}/courier-imap/pop3d.rc
422 %attr(755,root,root) %{_libexecdir}/courier-imap/pop3d-ssl.rc
423 %{_mandir}/man8/courierpop3d.8*
424 %{_mandir}/man8/mkpop3dcert.8*
This page took 0.075006 seconds and 3 git commands to generate.