#
-# TODO:
-# - tests and rel.1
-#
# 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: 3.0.5
-Release: 0.9
+Version: 3.0.7
+Release: 1
License: GPL
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: 8b0c79997905dc46cfe4cc13be74ceaf
+# Source0-md5: 3177f4451d02b6380c5b45aa80d795a7
Source1: %{name}.init
Source2: %{name}-pop3.init
Source3: %{name}.pamd
BuildRequires: openssl-devel >= 0.9.7d
%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: procps
+BuildRequires: sed >= 4.0
BuildRequires: sysconftool
%{?with_mysql:BuildRequires: zlib-devel}
PreReq: %{name}-common = %{version}-%{release}
%define _libexecdir /usr/%{_lib}/courier-imap
%define _sysconfdir /etc/courier-imap
%define _certsdir %{_sysconfdir}/certs
+%define _localstatedir /var/spool/courier-imap
%description
Courier-IMAP is an IMAP server for Maildir mailboxes.
cd ..
%configure \
+ --localstatedir=%{_localstatedir} \
--libexecdir=%{_libexecdir} \
--enable-unicode \
--with-authchangepwdir=/var/tmp \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,security,sysconfig} \
- $RPM_BUILD_ROOT{%{_sysconfdir}/shared,%{_certsdir},/var/lib/authdaemon}
+install -d $RPM_BUILD_ROOT{/etc/{pam.d,rc.d/init.d,security},%{_certsdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
./sysconftool $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
# set yes to start imapd and pop3d
-sed 's/^POP3DSTART.*/POP3DSTART=YES/' < $RPM_BUILD_ROOT%{_sysconfdir}/pop3d > $RPM_BUILD_ROOT%{_sysconfdir}/pop3d.new
-mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pop3d.new $RPM_BUILD_ROOT%{_sysconfdir}/pop3d
-
-sed 's/^IMAPDSTART.*/IMAPDSTART=YES/' < $RPM_BUILD_ROOT%{_sysconfdir}/imapd > $RPM_BUILD_ROOT%{_sysconfdir}/imapd.new
-mv -f $RPM_BUILD_ROOT%{_sysconfdir}/imapd.new $RPM_BUILD_ROOT%{_sysconfdir}/imapd
+sed -i 's/^POP3DSTART.*/POP3DSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/pop3d
+sed -i 's/^IMAPDSTART.*/IMAPDSTART=YES/' $RPM_BUILD_ROOT%{_sysconfdir}/imapd
# remove unpackaged files
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
fi
if [ -f /etc/sysconfig/courier-imap ]; then
. /etc/sysconfig/courier-imap
- for opt in `grep ^[^#] courier-imap |grep -v TLS_CERTFILE |grep -v MAILDIR|grep -v COURIERTLS |cut -d= -f1`;
+ for opt in `grep ^[^#] /etc/sysconfig/courier-imap |grep -v TLS_CERTFILE |grep -v MAILDIR |grep -v COURIERTLS |cut -d= -f1`;
do
eval opt2=\$$opt
- sed s/^$opt=.*/"$opt=\"$opt2\""/ < %{_sysconfdir}/imapd > %{_sysconfdir}/imapd.new
- mv -f %{_sysconfdir}/imapd.new %{_sysconfdir}/imapd
- sed s/^$opt=.*/"$opt=\"$opt2\""/ < %{_sysconfdir}/imapd-ssl > %{_sysconfdir}/imapd-ssl.new
- mv -f %{_sysconfdir}/imapd-ssl.new %{_sysconfdir}/imapd-ssl
+ sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/imapd
+ sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/imapd-ssl
done
+ sed -i s/^SSLADDRESS=.*/"SSLADDRESS=$ADDRESS_SSL"/ %{_sysconfdir}/imapd-ssl
+ sed -i s/^SSLPORT=.*/"SSLPORT=$PORTS_SSL"/ %{_sysconfdir}/imapd-ssl
+ sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/imapd-ssl
+ sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/imapd
+ echo
+ echo IMAPD config file has been rewriten to %{_sysconfdir}/imapd,imapd-ssl
+ echo please look at them
+ echo
fi
-sed s/^SSLADDRESS=.*/"SSLADDRESS=$ADDRESS_SSL"/ < %{_sysconfdir}/imapd-ssl > %{_sysconfdir}/imapd-ssl.new
-mv -f %{_sysconfdir}/imapd-ssl.new %{_sysconfdir}/imapd-ssl
-echo
-echo IMAPD config file has been rewriten to %{_sysconfdir}/imapd,imapd-ssl
-echo
if [ -f /var/lock/subsys/courier-imap ]; then
/etc/rc.d/init.d/courier-imap restart >&2
fi
+%triggerin -- %{name} < 3.0.6
+. %{_sysconfdir}/imapd-ssl
+if [ $TLS_CACHEFILE = "/var/couriersslcache" ]; then
+ sed -i s/^TLS_CACHEFILE=.*/"TLS_CACHEFILE=\/var\/spool\/courier-imap\/couriersslcache"/ %{_sysconfdir}/imapd-ssl
+fi
+
%triggerin -n %{name}-common -- %{name}-common < 3.0.5
/sbin/chkconfig --del authdaemon
-rm -f /var/lock/subsys/authdaemon
+if [ -f /var/lock/subsys/authdaemon ]; then
+ kill `cat /var/lib/authdaemon/pid`
+ rm -f /var/lock/subsys/authdaemon
+fi
if [ -f /etc/sysconfig/authdaemon ]; then
. /etc/sysconfig/authdaemon
- sed s/^version.*/version=authdaemon.$METHOD/ <%{_sysconfdir}/authdaemonrc >%{_sysconfdir}/authdaemonrc.new
- mv -f %{_sysconfdir}/authdaemonrc.new %{_sysconfdir}/authdaemonrc
+ sed -i s/^version.*/version=authdaemond.$METHOD/ %{_sysconfdir}/authdaemonrc
fi
+echo
echo Changes to version 3.0.5 :
echo - config files has been splited and moved to %{_sysconfdir}
echo - certificates directory has changed to %{_certsdir}
fi
if [ -f /etc/sysconfig/courier-pop3 ]; then
. /etc/sysconfig/courier-pop3
- for opt in `grep ^[^#] courier-pop3 |grep -v TLS_CERTFILE |grep -v MAILDIR|grep -v COURIERTLS |cut -d= -f1`;
+ for opt in `grep ^[^#] /etc/sysconfig/courier-pop3 |grep -v TLS_CERTFILE |grep -v MAILDIR |grep -v COURIERTLS |cut -d= -f1`;
do
eval opt2=\$$opt
- sed s/^$opt=.*/"$opt=\"$opt2\""/ < %{_sysconfdir}/pop3d > %{_sysconfdir}/pop3d.new
- mv -f %{_sysconfdir}/pop3d.new %{_sysconfdir}/pop3d
- sed s/^$opt=.*/"$opt=\"$opt2\""/ < %{_sysconfdir}/pop3d-ssl > %{_sysconfdir}/pop3d-ssl.new
- mv -f %{_sysconfdir}/pop3d-ssl.new %{_sysconfdir}/pop3d-ssl
+ sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/pop3d
+ sed -i s/^$opt=.*/"$opt=\"$opt2\""/ %{_sysconfdir}/pop3d-ssl
done
+ sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/pop3d-ssl
+ sed -i s!^MAILDIRPATH=.*!"MAILDIRPATH=\"$MAILDIR\""! %{_sysconfdir}/pop3d
+ echo
+ echo POP3D config file has been rewriten to %{_sysconfdir}/pop3d,pop3d-ssl
+ echo please look at them
+ echo
fi
-echo
-echo POP3D config file has been rewriten to %{_sysconfdir}/pop3d,pop3d-ssl
-echo
if [ -f /var/lock/subsys/courier-pop3 ]; then
/etc/rc.d/init.d/courier-pop3 restart >&2
fi
+%triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.6
+. %{_sysconfdir}/pop3d-ssl
+if [ $TLS_CACHEFILE = "/var/couriersslcache" ]; then
+ sed -i s/^TLS_CACHEFILE=.*/"TLS_CACHEFILE=\/var\/spool\/courier-imap\/couriersslcache"/ %{_sysconfdir}/pop3d-ssl
+fi
+
%post authldap
if ps -A |grep -q authdaemond.lda; then
%{_libexecdir}/authlib/authdaemond stop
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/imapd-ssl
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/imapd.cnf
%attr(754,root,root) /etc/rc.d/init.d/courier-imap
-%attr(750,daemon,daemon) %dir %{_sysconfdir}/shared
+%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(700,root,root) /var/lib/authdaemon
%attr(750,root,root) %dir %{_sysconfdir}
%attr(750,root,root) %dir %{_certsdir}
+%attr(700,daemon,daemon) %dir %{_localstatedir}
%dir %{_libexecdir}
%dir %{_libexecdir}/authlib
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authdaemonrc
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/authdaemonrc
%{_sysconfdir}/quotawarnmsg.example
%attr(755,root,root) %{_bindir}/couriertls
%attr(755,root,root) %{_libexecdir}/authlib/authdaemon