+#
+# Conditional build:
+%bcond_without ldap # without LDAP support
+%bcond_without mysql # without MySQL support
+%bcond_without pgsql # without PostgreSQL support
Summary: Courier-IMAP server
+Summary(pl): Serwer Courier-IMAP
Name: courier-imap
-Version: 1.3.8.2
-Release: 1
+Version: 2.2.1
+Release: 4
License: GPL
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-URL: http://www.inter7.com/courierimap/
-Source0: http://download.sourceforge.net/courier/%{name}-%{version}.tar.gz
+Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
+# Source0-md5: 27c90ce2ac2412bc90994cacbd75616b
Source1: %{name}.init
Source2: %{name}-pop3.init
Source3: %{name}-authdaemon.init
Source6: %{name}.sysconfig
Source7: %{name}-pop3.sysconfig
Source8: %{name}-authdaemon.sysconfig
-Requires: %{name}-common = %{version}
-BuildRequires: mysql-devel
-BuildRequires: openldap-devel
-Prereq: rc-scripts
+Patch0: %{name}-no_res_query.patch
+URL: http://www.inter7.com/courierimap/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gdbm-devel
+BuildRequires: libstdc++-devel
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_ldap:BuildRequires: openldap-devel}
+BuildRequires: openssl-devel >= 0.9.7c
+%{?with_pgsql:BuildRequires: postgresql-devel}
+BuildRequires: sysconftool
+%{?with_mysql:BuildRequires: zlib-devel}
+PreReq: %{name}-common = %{version}
+PreReq: rc-scripts
+Requires(post,preun): /sbin/chkconfig
+Requires: pam >= 0.77.3
Provides: imapdaemon
-Obsoletes: imapdaemon
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Obsoletes: imapdaemon
+Conflicts: cyrus-imapd
+Conflicts: imap
%define _libexecdir /usr/lib/courier-imap
%define _sysconfdir /etc/courier-imap
Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
%package common
-Summary: Common files for imap and pop daemons.
+Summary: Common files for imap and pop daemons
+Summary(pl): Pliki wspólne dla serwerów imap i pop
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Prereq: rc-scripts
+PreReq: rc-scripts
+Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-deliverquota
+Requires: %{name}-maildirmake
+Requires: %{name}-userdb
%description common
Common files for imap and pop daemons.
-%description -l pl common
+%description common -l pl
Pliki wspólne dla serwerów imap i pop.
+%package userdb
+Summary: Commands used to create the /etc/userdb.dat
+Summary(pl): Polecenia do tworzenia /etc/userdb.dat
+Group: Networking/Daemons
+
+%description userdb
+Commands used to create the /etc/userdb.dat.
+
+%description userdb -l pl
+Polecenia u¿ywane do stworzenia /etc/userdb.dat.
+
+%package deliverquota
+Summary: Deliver to a Maildir with a quota
+Summary(pl): Obs³uga quoty przy dostarczaniu poczty do skrzynek Maildir
+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±.
+
+%package maildirmake
+Summary: Tool for making mail folders in Maildir format
+Summary(pl): Narzêdzie do tworzenia folderów w formacie Maildir
+Group: Networking/Daemons
+Conflicts: qmail-maildirmake
+
+%description maildirmake
+Maildirmake is a tool for making mail folders in Maildir format.
+
+%description maildirmake -l pl
+Maildirmake jest narzêdziem do tworzenia folderów pocztowych w
+formacie Maildir.
+
%package pop3
Summary: Courier-IMAP POP3 Server
+Summary(pl): Serwer Courier-IMAP POP3
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Requires: %{name}-common = %{version}
-Prereq: rc-scripts
+PreReq: %{name}-common = %{version}-%{release}
+Requires: pam >= 0.77.3
Provides: pop3daemon
Obsoletes: pop3daemon
+Conflicts: cyrus-imapd
+Conflicts: imap-pop3
+Conflicts: solid-pop3d
+Conflicts: tpop3d
%description pop3
Courier-IMAP POP3 is an POP3 server for Maildir mailboxes.
-%description -l pl pop3
+%description pop3 -l pl
Courier-IMAP POP3 jest serwerem POP3 dla skrzynek pocztowych Maildir.
+%package authldap
+Summary: LDAP authentication daemon for Courier IMAP
+Summary(pl): Demon autentykacji LDAP do Courier IMAP
+Group: Networking/Daemons
+PreReq: %{name}-common = %{version}-%{release}
+
+%description authldap
+This package provides LDAP authentication for Courier IMAP.
+
+%description authldap -l pl
+Ten pakiet pozwala na korzystanie z autentykacji LDAP w Courier IMAP.
+
+%package authmysql
+Summary: MySQL authentication daemon for Courier IMAP
+Summary(pl): Demon autentykacji MySQL do Courier IMAP
+Group: Networking/Daemons
+PreReq: %{name}-common = %{version}-%{release}
+Requires: zlib
+
+%description authmysql
+This package provides MySQL authentication for Courier IMAP.
+
+%description authmysql -l pl
+Ten pakiet pozwala na korzystanie z autentykacji MySQL w Courier IMAP.
+
+%package authpgsql
+Summary: PostgreSQL authentication daemon for Courier IMAP
+Summary(pl): Demon autentykacji PostgreSQL do Courier IMAP
+Group: Networking/Daemons
+PreReq: %{name}-common = %{version}-%{release}
+
+%description authpgsql
+This package provides PostgreSQL authentication for Courier IMAP.
+
+%description authpgsql -l pl
+Ten pakiet pozwala na korzystanie z autentykacji PostgreSQL w Courier
+IMAP.
+
%prep
%setup -q
+%patch0 -p1
%build
-%configure2_13 \
- --with-authdaemonvar=/var/lib/authdaemon
+cp -f /usr/share/automake/config.sub .
+cp -f /usr/share/automake/config.sub maildir
+cd authlib
+%{__aclocal}
+%{__automake}
+%{__autoconf}
+cd ..
+%configure \
+ --enable-unicode \
+ --with-authchangepwdir=/var/tmp \
+ --with-authdaemonvar=/var/lib/authdaemon \
+ %{?with_mysql:--with-mysql-libs=%{_libdir} --with-mysql-includes=%{_includedir}/mysql} \
+ %{!?with_mysql:--without-authmysql} \
+ %{?with_pgsql:--with-pgsql-libs=%{_libdir} --with-pgsql-includes=%{_includedir}/postgresql} \
+ %{!?with_pgsql:--without-authpgsql} \
+ %{!?with_ldap:--without-authldap}
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,security,sysconfig} \
- $RPM_BUILD_ROOT%{_sysconfdir}
+ $RPM_BUILD_ROOT{%{_sysconfdir},/var/lib/authdaemon}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap-pop3
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/authdaemon
install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/imap
install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/pop3
install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/courier-imap
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/sysconfig/courier-imap-pop3
+install %{SOURCE7} $RPM_BUILD_ROOT/etc/sysconfig/courier-pop3
install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/authdaemon
-rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/{authcram,authpam,authpwd,authshadow,authuserdb,authvchkpw,pw2userdb,vchkpw2userdb,authdaemon,authdaemond,authldap,authmysql}.8 \
+rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/{authcram,authpam,authpwd,authshadow,authuserdb,authvchkpw,pw2userdb,vchkpw2userdb,authdaemon,authdaemond,authldap,authmysql}.8 \
$RPM_BUILD_ROOT%{_sbindir}/{*db,mk*cert}
+mv -f authlib/README.authmysql.html README.authmysql.html
+mv -f authlib/README.ldap README.ldap
+mv -f authlib/README.authmysql.myownquery README.authmysql.myownquery
mv -f imap/README README.imap
+mv -f imap/ChangeLog ChangeLog
mv -f maildir/README.maildirquota.txt README.maildirquota
install authlib/authdaemonrc $RPM_BUILD_ROOT%{_sysconfdir}
install authlib/authldaprc $RPM_BUILD_ROOT%{_sysconfdir}
install authlib/authmysqlrc $RPM_BUILD_ROOT%{_sysconfdir}
+install authlib/authpgsqlrc $RPM_BUILD_ROOT%{_sysconfdir}
mv -f $RPM_BUILD_ROOT%{_datadir}/*db \
$RPM_BUILD_ROOT%{_sbindir}
mv -f $RPM_BUILD_ROOT%{_datadir}/mk*cert \
$RPM_BUILD_ROOT%{_sbindir}
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authcram.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authpam.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authpwd.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authshadow.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authuserdb.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authvchkpw.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemon.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemond.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authmysql.8
-echo ".so authlib.8" >$RPM_BUILD_ROOT%{_mandir}/man8/authldap.8
+mv -f tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man8/couriertls.8
+mv -f imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8/courierpop3d.8
+
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authcram.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authpam.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authpwd.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authshadow.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authuserdb.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authvchkpw.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemon.8
+echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authdaemond.8
+%{?with_pgsql:echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authpgsql.8}
+%{?with_mysql:echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authmysql.8}
+%{?with_ldap:echo ".so man7/authlib.7" >$RPM_BUILD_ROOT%{_mandir}/man8/authldap.8}
echo ".so makeuserdb.8" >$RPM_BUILD_ROOT%{_mandir}/man8/pw2userdb.8
echo ".so makeuserdb.8" >$RPM_BUILD_ROOT%{_mandir}/man8/vchkpw2userdb.8
-gzip -9nf README* imap/BUGS AUTHORS COPYING
-
touch $RPM_BUILD_ROOT/etc/security/blacklist.{pop3,imap}
+%clean
+rm -rf $RPM_BUILD_ROOT
+
%post
-DESC="%{name} daemon"; %chkconfig_add
+/sbin/chkconfig --add courier-imap
+
+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
%preun
-%chkconfig_del
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/courier-imap ]; then
+ /etc/rc.d/init.d/courier-imap stop >&2
+ fi
+ /sbin/chkconfig --del courier-imap
+fi
%post common
-NAME=authdaemon; DESC="%{name} authdaemon"; %chkconfig_add
+/sbin/chkconfig --add authdaemon
+
+if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
+fi
%preun common
-NAME=authdaemon; %chkconfig_del
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon stop >&2
+ fi
+
+ /sbin/chkconfig --del authdaemon
+fi
%post pop3
-NAME=%{name}-pop3; DESC="%{name} pop3 daemon; %chkconfig_add
+/sbin/chkconfig --add courier-pop3
+/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
+else
+ echo "Run \"/etc/rc.d/init.d/courier-pop3 start\" to start courier-pop3 daemon."
+fi
+rm -f /etc/rc.d/init.d/courier-imap-pop3
%preun pop3
-NAME=%{name}-pop3; %chkconfig_del
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/courier-pop3 ]; then
+ /etc/rc.d/init.d/courier-pop3 stop >&2
+ fi
+ /sbin/chkconfig --del courier-pop3
+ if [ -f /var/lock/subsys/courier-imap-pop3 ]; then
+ /etc/rc.d/init.d/courier-imap-pop3 stop >&2
+ fi
+ /sbin/chkconfig --del courier-imap-pop3 >/dev/null 2>&1 || :
+ rm -f /etc/rc.d/init.d/courier-imap-pop3
+fi
+
+%post authldap
+METHOD=plain
+. /etc/sysconfig/authdaemon
+if [ "$METHOD" = "ldap" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon restart >&2
+ else
+ echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
+ fi
+fi
+
+%preun authldap
+METHOD=plain
+if [ -e /etc/sysconfig/authdaemon ]; then
+ . /etc/sysconfig/authdaemon
+ if [ "$1" = "$0" -a "$METHOD" = "ldap" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon stop >&2
+ fi
+ fi
+fi
+
+%post authmysql
+METHOD=plain
+. /etc/sysconfig/authdaemon
+if [ "$METHOD" = "mysql" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon restart >&2
+ else
+ echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
+ fi
+fi
+
+%preun authmysql
+METHOD=plain
+if [ -e /etc/sysconfig/authdaemon ]; then
+ . /etc/sysconfig/authdaemon
+ if [ "$1" = "$0" -a "$METHOD" = "mysql" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon stop >&2
+ fi
+ fi
+fi
+
+%post authpgsql
+METHOD=plain
+. /etc/sysconfig/authdaemon
+if [ "$METHOD" = "pgsql" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon restart >&2
+ else
+ echo "Run \"/etc/rc.d/init.d/authdaemon start\" to start courier-imap authdaemon."
+ fi
+fi
+
+%preun authpgsql
+METHOD=plain
+if [ -e /etc/sysconfig/authdaemon ]; then
+ . /etc/sysconfig/authdaemon
+ if [ "$1" = "$0" -a "$METHOD" = "pgsql" ]; then
+ if [ -f /var/lock/subsys/authdaemon ]; then
+ /etc/rc.d/init.d/authdaemon stop >&2
+ fi
+ fi
+fi
%files
%defattr(644,root,root,755)
-%attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/imap
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/imap
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.imap
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/courier-imap
%attr(754,root,root) /etc/rc.d/init.d/courier-imap
%{_sysconfdir}/imapd.cnf
%attr(755,root,root) %{_bindir}/imapd
+%attr(755,root,root) %{_bindir}/maildirkw
%attr(755,root,root) %{_sbindir}/imaplogin
%attr(755,root,root) %{_sbindir}/mkimapdcert
+%{_mandir}/man8/imapd*
+%{_mandir}/man1/maildirkw.1*
%files common
%defattr(644,root,root,755)
-%doc *.gz imap/*.gz
+%doc README* imap/BUGS ChangeLog AUTHORS
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/authdaemon
%attr(754,root,root) /etc/rc.d/init.d/authdaemon
+%attr(700,root,root) /var/lib/authdaemon
%attr(750,root,root) %dir %{_sysconfdir}
%dir %{_libexecdir}
%dir %{_libexecdir}/authlib
-%{_sysconfdir}/authdaemonrc
-%{_sysconfdir}/authldaprc
-%{_sysconfdir}/authmysqlrc
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authdaemonrc
%{_sysconfdir}/quotawarnmsg.example
%attr(755,root,root) %{_bindir}/couriertls
-%attr(755,root,root) %{_bindir}/maildirmake
+%attr(755,root,root) %{_libexecdir}/authlib/authdaemon
+%attr(755,root,root) %{_libexecdir}/authlib/authdaemond.plain
+%attr(755,root,root) %{_libexecdir}/couriertcpd
+%attr(755,root,root) %{_libexecdir}/courierlogger
+%attr(755,root,root) %{_libexecdir}/makedatprog
+%{_mandir}/man8/auth[cdsuv]*
+%{_mandir}/man8/authp[aw]*
+%{_mandir}/man7/authlib*
+%{_mandir}/man1/couriert*
+%{_mandir}/man8/couriert*
+%{_mandir}/man8/mk*
+
+%files userdb
+%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/makeuserdb
%attr(755,root,root) %{_sbindir}/pw2userdb
%attr(755,root,root) %{_sbindir}/userdb
%attr(755,root,root) %{_sbindir}/userdbpw
%attr(755,root,root) %{_sbindir}/vchkpw2userdb
-%attr(755,root,root) %{_libexecdir}/authlib/authdaemon
-%attr(755,root,root) %{_libexecdir}/authlib/authdaemond.*
-%attr(755,root,root) %{_libexecdir}/couriertcpd
-%attr(755,root,root) %{_libexecdir}/deliverquota
-%attr(755,root,root) %{_libexecdir}/logger
-%attr(755,root,root) %{_libexecdir}/makedatprog
-%{_mandir}/man*/*
+%{_mandir}/man8/makeuserdb*
+%{_mandir}/man8/userdb*
+%{_mandir}/man8/*pw2userdb*
+
+%files deliverquota
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/deliverquota
+%{_mandir}/man8/deliverquota*
+
+%files maildirmake
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/maildirmake
+%{_mandir}/man1/maildirmake*
%files pop3
%defattr(644,root,root,755)
-%attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/pop3
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/pop3
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.pop3
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/courier-imap-pop3
-%attr(754,root,root) /etc/rc.d/init.d/courier-imap-pop3
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/courier-pop3
+%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
%{_sysconfdir}/pop3d.cnf
+%{_mandir}/man8/courierpop*
+
+%if %{with ldap}
+%files authldap
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authldaprc
+%attr(755,root,root) %{_libexecdir}/authlib/authdaemond.ldap
+%{_mandir}/man8/authldap*
+%endif
+
+%if %{with mysql}
+%files authmysql
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authmysqlrc
+%attr(755,root,root) %{_libexecdir}/authlib/authdaemond.mysql
+%{_mandir}/man8/authmysql*
+%endif
+
+%if %{with pgsql}
+%files authpgsql
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authpgsqlrc
+%attr(755,root,root) %{_libexecdir}/authlib/authdaemond.pgsql
+%{_mandir}/man8/authpgsql*
+%endif