]> git.pld-linux.org Git - packages/cyrus-imapd.git/commitdiff
- version 1.6.22
authorArtur Frysiak <artur@frysiak.net>
Wed, 8 Mar 2000 23:46:42 +0000 (23:46 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- rewrite for PLD coding style

Changed files:
    cyrus-imapd.spec -> 1.2

cyrus-imapd.spec

index 3a44b9aecc58f83672e015d7647a819d53559cd4..60319f8635ce582d956fc7323aef6d3e30aaaf35 100644 (file)
@@ -1,20 +1,29 @@
 Summary:       high-performance mail store with imap and pop3
 Name:          cyrus-imapd
-Version:       1.5.19
-Release:       2
+Version:       1.6.22
+Release:       0.1
 Copyright:     academic/research
 Group:         Networking/Daemons
-Source0:       ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-v%{version}.tar.gz
+Source0:       ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
 Source1:       cyrus-README
 Source2:       cyrus-procmailrc
 Source3:       cyrus-deliver-wrapper.c
 Source4:       cyrus-user-procmailrc.template
-Source5:       cyrus-redhat-procmail+cyrus.mc
+Source5:       cyrus-imapd-procmail+cyrus.mc
 Source6:       cyrus-imapd.logrotate
+Source7:       cyrus-imapd.conf
+Source8:       cyrus-imapd.cron
+Source9:       cyrus-imapd.inetd
+Source10:      cyrus-imapd-pop3.inetd
 URL:           http://andrew2.andrew.cmu.edu/cyrus/imapd/
-Icon:          cyrus.gif
+#Icon:         cyrus.gif
+BuildRequires: cyrus-sasl-devel
+BuildRequires: tcl-devel >= 8.0
+BuildRequires: openssl-devel
 Buildroot:     /tmp/%{name}-%{version}-root
 
+%define                _libexecdir     %{_prefix}/lib/cyrus
+
 %description
 The Cyrus IMAP server is a scaleable enterprise mail system
 designed for use from small to large enterprise environments using
@@ -36,174 +45,149 @@ services, but it may not be distributed as part of a commercial product.
 %prep
 rm -rf $RPM_BUILD_ROOT
 
-%setup -n cyrus-imapd-v%{version}
+%setup -
 
 %build
-if [ ! -d %{_libdir}/sendmail-cf/cf ] ; then
-  echo Need full sendmail-cf installation
-  exit -1
-fi
 
 # prepare a makedepend
 cd makedepend
+autoconf
 %configure 
 make
 export PATH=$PATH:`pwd`
 cd ..
-# now go ahead
-# I hope one day there is --with-login=pam :-)
-./configure %{_target_platform} \
-       --with-tcl=/usr \
-       --prefix=/usr \
-       --with-login=unix
+autoconf
+%configure \
+       --with-auth=unix
 make
 
-gcc -Wall -o deliver-wrapper $RPM_SOURCE_DIR/cyrus-deliver-wrapper.c
+gcc $RPM_OPT_FLAGS -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
 
 %install
-# First create the 'cyrus' user if it doesn't exist
-grep ^cyrus: /etc/passwd >/dev/null || {
-  echo 'cyrus:*:76:12:cyrus:/var/imap:/bin/bash' >>/etc/passwd
-}
-
-cp -p $RPM_SOURCE_DIR/cyrus-README $RPM_BUILD_DIR/cyrus-imapd-v%{version}/README.RPM
-
-make install DESTDIR=$RPM_BUILD_ROOT
-
-mkdir -p $RPM_BUILD_ROOT/usr/cyrus/bin
-install -g mail -m 2755 -s deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
-
-mkdir -p $RPM_BUILD_ROOT/etc
-cat <<END >$RPM_BUILD_ROOT/etc/imapd.conf
-configdirectory: /var/imap
-partition-default: /var/spool/imap
-admins: root
-allowanonymouslogin: no
-END
-
-cp -p $RPM_SOURCE_DIR/cyrus-procmailrc $RPM_BUILD_ROOT/etc/procmailrc.cyrus
-mkdir -p $RPM_BUILD_ROOT/usr/cyrus/etc
-cp -p $RPM_SOURCE_DIR/cyrus-user-procmailrc.template $RPM_BUILD_ROOT/usr/cyrus/etc/user-procmailrc.template
-
-mkdir $RPM_BUILD_ROOT/etc/logrotate.d
+rm -rf $RPM_BUILD_ROOT
+#install -d $RPM_BUILD_ROOT/usr/cyrus/etc 
+install -d \
+       $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
+       $RPM_BUILD_ROOT/etc/{logrotate.d,cron.daily,sysconfig/rc-inetd} \
+       $RPM_BUILD_ROOT/var/spool/imap/stage. \
+       $RPM_BUILD_ROOT/var/state/imap/{user,quota,proc,log,msg,deliverdb,sieve} \
+       $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf 
+touch $RPM_BUILD_ROOT/var/state/imap/mailboxes
+
+
+make install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`"
+
+#mkdir -p $RPM_BUILD_ROOT/usr/cyrus/bin
+#install -g mail -m 2755 -s deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
+install deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
+
+install %{SOURCE1} .
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/procmailrc.cyrus
+#install %{SOURCE4} $RPM_BUILD_ROOT/usr/cyrus/etc/user-procmailrc.template
+install %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf/procmail+cyrus.mc
 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
+install %{SOURCE7} $RPM_BUILD_ROOT/etc/imapd.conf
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
+install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/imapd
+install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/pop3d
 
-mkdir $RPM_BUILD_ROOT/etc/cron.daily
-cat <<END >$RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
-#!/bin/bash
-su cyrus -s /bin/bash -c '/usr/cyrus/bin/deliver -E 3'
-END
-chmod +x $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
+mv $RPM_BUILD_ROOT/usr/cyrus/bin/*     $RPM_BUILD_ROOT%{_libexecdir}
+mv $RPM_BUILD_ROOT/usr/man/*           $RPM_BUILD_ROOT%{_mandir}
 
-mkdir -p $RPM_BUILD_ROOT/var
-cd $RPM_BUILD_ROOT/var
-mkdir -p imap
-chown cyrus:mail imap
-chmod 750 imap
-
-cd imap
-true >> mailboxes
-mkdir user quota proc log msg deliverdb
-chown cyrus:mail *
-
-mkdir -p $RPM_BUILD_ROOT/var/spool
-cd $RPM_BUILD_ROOT/var/spool
-mkdir -p imap
-chown cyrus:mail imap
-chmod 750 imap
-
-mkdir -p $RPM_BUILD_ROOT%{_sbindir}
-ln -s ../cyrus/bin/imapd $RPM_BUILD_ROOT%{_sbindir}/imapd
-ln -s ../cyrus/bin/pop3d $RPM_BUILD_ROOT%{_sbindir}/ipop3d
-
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf
-cp -p $RPM_SOURCE_DIR/cyrus-redhat-procmail+cyrus.mc $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf/redhat-procmail+cyrus.mc
-cd %{_libdir}/sendmail-cf/cf
-mkdir -p $RPM_BUILD_ROOT/usr/cyrus/etc
-m4 < $RPM_SOURCE_DIR/cyrus-redhat-procmail+cyrus.mc > $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf/redhat-procmail+cyrus.cf
+gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man*/* \
+       cyrus-README
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+# make hashed dirs
+cd $RPM_BUILD_ROOT/var
+/usr/bin/perl <<EOF
+foreach \$i ("a".."z") 
+{
+  mkdir "state/imap/user/\$i", 0755;
+  mkdir "state/imap/quota/\$i", 0755;
+  mkdir "state/imap/sieve/\$i", 0755;
+  mkdir "spool/imap/\$i", 0755;
+}
+EOF
 
 %pre
-# create the 'cyrus' user if it doesn't exist
-grep ^cyrus: /etc/passwd >/dev/null || {
-  echo 'cyrus:*:76:12:cyrus:/var/imap:/bin/bash' >>/etc/passwd
-}
+if [ -z "`id -u cyrus 2>/dev/null`" ]; then
+       /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
+       if [ -f /var/db/passwd.db ]; then
+               /usr/bin/update-db 1>&2
+       fi
+fi
 
 %post
-# update syslog
-grep ^local6 /etc/syslog.conf >/dev/null || {
-  echo "local6.debug                                           /var/log/imapd.log" >>/etc/syslog.conf
-  killall -1 syslogd 2>/dev/null
-}
-touch /var/log/imapd.log
-chmod 640 /var/log/imapd.log
+if [ -f /var/lock/subsys/rc-inetd ]; then
+       /etc/rc.d/init.d/rc-inetd reload 1>&2
+else
+       echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet sever" 1>&2
+fi
 
-# update inetd to run as user 'cyrus'
-sed '/^imap/s/root/cyrus/;/^pop-3/s/root/cyrus/' </etc/inetd.conf >/etc/inetd.conf.tmp &&
-mv /etc/inetd.conf.tmp /etc/inetd.conf &&
-killall -1 inetd 2>/dev/null
 
 # force synchronous updates
-cd /var/imap
+cd /var/state/imap
 chattr +S . user quota 2>/dev/null
 chattr +S /var/spool/imap 2>/dev/null
 
-cd /etc
-# make backup copy of sendmail.cf if we've got a pre-cyrus cf file
-if grep -q cyrus /etc/sendmail.cf ; then
-  echo not updating cyrus-aware sendmail.cf
-else
-  cp sendmail.cf mail/sendmail-pre-cyrus-backup.cf
-  echo made backup of sendmail.cf in mail/sendmail-pre-cyrus-backup.cf
-  cp %{_libdir}/sendmail-cf/cf/redhat-procmail+cyrus.cf /etc/sendmail.cf
-  echo installed cyrus-aware sendmail.cf
-  # signal sendmail
-  if [ -f /var/run/sendmail.pid ]; then
-    /etc/rc.d/init.d/sendmail restart
-  fi
+%postun
+if [ -f /var/lock/subsys/rc-inetd ]; then
+       /etc/rc.d/init.d/rc-inetd reload 1>&2
 fi
-
-%preun
-# try to revert to pre-cyrus sendmail.cf
-if [ -f /etc/mail/sendmail-pre-cyrus-backup.cf ] ; then
-  cd /etc
-  cp sendmail.cf mail/sendmail-post-cyrus-backup.cf
-  echo made backup of sendmail.cf in mail/sendmail-post-cyrus-backup.cf
-  mv mail/sendmail-pre-cyrus-backup.cf sendmail.cf
-  echo reverted to pre-cyrus sendmail.cf
-  grep -q ^cyrus: /etc/passwd >/dev/null && \
-    grep -v ^cyrus: /etc/passwd >/etc/passwd.tmp && \
-      mv /etc/passwd.tmp /etc/passwd
-  # signal sendmail
-  if [ -f /var/run/sendmail.pid ]; then
-    /etc/rc.d/init.d/sendmail restart
-  fi
-else
-  echo No pre-cyrus sendmail.cf backup available.
-  echo You will have to install a new sendmail.cf and
-  echo remove the cyrus-user manually.
+if [ "$1" = "0" ]; then
+       if [ -n "`id -u cyrus 2>/dev/null`" ]; then
+               /usr/sbin/userdel cyrus 1>&2
+       fi
 fi
 
-# put the inetd config file back to normal
-sed '/^imap/s/cyrus/root/;/^pop-3/s/cyrus/root/' </etc/inetd.conf >/etc/inetd.conf.tmp &&
-mv /etc/inetd.conf.tmp /etc/inetd.conf &&
-killall -1 inetd 2>/dev/null
 
-%files
 
-%doc README README.RPM doc
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+#doc README README.RPM doc
+%doc doc/html/*.html
 
-# build roots are your friend - if only they would exclude /usr/doc!
 %config /etc/imapd.conf
 %config /etc/procmailrc.cyrus
-/etc/logrotate.d
-/etc/cron.daily/*
-%{_bindir}/*
-/usr/cyrus
-%{_includedir}
-%{_libdir}
+%config(noreplace) %verify(not size md5 mtime) /etc/logrotate.d/cyrus-imapd
+%attr( 640, root,root) %config(noreplace) %verify(not size md5 mtime) /etc/sysconfig/rc-inetd/*
+%attr( 755, root,root) /etc/cron.daily/cyrus-imapd
+%attr( 755, root,root) %{_bindir}/*
+%attr(4750,cyrus,mail) %{_libexecdir}/deliver
+%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
+%attr( 755, root,root) %{_libexecdir}/arbitron
+%attr( 755, root,root) %{_libexecdir}/collectnews
+%attr( 755, root,root) %{_libexecdir}/dump_deliverdb
+%attr( 755, root,root) %{_libexecdir}/feedcyrus
+%attr( 755, root,root) %{_libexecdir}/fud
+%attr( 755, root,root) %{_libexecdir}/mbpath
+%attr( 755, root,root) %{_libexecdir}/quota
+%attr( 755, root,root) %{_libexecdir}/reconstruct
+%attr( 755, root,root) %{_libexecdir}/syncnews
+%attr( 755, root,root) %{_libexecdir}/timsieved
+%attr( 755, root,root) %{_libexecdir}/pop3d
+%attr( 755, root,root) %{_libexecdir}/imapd
+
+#%attr(0755,root,root) %{_sbindir}/imapd
+#%attr(0755,root,root) %{_sbindir}/ipop3d
+
+%defattr(640,cyrus,mail,750)
+/var/spool/imap
+%dir /var/state/imap
+/var/state/imap/deliverdb
+/var/state/imap/quota
+/var/state/imap/user
+/var/state/imap/sieve
+/var/state/imap/log
+/var/state/imap/msg
+/var/state/imap/proc
+%config(noreplace) %verify(not size md5 mtime) /var/state/imap/mailboxes
+%defattr(644,root,root,755)
+
 %{_mandir}/man*/*
-%{_sbindir}/*
-/var
+
+%{_includedir}/cyrus
+%{_libdir}/lib*.a
This page took 0.159665 seconds and 4 git commands to generate.