]> git.pld-linux.org Git - packages/courier-imap.git/blobdiff - courier-imap.spec
- updated to 0.3.5
[packages/courier-imap.git] / courier-imap.spec
index 760f775a4f65547c7b9382b8db9fbbd16706ebbe..0c647189273376102ae9c139fc33db6525ee4d60 100644 (file)
@@ -3,23 +3,23 @@
 %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.3
-Release:       4
+Version:       3.0.5
+Release:       1
 License:       GPL
 Group:         Networking/Daemons
 Source0:       http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: 6a882a12b5d94ab0b2b22f9ef56a9b9f
+# Source0-md5: 8b0c79997905dc46cfe4cc13be74ceaf
 Source1:       %{name}.init
 Source2:       %{name}-pop3.init
-Source3:       %{name}-authdaemon.init
-Source4:       %{name}.pamd
-Source5:       %{name}-pop3.pamd
-Source6:       %{name}.sysconfig
-Source7:       %{name}-pop3.sysconfig
-Source8:       %{name}-authdaemon.sysconfig
+Source3:       %{name}.pamd
+Source4:       %{name}-pop3.pamd
+Patch0:                %{name}-dirs.patch
+Patch1:                %{name}-certsdir.patch
+Patch2:                %{name}-maildir.patch
 URL:           http://www.inter7.com/courierimap/
 BuildRequires: autoconf >= 2.54
 BuildRequires: automake
@@ -42,8 +42,9 @@ Conflicts:    cyrus-imapd
 Conflicts:     imap
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _libexecdir     /usr/lib/courier-imap
+%define                _libexecdir     /usr/%{_lib}/courier-imap
 %define                _sysconfdir     /etc/courier-imap
+%define                _certsdir       %{_sysconfdir}/certs
 
 %description
 Courier-IMAP is an IMAP server for Maildir mailboxes.
@@ -52,8 +53,8 @@ Courier-IMAP is an IMAP server for Maildir mailboxes.
 Courier-IMAP jest serwerem IMAP dla skrzynek pocztowych Maildir.
 
 %package common
-Summary:       Common files for imap and pop daemons
-Summary(pl):   Pliki wspólne dla serwerów imap i pop
+Summary:       Common files for imap and pop3 daemons
+Summary(pl):   Pliki wspólne dla serwerów imap i pop3
 Group:         Networking/Daemons
 PreReq:                rc-scripts
 Requires(post,preun):  /sbin/chkconfig
@@ -63,10 +64,10 @@ Requires:   %{name}-userdb          = %{version}-%{release}
 Requires:      procps
 
 %description common
-Common files for imap and pop daemons.
+Common files for imap and pop3 daemons.
 
 %description common -l pl
-Pliki wspólne dla serwerów imap i pop.
+Pliki wspólne dla serwerów imap i pop3.
 
 %package userdb
 Summary:       Commands used to create the /etc/userdb.dat
@@ -164,19 +165,37 @@ IMAP.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+install %{SOURCE1} courier-imap.in
+install %{SOURCE2} courier-pop3.in
 
 %build
 cp -f /usr/share/automake/config.sub .
 cp -f /usr/share/automake/config.sub maildir
+
+%{__aclocal}
+%{__automake}
+%{__autoconf}
+
 cd authlib
 %{__aclocal}
 %{__automake}
 %{__autoconf}
+cd ../imap
+%{__aclocal}
+%{__automake}
+%{__autoconf}
 cd ..
+
 %configure \
+       --libexecdir=%{_libexecdir} \
        --enable-unicode \
        --with-authchangepwdir=/var/tmp \
        --with-authdaemonvar=/var/lib/authdaemon \
+       --with-certsdir=%{_certsdir} \
        %{?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} \
@@ -188,21 +207,15 @@ cd ..
 %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,/var/lib/authdaemon}
+       $RPM_BUILD_ROOT{%{_sysconfdir}/shared,%{_certsdir},/var/lib/authdaemon}
 
 %{__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-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-pop3
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/authdaemon
+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
 
 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}
@@ -243,9 +256,18 @@ echo ".so makeuserdb.8"    >$RPM_BUILD_ROOT%{_mandir}/man8/vchkpw2userdb.8
 
 touch $RPM_BUILD_ROOT/etc/security/blacklist.{pop3,imap}
 
+# make config files
+./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
+
 # remove unpackaged files
 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/*.dist
-rm -f $RPM_BUILD_ROOT%{_libexecdir}/*.rc
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -267,23 +289,54 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del courier-imap
 fi
 
-%post common
-/sbin/chkconfig --add authdaemon
+%triggerin -- %{name} < 3.0.5
+if [ -f /var/lib/openssl/certs/imapd.pem ]; then
+    echo
+    echo imapd.pem has been moved automatically to %{_certsdir}
+    echo
+    mv -f /var/lib/openssl/certs/imapd.pem %{_certsdir}
+fi
+if [ -f /etc/sysconfig/courier-imap ]; then
+    . /etc/sysconfig/courier-imap
+    for opt in `grep ^[^#] /etc/sysconfig/courier-imap |grep -v TLS_CERTFILE |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
+    done
+    sed s/^SSLADDRESS=.*/"SSLADDRESS=$ADDRESS_SSL"/ < %{_sysconfdir}/imapd-ssl > %{_sysconfdir}/imapd-ssl.new
+    sed s/^SSLPORT=.*/"SSLPORT=$PORTS_SSL"/ < %{_sysconfdir}/imapd-ssl.new > %{_sysconfdir}/imapd-ssl
+    rm -f %{_sysconfdir}/imapd-ssl.new
+    chmod 640 %{_sysconfdir}/imapd-ssl
+    chmod 640 %{_sysconfdir}/imapd
+    echo
+    echo IMAPD config file has been rewriten to %{_sysconfdir}/imapd,imapd-ssl
+    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
 
+%triggerin -n %{name}-common -- %{name}-common < 3.0.5
+/sbin/chkconfig --del 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."
+    kill `cat /var/lib/authdaemon/pid`
+    rm -f /var/lock/subsys/authdaemon
 fi
-
-%preun common
-if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/authdaemon ]; then
-               /etc/rc.d/init.d/authdaemon stop >&2
-       fi
-
-       /sbin/chkconfig --del authdaemon
+if [ -f /etc/sysconfig/authdaemon ]; then
+    . /etc/sysconfig/authdaemon
+    sed s/^version.*/version=authdaemond.$METHOD/ <%{_sysconfdir}/authdaemonrc >%{_sysconfdir}/authdaemonrc.new
+    mv -f %{_sysconfdir}/authdaemonrc.new %{_sysconfdir}/authdaemonrc
+    chmod 640 %{_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}
+echo
 
 %post pop3
 /sbin/chkconfig --add courier-pop3
@@ -296,7 +349,6 @@ elif [ -f /var/lock/subsys/courier-pop3 ]; then
 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
 if [ "$1" = "0" ]; then
@@ -304,76 +356,75 @@ if [ "$1" = "0" ]; 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
+
+%triggerin -n %{name}-pop3 -- %{name}-pop3 < 3.0.5
+if [ -f /var/lib/openssl/certs/pop3d.pem ]; then
+    echo
+    echo pop3d.pem has been moved automatically to %{_certsdir}
+    echo
+    mv -f /var/lib/openssl/certs/pop3d.pem %{_certsdir}
+fi
+if [ -f /etc/sysconfig/courier-pop3 ]; then
+    . /etc/sysconfig/courier-pop3
+    for opt in `grep ^[^#] /etc/sysconfig/courier-pop3 |grep -v TLS_CERTFILE |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
+    done
+    chmod 640 %{_sysconfdir}/pop3d-ssl
+    chmod 640 %{_sysconfdir}/pop3d
+    echo
+    echo POP3D config file has been rewriten to %{_sysconfdir}/pop3d,pop3d-ssl
+    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
 
 %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
+if ps -A |grep -q authdaemond.lda; then
+       %{_libexecdir}/authlib/authdaemond stop
+       %{_libexecdir}/authlib/authdaemond start
 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
+%postun authldap
+if [ -x %{_libexecdir}/authlib/authdaemond ]; then
+       if ps -A |grep -q authdaemond.lda; then
+               %{_libexecdir}/authlib/authdaemond stop;
+               %{_libexecdir}/authlib/authdaemond start;
        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
+if ps -A |grep -q authdaemond.mys; then
+       %{_libexecdir}/authlib/authdaemond stop
+       %{_libexecdir}/authlib/authdaemond start
 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
+%postun authmysql
+if [ -x %{_libexecdir}/authlib/authdaemond ]; then
+       if ps -A |grep -q authdaemond.mys; then
+               %{_libexecdir}/authlib/authdaemond stop;
+               %{_libexecdir}/authlib/authdaemond start;
        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
+if ps -A |grep -q authdaemond.pgs; then
+       %{_libexecdir}/authlib/authdaemond stop
+       %{_libexecdir}/authlib/authdaemond start
 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
+%postun authpgsql
+if [ -x %{_libexecdir}/authlib/authdaemond ]; then
+       if ps -A |grep -q authdaemond.pgs; then
+               %{_libexecdir}/authlib/authdaemond stop;
+               %{_libexecdir}/authlib/authdaemond start;
        fi
 fi
 
@@ -382,9 +433,10 @@ fi
 %doc maildir/README.sharedfolders.html
 %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(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/imapd
+%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
-%{_sysconfdir}/imapd.cnf
 %attr(750,daemon,daemon) %dir %{_sysconfdir}/shared
 %attr(755,root,root) %{_bindir}/imapd
 %attr(755,root,root) %{_bindir}/maildiracl
@@ -394,6 +446,8 @@ fi
 %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*
 %{_mandir}/man1/maildiracl.1*
 %{_mandir}/man1/maildirkw.1*
@@ -401,13 +455,12 @@ fi
 %files common
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog imap/BUGS INSTALL README*
-%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}
+%attr(750,root,root) %dir %{_certsdir}
 %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
@@ -419,6 +472,7 @@ fi
 %{_mandir}/man8/auth[cdsuv]*
 %{_mandir}/man8/authp[aw]*
 %{_mandir}/man7/authlib*
+%{_mandir}/man1/courierlogger*
 %{_mandir}/man1/couriert*
 %{_mandir}/man8/couriert*
 %{_mandir}/man8/mk*
@@ -448,12 +502,15 @@ fi
 %defattr(644,root,root,755)
 %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-pop3
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pop3d
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pop3d-ssl
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_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
-%{_sysconfdir}/pop3d.cnf
+%attr(755,root,root) %{_libexecdir}/pop3d.rc
+%attr(755,root,root) %{_libexecdir}/pop3d-ssl.rc
 %{_mandir}/man8/courierpop*
 
 %if %{with ldap}
This page took 0.106422 seconds and 4 git commands to generate.