]> git.pld-linux.org Git - packages/courier-imap.git/blob - courier-imap.spec
- remove config from sysconfig (use original config)
[packages/courier-imap.git] / courier-imap.spec
1 #
2 # TODO:
3 #       - triggers
4 #       - post, preun
5 #       - add maildir.patch (like in courier-mta)
6 #       - add certsdir.patch
7 #       - init scripts
8 #
9 # Conditional build:
10 %bcond_without ldap     # without LDAP support
11 %bcond_without mysql    # without MySQL support
12 %bcond_without pgsql    # without PostgreSQL support
13 Summary:        Courier-IMAP server
14 Summary(pl):    Serwer Courier-IMAP
15 Name:           courier-imap
16 Version:        3.0.5
17 Release:        0.1
18 License:        GPL
19 Group:          Networking/Daemons
20 Source0:        http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
21 # Source0-md5:  8b0c79997905dc46cfe4cc13be74ceaf
22 Source1:        %{name}.init
23 Source2:        %{name}-pop3.init
24 Source3:        %{name}-authdaemon.init
25 Source4:        %{name}.pamd
26 Source5:        %{name}-pop3.pamd
27 Source6:        %{name}-authdaemon.sysconfig
28 URL:            http://www.inter7.com/courierimap/
29 BuildRequires:  autoconf >= 2.54
30 BuildRequires:  automake
31 BuildRequires:  gdbm-devel
32 BuildRequires:  libstdc++-devel
33 %{?with_mysql:BuildRequires:    mysql-devel}
34 %{?with_ldap:BuildRequires:     openldap-devel}
35 BuildRequires:  openssl-devel >= 0.9.7d
36 %{?with_pgsql:BuildRequires:    postgresql-devel}
37 BuildRequires:  procps
38 BuildRequires:  sysconftool
39 %{?with_mysql:BuildRequires:    zlib-devel}
40 PreReq:         %{name}-common = %{version}-%{release}
41 PreReq:         rc-scripts
42 Requires(post,preun):   /sbin/chkconfig
43 Requires:       pam >= 0.77.3
44 Provides:       imapdaemon
45 Obsoletes:      imapdaemon
46 Conflicts:      cyrus-imapd
47 Conflicts:      imap
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _libexecdir     /usr/lib/courier-imap
51 %define         _sysconfdir     /etc/courier-imap
52
53 %description
54 Courier-IMAP is an IMAP server for Maildir mailboxes.
55
56 %description -l pl
57 Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
58
59 %package common
60 Summary:        Common files for imap and pop daemons
61 Summary(pl):    Pliki wspólne dla serwerów imap i pop
62 Group:          Networking/Daemons
63 PreReq:         rc-scripts
64 Requires(post,preun):   /sbin/chkconfig
65 Requires:       %{name}-deliverquota    = %{version}-%{release}
66 Requires:       %{name}-maildirmake     = %{version}-%{release}
67 Requires:       %{name}-userdb          = %{version}-%{release}
68 Requires:       procps
69
70 %description common
71 Common files for imap and pop daemons.
72
73 %description common -l pl
74 Pliki wspólne dla serwerów imap i pop.
75
76 %package userdb
77 Summary:        Commands used to create the /etc/userdb.dat
78 Summary(pl):    Polecenia do tworzenia /etc/userdb.dat
79 Group:          Networking/Daemons
80
81 %description userdb
82 Commands used to create the /etc/userdb.dat.
83
84 %description userdb -l pl
85 Polecenia u¿ywane do stworzenia /etc/userdb.dat.
86
87 %package deliverquota
88 Summary:        Deliver to a Maildir with a quota
89 Summary(pl):    Obs³uga quoty przy dostarczaniu poczty do skrzynek Maildir
90 Group:          Networking/Daemons
91
92 %description deliverquota
93 deliverquota is a temporary hack to implement E-mail delivery to a
94 Maildir with a software-imposed quota.
95
96 %description deliverquota -l pl
97 deliverquota jest tymczasowym rozwi±zaniem implementuj±cym
98 dostarczanie e-maili do skrzynek Maildir z programowo narzucon± quot±.
99
100 %package maildirmake
101 Summary:        Tool for making mail folders in Maildir format
102 Summary(pl):    Narzêdzie do tworzenia folderów w formacie Maildir
103 Group:          Networking/Daemons
104 Conflicts:      qmail-maildirmake
105
106 %description maildirmake
107 Maildirmake is a tool for making mail folders in Maildir format.
108
109 %description maildirmake -l pl
110 Maildirmake jest narzêdziem do tworzenia folderów pocztowych w
111 formacie Maildir.
112
113 %package pop3
114 Summary:        Courier-IMAP POP3 Server
115 Summary(pl):    Serwer Courier-IMAP POP3
116 Group:          Networking/Daemons
117 PreReq:         %{name}-common = %{version}-%{release}
118 Requires:       pam >= 0.77.3
119 Provides:       pop3daemon
120 Obsoletes:      pop3daemon
121 Conflicts:      cyrus-imapd
122 Conflicts:      imap-pop3
123 Conflicts:      solid-pop3d
124 Conflicts:      tpop3d
125
126 %description pop3
127 Courier-IMAP POP3 is an POP3 server for Maildir mailboxes.
128
129 %description pop3 -l pl
130 Courier-IMAP POP3 jest serwerem POP3 dla skrzynek pocztowych Maildir.
131
132 %package authldap
133 Summary:        LDAP authentication daemon for Courier IMAP
134 Summary(pl):    Demon autentykacji LDAP do Courier IMAP
135 Group:          Networking/Daemons
136 PreReq:         %{name}-common = %{version}-%{release}
137
138 %description authldap
139 This package provides LDAP authentication for Courier IMAP.
140
141 %description authldap -l pl
142 Ten pakiet pozwala na korzystanie z autentykacji LDAP w Courier IMAP.
143
144 %package authmysql
145 Summary:        MySQL authentication daemon for Courier IMAP
146 Summary(pl):    Demon autentykacji MySQL do Courier IMAP
147 Group:          Networking/Daemons
148 PreReq:         %{name}-common = %{version}-%{release}
149 Requires:       zlib
150
151 %description authmysql
152 This package provides MySQL authentication for Courier IMAP.
153
154 %description authmysql -l pl
155 Ten pakiet pozwala na korzystanie z autentykacji MySQL w Courier IMAP.
156
157 %package authpgsql
158 Summary:        PostgreSQL authentication daemon for Courier IMAP
159 Summary(pl):    Demon autentykacji PostgreSQL do Courier IMAP
160 Group:          Networking/Daemons
161 PreReq:         %{name}-common = %{version}-%{release}
162
163 %description authpgsql
164 This package provides PostgreSQL authentication for Courier IMAP.
165
166 %description authpgsql -l pl
167 Ten pakiet pozwala na korzystanie z autentykacji PostgreSQL w Courier
168 IMAP.
169
170 %prep
171 %setup -q
172
173 %build
174 cp -f /usr/share/automake/config.sub .
175 cp -f /usr/share/automake/config.sub maildir
176 cd authlib
177 %{__aclocal}
178 %{__automake}
179 %{__autoconf}
180 cd ..
181 %configure \
182         --enable-unicode \
183         --with-authchangepwdir=/var/tmp \
184         --with-authdaemonvar=/var/lib/authdaemon \
185         %{?with_mysql:--with-mysql-libs=%{_libdir} --with-mysql-includes=%{_includedir}/mysql} \
186         %{!?with_mysql:--without-authmysql} \
187         %{?with_pgsql:--with-pgsql-libs=%{_libdir} --with-pgsql-includes=%{_includedir}/postgresql} \
188         %{!?with_pgsql:--without-authpgsql} \
189         %{!?with_ldap:--without-authldap}
190
191 %{__make}
192
193 %install
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,security,sysconfig} \
196         $RPM_BUILD_ROOT{%{_sysconfdir}/shared,/var/lib/authdaemon}
197
198 %{__make} install \
199         DESTDIR=$RPM_BUILD_ROOT
200
201 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
202 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
203 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/imap
204 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/pop3
205
206 rm -rf  $RPM_BUILD_ROOT%{_mandir}/man8/{authcram,authpam,authpwd,authshadow,authuserdb,authvchkpw,pw2userdb,vchkpw2userdb,authdaemon,authdaemond,authldap,authmysql}.8 \
207         $RPM_BUILD_ROOT%{_sbindir}/{*db,mk*cert}
208
209 mv -f authlib/README.authmysql.html README.authmysql.html
210 mv -f authlib/README.ldap README.ldap
211 mv -f authlib/README.authmysql.myownquery README.authmysql.myownquery
212 mv -f imap/README README.imap
213 mv -f imap/ChangeLog ChangeLog
214 mv -f maildir/README.maildirquota.txt README.maildirquota
215
216 install authlib/authdaemonrc            $RPM_BUILD_ROOT%{_sysconfdir}
217 install authlib/authldaprc              $RPM_BUILD_ROOT%{_sysconfdir}
218 install authlib/authmysqlrc             $RPM_BUILD_ROOT%{_sysconfdir}
219 install authlib/authpgsqlrc             $RPM_BUILD_ROOT%{_sysconfdir}
220
221 mv -f $RPM_BUILD_ROOT%{_datadir}/*db \
222         $RPM_BUILD_ROOT%{_sbindir}
223 mv -f $RPM_BUILD_ROOT%{_datadir}/mk*cert \
224         $RPM_BUILD_ROOT%{_sbindir}
225
226 mv -f tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man8/couriertls.8
227 mv -f imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8/courierpop3d.8
228
229 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authcram.8
230 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authpam.8
231 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authpwd.8
232 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authshadow.8
233 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authuserdb.8
234 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authvchkpw.8
235 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemon.8
236 echo ".so man7/authlib.7"       >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemond.8
237 %{?with_pgsql:echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authpgsql.8}
238 %{?with_mysql:echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authmysql.8}
239 %{?with_ldap:echo ".so man7/authlib.7"  >$RPM_BUILD_ROOT%{_mandir}/man8/authldap.8}
240 echo ".so makeuserdb.8" >$RPM_BUILD_ROOT%{_mandir}/man8/pw2userdb.8
241 echo ".so makeuserdb.8" >$RPM_BUILD_ROOT%{_mandir}/man8/vchkpw2userdb.8
242
243 touch $RPM_BUILD_ROOT/etc/security/blacklist.{pop3,imap}
244
245 # make config files
246 ./sysconftool $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
247
248 # remove unpackaged files
249 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
250
251 %clean
252 rm -rf $RPM_BUILD_ROOT
253
254 %post
255 /sbin/chkconfig --add courier-imap
256
257 if [ -f /var/lock/subsys/courier-imap ]; then
258         /etc/rc.d/init.d/courier-imap restart >&2
259 else
260         echo "Run \"/etc/rc.d/init.d/courier-imap start\" to start courier-imap daemon."
261 fi
262
263 %preun
264 if [ "$1" = "0" ]; then
265         if [ -f /var/lock/subsys/courier-imap ]; then
266                 /etc/rc.d/init.d/courier-imap stop >&2
267         fi
268         /sbin/chkconfig --del courier-imap
269 fi
270
271 %triggerin -- %{name} < 3.0.5
272
273 %post common
274 if [ -f /var/lock/subsys/authdaemon ]; then
275         /etc/rc.d/init.d/authdaemon restart >&2
276 else
277         echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
278 fi
279
280 %preun common
281 if [ "$1" = "0" ]; then
282         if [ -f /var/lock/subsys/authdaemon ]; then
283                 /etc/rc.d/init.d/authdaemon stop >&2
284         fi
285 fi
286
287 %triggerin -n %{name}-common -- %{name}-common < 3.0.5
288 /sbin/chkconfig --del authdaemon
289
290 %post pop3
291 /sbin/chkconfig --add courier-pop3
292 /sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
293 if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
294         /etc/rc.d/init.d/courier-imap-pop3 stop >&2
295         /etc/rc.d/init.d/courier-pop3 start >&2
296 elif [ -f /var/lock/subsys/courier-pop3 ]; then
297         /etc/rc.d/init.d/courier-pop3 restart >&2
298 else
299         echo "Run \"/etc/rc.d/init.d/courier-pop3 start\" to start courier-pop3 daemon."
300 fi
301 rm -f /etc/rc.d/init.d/courier-imap-pop3
302
303 %preun pop3
304 if [ "$1" = "0" ]; then
305         if [ -f /var/lock/subsys/courier-pop3 ]; then
306                 /etc/rc.d/init.d/courier-pop3 stop >&2
307         fi
308         /sbin/chkconfig --del courier-pop3
309         if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
310                 /etc/rc.d/init.d/courier-imap-pop3 stop >&2
311         fi
312         /sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
313         rm -f /etc/rc.d/init.d/courier-imap-pop3
314 fi
315
316 %triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.5
317
318 %post authldap
319 METHOD=plain
320 . /etc/sysconfig/authdaemon
321 if [ "$METHOD" = "ldap" ]; then
322         if [ -f /var/lock/subsys/authdaemon ]; then
323                 /etc/rc.d/init.d/authdaemon restart >&2
324         else
325                 echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
326         fi
327 fi
328
329 %preun authldap
330 METHOD=plain
331 if [ -e /etc/sysconfig/authdaemon ]; then
332         . /etc/sysconfig/authdaemon
333         if [ "$1" = "$0" -a "$METHOD" = "ldap" ]; then
334                 if [ -f /var/lock/subsys/authdaemon ]; then
335                         /etc/rc.d/init.d/authdaemon stop >&2
336                 fi
337         fi
338 fi
339
340 %post authmysql
341 METHOD=plain
342 . /etc/sysconfig/authdaemon
343 if [ "$METHOD" = "mysql" ]; then
344         if [ -f /var/lock/subsys/authdaemon ]; then
345                 /etc/rc.d/init.d/authdaemon restart >&2
346         else
347                 echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
348         fi
349 fi
350
351 %preun authmysql
352 METHOD=plain
353 if [ -e /etc/sysconfig/authdaemon ]; then
354         . /etc/sysconfig/authdaemon
355         if [ "$1" = "$0" -a "$METHOD" = "mysql" ]; then
356                 if [ -f /var/lock/subsys/authdaemon ]; then
357                         /etc/rc.d/init.d/authdaemon stop >&2
358                 fi
359         fi
360 fi
361
362 %post authpgsql
363 METHOD=plain
364 . /etc/sysconfig/authdaemon
365 if [ "$METHOD" = "pgsql" ]; then
366         if [ -f /var/lock/subsys/authdaemon ]; then
367                 /etc/rc.d/init.d/authdaemon restart >&2
368         else
369                 echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
370         fi
371 fi
372
373 %preun authpgsql
374 METHOD=plain
375 if [ -e /etc/sysconfig/authdaemon ]; then
376         . /etc/sysconfig/authdaemon
377         if [ "$1" = "$0" -a "$METHOD" = "pgsql" ]; then
378                 if [ -f /var/lock/subsys/authdaemon ]; then
379                         /etc/rc.d/init.d/authdaemon stop >&2
380                 fi
381         fi
382 fi
383
384 %files
385 %defattr(644,root,root,755)
386 %doc maildir/README.sharedfolders.html
387 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/imap
388 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.imap
389 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/imapd
390 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/imapd-ssl
391 %{_sysconfdir}/imapd.cnf
392 %attr(754,root,root) /etc/rc.d/init.d/courier-imap
393 %attr(750,daemon,daemon) %dir %{_sysconfdir}/shared
394 %attr(755,root,root) %{_bindir}/imapd
395 %attr(755,root,root) %{_bindir}/maildiracl
396 %attr(755,root,root) %{_bindir}/maildirkw
397 %attr(755,root,root) %{_sbindir}/authenumerate
398 %attr(755,root,root) %{_sbindir}/imaplogin
399 %attr(755,root,root) %{_sbindir}/mkimapdcert
400 %attr(755,root,root) %{_sbindir}/sharedindexinstall
401 %attr(755,root,root) %{_sbindir}/sharedindexsplit
402 %attr(755,root,root) %{_libexecdir}/imapd.rc
403 %attr(755,root,root) %{_libexecdir}/imapd-ssl.rc
404 %{_mandir}/man8/imapd*
405 %{_mandir}/man1/maildiracl.1*
406 %{_mandir}/man1/maildirkw.1*
407
408 %files common
409 %defattr(644,root,root,755)
410 %doc AUTHORS ChangeLog imap/BUGS INSTALL README*
411 #%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/authdaemon
412 %attr(700,root,root) /var/lib/authdaemon
413 %attr(750,root,root) %dir %{_sysconfdir}
414 %dir %{_libexecdir}
415 %dir %{_libexecdir}/authlib
416 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authdaemonrc
417 %{_sysconfdir}/quotawarnmsg.example
418 %attr(755,root,root) %{_bindir}/couriertls
419 %attr(755,root,root) %{_libexecdir}/authlib/authdaemon
420 %attr(755,root,root) %{_libexecdir}/authlib/authdaemond
421 %attr(755,root,root) %{_libexecdir}/authlib/authdaemond.plain
422 %attr(755,root,root) %{_libexecdir}/couriertcpd
423 %attr(755,root,root) %{_libexecdir}/makedatprog
424 %attr(755,root,root) %{_sbindir}/courierlogger
425 %{_mandir}/man8/auth[cdsuv]*
426 %{_mandir}/man8/authp[aw]*
427 %{_mandir}/man7/authlib*
428 %{_mandir}/man1/couriert*
429 %{_mandir}/man8/couriert*
430 %{_mandir}/man8/mk*
431
432 %files userdb
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_sbindir}/makeuserdb
435 %attr(755,root,root) %{_sbindir}/pw2userdb
436 %attr(755,root,root) %{_sbindir}/userdb
437 %attr(755,root,root) %{_sbindir}/userdbpw
438 %attr(755,root,root) %{_sbindir}/vchkpw2userdb
439 %{_mandir}/man8/makeuserdb*
440 %{_mandir}/man8/userdb*
441 %{_mandir}/man8/*pw2userdb*
442
443 %files deliverquota
444 %defattr(644,root,root,755)
445 %attr(755,root,root) %{_bindir}/deliverquota
446 %{_mandir}/man8/deliverquota*
447
448 %files maildirmake
449 %defattr(644,root,root,755)
450 %attr(755,root,root) %{_bindir}/maildirmake
451 %{_mandir}/man1/maildirmake*
452
453 %files pop3
454 %defattr(644,root,root,755)
455 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/pop3
456 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.pop3
457 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pop3d
458 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pop3d-ssl
459 %attr(754,root,root) /etc/rc.d/init.d/courier-pop3
460 %attr(755,root,root) %{_bindir}/pop3d
461 %attr(755,root,root) %{_sbindir}/mkpop3dcert
462 %attr(755,root,root) %{_sbindir}/pop3login
463 %attr(755,root,root) %{_libexecdir}/pop3d.rc
464 %attr(755,root,root) %{_libexecdir}/pop3d-ssl.rc
465 %{_sysconfdir}/pop3d.cnf
466 %{_mandir}/man8/courierpop*
467
468 %if %{with ldap}
469 %files authldap
470 %defattr(644,root,root,755)
471 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authldaprc
472 %attr(755,root,root) %{_libexecdir}/authlib/authdaemond.ldap
473 %{_mandir}/man8/authldap*
474 %endif
475
476 %if %{with mysql}
477 %files authmysql
478 %defattr(644,root,root,755)
479 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authmysqlrc
480 %attr(755,root,root) %{_libexecdir}/authlib/authdaemond.mysql
481 %{_mandir}/man8/authmysql*
482 %endif
483
484 %if %{with pgsql}
485 %files authpgsql
486 %defattr(644,root,root,755)
487 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authpgsqlrc
488 %attr(755,root,root) %{_libexecdir}/authlib/authdaemond.pgsql
489 %{_mandir}/man8/authpgsql*
490 %endif
This page took 0.099583 seconds and 4 git commands to generate.