+# 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
+#
+# 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
+
Summary: Courier-IMAP server
-Summary(pl): Serwer Courier-IMAP
+Summary(pl.UTF-8): Serwer Courier-IMAP
Name: courier-imap
-Version: 4.0.5
-Release: 0.1
+Version: 4.10.0
+Release: 3
License: GPL
Group: Networking/Daemons
-Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: 961372cea83bcbd07471670df1f9121b
+Source0: http://downloads.sourceforge.net/courier/%{name}-%{version}.tar.bz2
+# Source0-md5: 2f95c99b9ad1380b9f3ac733ccd741a2
Source1: %{name}.init
Source2: %{name}-ssl.init
Source3: %{name}-pop3.init
Patch0: %{name}-dirs.patch
Patch1: %{name}-certsdir.patch
Patch2: %{name}-maildir.patch
+Patch3: %{name}-toplevel.patch
+Patch4: %{name}-drop-makedat.patch
URL: http://www.courier-mta.org/imap/
BuildRequires: autoconf >= 2.54
BuildRequires: automake
-BuildRequires: courier-authlib-devel >= 0.57
+BuildRequires: courier-authlib-devel >= 0.61
BuildRequires: db-devel
-BuildRequires: fam-devel
+BuildRequires: gdbm-devel
+BuildRequires: gnet-devel
+BuildRequires: libidn-devel
+%{?with_fam:BuildRequires: gamin-devel}
BuildRequires: libstdc++-devel
+BuildRequires: libtool
BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: pkgconfig
BuildRequires: procps
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: sed >= 4.0
BuildRequires: sysconftool
-PreReq: %{name}-common = %{version}-%{release}
-PreReq: rc-scripts
Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-common = %{version}-%{release}
+Requires: /sbin/chkconfig
Requires: pam >= 0.79.0
+Requires: rc-scripts
Provides: imapdaemon
Obsoletes: imapdaemon
Conflicts: cyrus-imapd
%description
Courier-IMAP is an IMAP server for Maildir mailboxes.
-%description -l pl
+%description -l pl.UTF-8
Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
%package common
Summary: Common files for imap and pop3 daemons
-Summary(pl): Pliki wspólne dla serwerów imap i pop3
+Summary(pl.UTF-8): Pliki wspólne dla serwerów imap i pop3
Group: Networking/Daemons
-PreReq: rc-scripts
-Requires(pre): courier-authlib
Requires(post,preun): /sbin/chkconfig
+Requires: /sbin/chkconfig
+Requires: courier-authlib
Requires: procps
+Requires: rc-scripts
%description common
Common files for imap and pop3 daemons.
-%description common -l pl
-Pliki wspólne dla serwerów imap i pop3.
+%description common -l pl.UTF-8
+Pliki wspólne dla serwerów imap i pop3.
%package deliverquota
Summary: Deliver to a Maildir with a quota
-Summary(pl): Obs³uga quoty przy dostarczaniu poczty do skrzynek Maildir
+Summary(pl.UTF-8): 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±.
+%description deliverquota -l pl.UTF-8
+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
+Summary(pl.UTF-8): 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
+%description maildirmake -l pl.UTF-8
+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
-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
Provides: pop3daemon
Obsoletes: pop3daemon
Conflicts: cyrus-imapd
%description pop3
Courier-IMAP POP3 is an POP3 server for Maildir mailboxes.
-%description pop3 -l pl
+%description pop3 -l pl.UTF-8
Courier-IMAP POP3 jest serwerem POP3 dla skrzynek pocztowych Maildir.
%prep
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%if %{with toplevel}
+%patch3 -p1
+%endif
+%patch4 -p1
-install %{SOURCE1} courier-imap.in
-install %{SOURCE2} courier-imap-ssl.in
-install %{SOURCE3} courier-pop3.in
-install %{SOURCE4} courier-pop3-ssl.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
+rm -f makedat/configure.in
%build
-
# Change Makefile.am files and force recreate Makefile.in's.
-OLDDIR=`pwd`
-find -type f -a \( -name configure.in -o -name configure.ac \) | while read FILE; do
- cd "`dirname "$FILE"`"
+find -type f -a '(' -name configure.in -o -name configure.ac ')' | while read FILE; do
+ cd "$(dirname "$FILE")"
- if [ -f Makefile.am ]; then
- sed -i -e '/_LDFLAGS=-static/d' Makefile.am
- fi
+ if [ -f Makefile.am ]; then
+ %{__sed} -i -e '/_[L]DFLAGS=-static/d' Makefile.am
+ fi
- %{__libtoolize}
- %{__aclocal}
- %{__autoconf}
- %{__autoheader}
- %{__automake}
+ %{__libtoolize}
+ %{__aclocal}
+ %{__autoconf}
+ if grep -q AC_CONFIG_HEADER configure.in; then
+ %{__autoheader}
+ fi
+ %{__automake}
- cd "$OLDDIR"
+ cd -
done
+%if %{without fam}
+ac_cv_header_fam_h=no \
+ac_cv_lib_fam_FAMOpen=no \
+%endif
%configure \
--with-db=db \
--enable-unicode \
--with-authchangepwdir=/var/tmp \
- --with-certsdir=%{_certsdir}
+ --with-certsdir=%{_certsdir} \
+ --with-mailer=/usr/lib/sendmail
-%{__make}
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,security},%{_certsdir}}
-%{__make} install \
+%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
-install courier-imap $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap
-install courier-imap-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-imap-ssl
-install courier-pop3 $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3
-install courier-pop3-ssl $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-pop3-ssl
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/imap
-install %{SOURCE6} $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
-mv -f imap/README README.imap
-mv -f imap/ChangeLog ChangeLog
-mv -f maildir/README.maildirquota.txt README.maildirquota
+cp -pf imap/README README.imap
+cp -pf imap/ChangeLog ChangeLog
+cp -pf maildir/README.maildirquota.txt README.maildirquota
-mv -f $RPM_BUILD_ROOT%{_datadir}/mk*cert \
- $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
+cp -p tcpd/couriertls.1 $RPM_BUILD_ROOT%{_mandir}/man8/couriertls.8
+cp -p imap/courierpop3d.8 $RPM_BUILD_ROOT%{_mandir}/man8/courierpop3d.8
touch $RPM_BUILD_ROOT/etc/security/blacklist.{pop3,imap}
+touch $RPM_BUILD_ROOT%{_sysconfdir}/shared/index
# make config files
./sysconftool $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
%post
/sbin/chkconfig --add courier-imap
/sbin/chkconfig --add courier-imap-ssl
-
-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
-
-if [ -f /var/lock/subsys/courier-imap-ssl ]; then
- /etc/rc.d/init.d/courier-imap-ssl restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/courier-imap-ssl start\" to start courier-imap-ssl daemon."
-fi
+%service courier-imap restart "courier-imap daemon"
+%service courier-imap-ssl restart "courier-imap-ssl daemon"
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/courier-imap ]; then
- /etc/rc.d/init.d/courier-imap stop >&2
- fi
+ %service courier-imap stop
/sbin/chkconfig --del courier-imap
fi
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/courier-imap-ssl ]; then
- /etc/rc.d/init.d/courier-imap-ssl stop >&2
- fi
+ %service courier-imap-ssl stop
/sbin/chkconfig --del courier-imap-ssl
fi
echo please look at them
echo
fi
-if [ -f /var/lock/subsys/courier-imap ]; then
- /etc/rc.d/init.d/courier-imap restart >&2
-fi
+%service -q courier-imap restart
%triggerin -- %{name} < 3.0.6
. %{_sysconfdir}/imapd-ssl
/sbin/chkconfig --add courier-pop3-ssl
/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
else
- echo "Run \"/etc/rc.d/init.d/courier-pop3 start\" to start courier-pop3 daemon."
-fi
-
-if [ -f /var/lock/subsys/courier-pop3-ssl ]; then
- /etc/rc.d/init.d/courier-pop3-ssl restart >&2
-else
- echo "Run \"/etc/rc.d/init.d/courier-pop3-ssl start\" to start courier-pop3-ssl daemon."
+ %service courier-pop3 restart "courier-pop3 daemon"
fi
+%service courier-pop3-ssl restart "courier-pop3-ssl daemon"
%preun pop3
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/courier-pop3 ]; then
- /etc/rc.d/init.d/courier-pop3 stop >&2
- fi
+ %service courier-pop3 stop
/sbin/chkconfig --del courier-pop3
- if [ -f /var/lock/subsys/courier-pop3-ssl ]; then
- /etc/rc.d/init.d/courier-pop3-ssl stop >&2
- fi
- /sbin/chkconfig --del courier-pop3-ssl
+ %service courier-pop3-ssl stop
+ /sbin/chkconfig --del courier-pop3-ssl
fi
%triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.5
echo please look at them
echo
fi
-if [ -f /var/lock/subsys/courier-pop3 ]; then
- /etc/rc.d/init.d/courier-pop3 restart >&2
-fi
+%service courier-pop3 restart
%triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.6
. %{_sysconfdir}/pop3d-ssl
%files
%defattr(644,root,root,755)
-%doc maildir/README.sharedfolders.html
+%doc maildir/README.sharedfolders.txt imap/README.proxy tcpd/README.couriertls
%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(754,root,root) /etc/rc.d/init.d/courier-imap-ssl
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared
%attr(755,daemon,daemon) %dir %{_sysconfdir}/shared.tmp
+%attr(644,daemon,daemon) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/shared/index
%attr(755,root,root) %{_bindir}/imapd
%attr(755,root,root) %{_bindir}/maildiracl
%attr(755,root,root) %{_bindir}/maildirkw
%files common
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog imap/BUGS INSTALL README*
-%attr(750,root,root) %dir %{_sysconfdir}
+%attr(751,root,root) %dir %{_sysconfdir}
%attr(750,root,root) %dir %{_certsdir}
%attr(770,daemon,daemon) %dir %{_localstatedir}
%dir %{_libexecdir}
%{_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*