+# TODO:
+# - put imap-ssl and pop3-ssl to separate packages - some want to have
+# ssl-only system (or non-ssl only system)
+# see also http://thread.gmane.org/gmane.linux.pld.devel.english/2509/focus=2509
+# - fix manpages:
+# [set $man.base.url.for.relative.links]/maildirquota.html
+# - Review -toplevel.patch
+#
+# Conditional build:
+%bcond_with toplevel # Allow toplevel folders. More info: http://www.ricky-chan.co.uk/courier/
+%bcond_without fam # FAM for enhanced IMAP IDLE and locking
+%bcond_with gnutls # GnuTLS instead of OpenSSL
+%bcond_with socks # (Courier) Socks support
+
-Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: 9061583ef8e7b3fd69ef77dbfc0656eb
+Source0: http://downloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2
+# Source0-md5: cf2689a6896b31058f3932cc4e42cb21
-Source2: %{name}-pop3.init
-Source3: %{name}.pamd
-Source4: %{name}-pop3.pamd
+Source2: %{name}-ssl.init
+Source3: %{name}-pop3.init
+Source4: %{name}-pop3-ssl.init
+Source5: %{name}.pamd
+Source6: %{name}-pop3.pamd
Patch0: %{name}-dirs.patch
Patch1: %{name}-certsdir.patch
Patch2: %{name}-maildir.patch
Patch0: %{name}-dirs.patch
Patch1: %{name}-certsdir.patch
Patch2: %{name}-maildir.patch
-BuildRequires: fam-devel
+BuildRequires: libidn-devel >= 0.0.0
+%{?with_fam:BuildRequires: gamin-devel}
+%{?with_gnutls:BuildRequires: gnutls-devel >= 3.0}
+%{?with_gnutls:BuildRequires: libgcrypt-devel}
+%{?with_gnutls:BuildRequires: libgpg-error-devel}
-BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: libtool >= 2:1.5
+%{!?with_gnutls:BuildRequires: openssl-devel >= 0.9.7d}
+BuildRequires: perl-base
+BuildRequires: pkgconfig
%define _sysconfdir /etc/courier-imap
%define _certsdir %{_sysconfdir}/certs
%define _localstatedir /var/spool/courier-imap
%define _sysconfdir /etc/courier-imap
%define _certsdir %{_sysconfdir}/certs
%define _localstatedir /var/spool/courier-imap
Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
%package common
Summary: Common files for imap and pop3 daemons
Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
%package common
Summary: Common files for imap and pop3 daemons
+Requires: /sbin/chkconfig
+# even if using OpenSSL libraries, Courier uses certtool from GnuTLS
+Requires: /usr/bin/certtool
+Requires: courier-authlib >= 0.61.0
Group: Networking/Daemons
%description deliverquota
deliverquota is a temporary hack to implement E-mail delivery to a
Maildir with a software-imposed quota.
Group: Networking/Daemons
%description deliverquota
deliverquota is a temporary hack to implement E-mail delivery to a
Maildir with a software-imposed quota.
-%description deliverquota -l pl
-deliverquota jest tymczasowym rozwi±zaniem implementuj±cym
-dostarczanie e-maili do skrzynek Maildir z programowo narzucon± quot±.
+%description deliverquota -l pl.UTF-8
+deliverquota jest tymczasowym rozwiązaniem implementującym
+dostarczanie e-maili do skrzynek Maildir z programowo narzuconą quotą.
Group: Networking/Daemons
Conflicts: qmail-maildirmake
%description maildirmake
Maildirmake is a tool for making mail folders in Maildir format.
Group: Networking/Daemons
Conflicts: qmail-maildirmake
%description maildirmake
Maildirmake is a tool for making mail folders in Maildir format.
-Summary(pl): Serwer Courier-IMAP POP3
-Group: Networking/Daemons
-PreReq: %{name}-common = %{version}-%{release}
-Requires: pam >= 0.77.3
+Summary(pl.UTF-8): Serwer Courier-IMAP POP3
+Group: Networking/Daemons/POP3
+Requires: %{name}-common = %{version}-%{release}
+Requires: pam >= 0.79.0
-install %{SOURCE1} courier-imap.in
-install %{SOURCE2} courier-pop3.in
+cp -p %{SOURCE1} courier-imap.in
+cp -p %{SOURCE2} courier-imap-ssl.in
+cp -p %{SOURCE3} courier-pop3.in
+cp -p %{SOURCE4} courier-pop3-ssl.in
- --with-certsdir=%{_certsdir}
+ --with-certsdir=%{_certsdir} \
+ --with-db=db \
+ %{?with_gnutls:--with-gnutls} \
+ --with-mailer=/usr/lib/sendmail \
+ --with-notice=unicode \
+ %{!?with_socks:--without-socks}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,security},%{_certsdir}}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,security},%{_certsdir}}
-install courier-imap $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
-install courier-pop3 $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/imap
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/pop3
+install -p courier-imap $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
+install -p courier-imap-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap-ssl
+install -p courier-pop3 $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
+install -p courier-pop3-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3-ssl
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/imap
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pop3
-rm -rf $RPM_BUILD_ROOT%{_sbindir}/mk*cert
+# install directly instead of symlinking
+%{__rm} $RPM_BUILD_ROOT%{_sbindir}/mk{dhparams,imapdcert,pop3dcert}
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/mk{dhparams,imapdcert,pop3dcert} $RPM_BUILD_ROOT%{_sbindir}
-mv -f $RPM_BUILD_ROOT%{_datadir}/mk*cert \
- $RPM_BUILD_ROOT%{_sbindir}
-
-mv -f tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man8/couriertls.8
-mv -f imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8/courierpop3d.8
+# missing from make install
+cp -p libs/imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8
+cp -p libs/tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man1
sed -i 's/^IMAPDSTART.*/IMAPDSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/imapd
# remove unpackaged files
sed -i 's/^IMAPDSTART.*/IMAPDSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/imapd
# remove unpackaged files
-
-if [ -f /var/lock/subsys/courier-imap ]; then
- /etc/rc.d/init.d/courier-imap restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/courier-imap start\" to start courier-imap daemon."
-fi
+/sbin/chkconfig --add courier-imap-ssl
+%service courier-imap restart "courier-imap daemon"
+%service courier-imap-ssl restart "courier-imap-ssl daemon"
-%triggerin -- %{name}-userdb < 4.0.2
-echo
-echo courier-imap-userdb is obsolete
-echo install courier-authlib-userdb package
-echo
+if [ "$1" = "0" ]; then
+ %service courier-imap-ssl stop
+ /sbin/chkconfig --del courier-imap-ssl
+fi
+
%triggerin -n %{name}-common -- %{name}-common < 3.0.5
/sbin/chkconfig --del authdaemon
if [ -f /var/lock/subsys/authdaemon ]; then
%triggerin -n %{name}-common -- %{name}-common < 3.0.5
/sbin/chkconfig --del authdaemon
if [ -f /var/lock/subsys/authdaemon ]; then
/sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
/sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
- /etc/rc.d/init.d/courier-imap-pop3 stop >&2
- /etc/rc.d/init.d/courier-pop3 start >&2
-elif [ -f /var/lock/subsys/courier-pop3 ]; then
- /etc/rc.d/init.d/courier-pop3 restart >&2
+ /sbin/service courier-imap-pop3 stop >&2
+ /sbin/service courier-pop3 start >&2
%files
%defattr(644,root,root,755)
%files
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd-ssl
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd.cnf
%attr(754,root,root) /etc/rc.d/init.d/courier-imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.imap
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd-ssl
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/imapd.cnf
%attr(754,root,root) /etc/rc.d/init.d/courier-imap
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared.tmp
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared.tmp
%attr(755,root,root) %{_bindir}/imapd
%attr(755,root,root) %{_bindir}/maildiracl
%attr(755,root,root) %{_bindir}/maildirkw
%attr(755,root,root) %{_bindir}/imapd
%attr(755,root,root) %{_bindir}/maildiracl
%attr(755,root,root) %{_bindir}/maildirkw
%attr(755,root,root) %{_sbindir}/imaplogin
%attr(755,root,root) %{_sbindir}/mkimapdcert
%attr(755,root,root) %{_sbindir}/sharedindexinstall
%attr(755,root,root) %{_sbindir}/sharedindexsplit
%attr(755,root,root) %{_sbindir}/imaplogin
%attr(755,root,root) %{_sbindir}/mkimapdcert
%attr(755,root,root) %{_sbindir}/sharedindexinstall
%attr(755,root,root) %{_sbindir}/sharedindexsplit
-%attr(755,root,root) %{_libexecdir}/imapd.rc
-%attr(755,root,root) %{_libexecdir}/imapd-ssl.rc
-%{_mandir}/man8/imapd*
+%attr(755,root,root) %{_libexecdir}/courier-imap/imapd.rc
+%attr(755,root,root) %{_libexecdir}/courier-imap/imapd-ssl.rc
%files common
%defattr(644,root,root,755)
%files common
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog imap/BUGS INSTALL README*
-%attr(750,root,root) %dir %{_sysconfdir}
+%doc AUTHORS COPYING INSTALL NEWS README README.imap libs/imap/{BUGS,ChangeLog} libs/maildir/README.maildirquota.txt
+%attr(751,root,root) %dir %{_sysconfdir}
%attr(750,root,root) %dir %{_certsdir}
%attr(770,daemon,daemon) %dir %{_localstatedir}
%attr(750,root,root) %dir %{_certsdir}
%attr(770,daemon,daemon) %dir %{_localstatedir}
%{_sysconfdir}/quotawarnmsg.example
%attr(755,root,root) %{_bindir}/couriertls
%{_sysconfdir}/quotawarnmsg.example
%attr(755,root,root) %{_bindir}/couriertls
-%attr(755,root,root) %{_libexecdir}/couriertcpd
-%attr(755,root,root) %{_libexecdir}/makedatprog
-%{_mandir}/man1/couriert*
-%{_mandir}/man8/couriert*
-%{_mandir}/man8/mk*
+%attr(755,root,root) %{_sbindir}/mkdhparams
+%attr(755,root,root) %{_libexecdir}/courier-imap/couriertcpd
+%{_mandir}/man1/couriertcpd.1*
+%{_mandir}/man1/couriertls.1*
+%{_mandir}/man8/mkdhparams.8*
%files deliverquota
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/deliverquota
%files deliverquota
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/deliverquota
%files maildirmake
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/maildirmake
%files maildirmake
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/maildirmake
%files pop3
%defattr(644,root,root,755)
%files pop3
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d-ssl
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d.cnf
%attr(754,root,root) /etc/rc.d/init.d/courier-pop3
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d-ssl
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pop3d.cnf
%attr(754,root,root) /etc/rc.d/init.d/courier-pop3
%attr(755,root,root) %{_bindir}/pop3d
%attr(755,root,root) %{_sbindir}/mkpop3dcert
%attr(755,root,root) %{_sbindir}/pop3login
%attr(755,root,root) %{_bindir}/pop3d
%attr(755,root,root) %{_sbindir}/mkpop3dcert
%attr(755,root,root) %{_sbindir}/pop3login
-%attr(755,root,root) %{_libexecdir}/pop3d.rc
-%attr(755,root,root) %{_libexecdir}/pop3d-ssl.rc
-%{_mandir}/man8/courierpop*
+%attr(755,root,root) %{_libexecdir}/courier-imap/pop3d.rc
+%attr(755,root,root) %{_libexecdir}/courier-imap/pop3d-ssl.rc
+%{_mandir}/man8/courierpop3d.8*
+%{_mandir}/man8/mkpop3dcert.8*