-Summary: high-performance mail store with imap and pop3
+%include /usr/lib/rpm/macros.perl
+Summary: High-performance mail store with imap and pop3
+Summary(pl): Wysoko wydajny serwer IMAP i POP3
+Summary(pt_BR): Um servidor de mail de alto desempenho que suporta IMAP e POP3
Name: cyrus-imapd
-Version: 1.6.22
-Release: 0.1
-Copyright: academic/research
+Version: 2.0.16
+Release: 9
+License: BSD-like
Group: Networking/Daemons
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-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
-Source11: cyrus-imapd.pamd
-Source12: cyrus-imapd-pop.pamd
+Source5: %{name}-procmail+cyrus.mc
+Source6: %{name}.logrotate
+Source7: %{name}.conf
+Source9: %{name}.pamd
+Source10: %{name}-pop.pamd
+Source11: %{name}.init
+Source12: cyrus.conf
+Patch0: %{name}-snmp.patch
+Patch1: %{name}-mandir.patch
+Patch2: %{name}-paths.patch
+Patch3: %{name}-overquota.patch
+Patch4: http://www.imasy.or.jp/~ume/ipv6/%{name}-2.0.16-ipv6-20010728.diff.gz
+Patch5: %{name}-et.patch
+Patch6: %{name}-ac250.patch
+Patch7: %{name}-db3.patch
+Patch8: %{name}-ipv6.m4.patch
+Patch9: %{name}-ac25x.patch
URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
-#Icon: cyrus.gif
-BuildRequires: cyrus-sasl-devel
-BuildRequires: tcl-devel >= 8.0
-BuildRequires: openssl-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: cyrus-sasl-devel >= 1.5.27
+BuildRequires: db3-devel >= 3.1.17
+BuildRequires: e2fsprogs-devel >= 1.21
+BuildRequires: flex
+BuildRequires: openssl-devel >= 0.9.6a
+BuildRequires: perl-devel >= 5.6.1
+BuildRequires: ucd-snmp-devel >= 4.2.5-10
+Prereq: rc-scripts
+Requires(pre): /usr/sbin/useradd
+Requires(post,preun):/sbin/chkconfig
+Requires(postun): /usr/sbin/userdel
+Provides: imapdaemon
+Provides: pop3daemon
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Conflicts: courier-imap
+Conflicts: courier-imap-common
+Conflicts: courier-imap-pop3
+Conflicts: imap
+Conflicts: imap-common
+Conflicts: imap-pop2
+Conflicts: imap-pop3
+Conflicts: qpopper
+Conflicts: qpopper6
+Conflicts: solid-pop3d
+Conflicts: tpop3d
Obsoletes: imapd
+Obsoletes: imap
Obsoletes: pop3daemon
Obsoletes: imapdaemon
-Conflicts: qpopper
-Conflicts: solid-pop3d
-Conflicts: qpopper6
-Provides: imapdaemon
-Provides: pop3daemon
-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
+The Cyrus IMAP server is a scaleable enterprise mail system designed
+for use from small to large enterprise environments using
standards-based technologies.
A full Cyrus IMAP implementation allows a seamless mail and bulletin
-board environment to be set up across multiple servers. It differs from
-other IMAP server implementations in that it is run on "sealed"
+board environment to be set up across multiple servers. It differs
+from other IMAP server implementations in that it is run on "sealed"
servers, where users are not normally permitted to log in. The mailbox
database is stored in parts of the filesystem that are private to the
Cyrus IMAP system. All user access to mail is through software using
the IMAP, POP3, or KPOP protocols.
-Note that this package can be used by ISPs and other to provide mail
-services, but it may not be distributed as part of a commercial product.
-
-%define version %{PACKAGE_VERSION}
+%description -l pl
+Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
+przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
+wykorzystuj±cym oparte na standardach technologie.
+
+Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
+¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
+serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
+jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
+waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
+pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które
+s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
+ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
+oraz KPOP.
+
+%description -l pt_BR
+O servidor IMAP Cyrus é um sistema de mail corporativo escalável
+projetado para uso por pequenos a grandes ambientes corporativos
+usando tecnologias baseadas em padrões abertos.
+
+Uma implementação completa do Cyrus permite se configurar um ambiente
+transparente de mail e bulletin board entre múltiplos servidores. Ele
+difere de outros servidores IMAP por rodar em servidores "selados",
+onde usuários não possuem normalmente a permissão de log in. O banco
+de dados de caixas de mail é armazenado em partes do sistema de
+arquivos que são privativos do sistema Cyrus. Todo o acesso de
+usuários aos mails se dá através de software usando os protocolos
+IMAP, POP3 ou KPOP.
+
+%package devel
+Summary: Libraries and include files for developing with cyrus-imapd
+Summary(pl): Pliki potrzebne do programowania z u¿yciem cyrus-imapd
+Group: Development/Libraries
+Requires: %{name} = %{version}
+
+%description devel
+This package provides the necessary development libraries and include
+files to allow you to develop with cyrus-imapd.
+
+%description devel -l pl
+Ten pakiet zawiera biblioteki oraz pliki nag³ówkowe niezbêdne do
+tworzenia oprogramowania z wykorzystaniem cyrus-imapd.
+
+%package static
+Summary: Static cyrus-imapd libraries
+Summary(pl): Biblioteki statyczne cyrus-imapd
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}
+
+%description static
+Static cyrus-imapd libraries
+
+%description static -l pl
+Biblioteki statyczne cyrus-imapd
+
+%package -n perl-%{name}
+Summary: Perl interface to cyrus-imapd library
+Summary(pl): Perlowy interfejs do biblioteki cyrus-imapd
+Group: Development/Languages/Perl
+Requires: %{name} = %{version}
+
+%description -n perl-%{name}
+Perl interface to cyrus-imapd library.
+
+%description -n perl-%{name} -l pl
+Perlowy interfejs do biblioteki cyrus-imapd.
%prep
-rm -rf $RPM_BUILD_ROOT
-
-%setup -q
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p0
+%patch3 -p1
+%patch4 -p0
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%build
-
-# prepare a makedepend
cd makedepend
-autoconf
-%configure
-make
-export PATH=$PATH:`pwd`
+rm -f aclocal.m4
+%{__aclocal}
+%{__autoconf}
+%configure
+%{__make}
+PATH=$PATH:`pwd`; export PATH
cd ..
-autoconf
+rm -f aclocal.m4
+%{__aclocal} -I cmulocal
+%{__autoheader}
+%{__autoconf}
%configure \
- --with-auth=unix
-make
+ --with-auth=unix \
+ --without-libwrap \
+ --with-cyrus-prefix=%{_libexecdir} \
+ --with-com_err=/usr
+%{__make}
-gcc $RPM_OPT_FLAGS -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
+%{__cc} %{rpmcflags} \
+ -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
%install
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%{_sysconfdir}/{logrotate.d,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
+ $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
+ $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
+
+touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
+ $RPM_BUILD_ROOT/var/lib/imap/faillog \
+ $RPM_BUILD_ROOT/etc/security/blacklist.imap \
+ $RPM_BUILD_ROOT/etc/security/blacklist.pop
+%{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
-make install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`"
+install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
-#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} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
+install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
+install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
+install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
+install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
-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
-install %{SOURCE11} $RPM_BUILD_ROOT/etc/pam.d/imap
-install %{SOURCE12} $RPM_BUILD_ROOT/etc/pam.d/pop
+mv -f $RPM_BUILD_ROOT%{_libexecdir}/bin/* $RPM_BUILD_ROOT%{_libexecdir}
+mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
+mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
+rm -rf $RPM_BUILD_ROOT%{_libexecdir}/bin
+rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
-mv $RPM_BUILD_ROOT/usr/cyrus/bin/* $RPM_BUILD_ROOT%{_libexecdir}
-mv $RPM_BUILD_ROOT/usr/man/* $RPM_BUILD_ROOT%{_mandir}
+touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
-gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man*/* \
- cyrus-README
+find $RPM_BUILD_ROOT%{perl_sitearch} -name .packlist -exec rm {} \;
# make hashed dirs
+oldpwd=`pwd`
cd $RPM_BUILD_ROOT/var
-/usr/bin/perl <<EOF
-foreach \$i ("a".."z")
+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;
+ mkdir "lib/imap/user/\$i", 0755;
+ mkdir "lib/imap/quota/\$i", 0755;
+ mkdir "lib/imap/sieve/\$i", 0755;
+ mkdir "spool/imap/\$i", 0755;
}
EOF
+cd ${oldpwd}
%pre
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
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload 1>&2
+/sbin/chkconfig --add cyrus-imapd
+touch /var/lib/imap/faillog
+chown cyrus.mail /var/lib/imap/faillog
+chmod 640 /var/lib/imap/faillog
+cd /var/lib/imap
+chattr +S . user quota user/* quota/* 2>/dev/null
+chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
+if [ -f /var/lock/subsys/cyrus-imapd ]; then
+ /etc/rc.d/init.d/cyrus-imapd restart 1>&2
else
- echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet sever" 1>&2
+ echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start cyrus imap daemon."
fi
-
-# force synchronous updates
-cd /var/state/imap
-chattr +S . user quota 2>/dev/null
-chattr +S /var/spool/imap 2>/dev/null
-
-%postun
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload 1>&2
-fi
+%preun
if [ "$1" = "0" ]; then
- if [ -n "`id -u cyrus 2>/dev/null`" ]; then
- /usr/sbin/userdel cyrus 1>&2
+ if [ -f /var/lock/subsys/cyrus-imapd ]; then
+ /etc/rc.d/init.d/cyrus-imapd stop 1>&2
fi
+ /sbin/chkconfig --del cyrus-imapd
fi
-
+%postun
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel cyrus
+fi
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-#doc README README.RPM doc
-%doc doc/html/*.html
-
-%config /etc/imapd.conf
-%config /etc/procmailrc.cyrus
-%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( 440, cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
-%attr( 755, root,root) /etc/cron.daily/cyrus-imapd
-%attr( 755, root,root) %{_bindir}/*
-%attr(4750,cyrus,mail) %{_libexecdir}/deliver
+%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
+%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf
+%attr(640,root,root) /etc/logrotate.d/cyrus-imapd
+%attr(440,cyrus,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/*
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.*
+%attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
+%attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
+%attr(755,root,root) %{_bindir}/*
+%attr(4754,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)
+%attr(755,root,root) %{_libexecdir}/ctl_deliver
+%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
+%attr(755,root,root) %{_libexecdir}/cyrdump
+%attr(755,root,root) %{_libexecdir}/feedcyrus
+%attr(755,root,root) %{_libexecdir}/fud
+%attr(755,root,root) %{_libexecdir}/imapd
+%attr(755,root,root) %{_libexecdir}/ipurge
+%attr(755,root,root) %{_libexecdir}/lmtpd
+%attr(755,root,root) %{_libexecdir}/cyrus-master
+%attr(755,root,root) %{_libexecdir}/mbpath
+%attr(755,root,root) %{_libexecdir}/pop3d
+%attr(755,root,root) %{_libexecdir}/quota
+%attr(755,root,root) %{_libexecdir}/reconstruct
+%attr(755,root,root) %{_libexecdir}/timsieved
+
+%attr(750,cyrus,mail) /var/spool/imap
+%attr(750,cyrus,mail) %dir /var/lib/imap
+%attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
+%attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
+%attr(750,cyrus,mail) /var/lib/imap/quota
+%attr(750,cyrus,mail) /var/lib/imap/user
+%attr(750,cyrus,mail) /var/lib/imap/sieve
+%attr(750,cyrus,mail) /var/lib/imap/log
+%attr(750,cyrus,mail) /var/lib/imap/msg
+%attr(750,cyrus,mail) /var/lib/imap/proc
+%attr(750,cyrus,mail) /var/lib/imap/db
+%attr(750,cyrus,mail) /var/lib/imap/socket
+%attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes
%{_mandir}/man*/*
+%files devel
+%defattr(644,root,root,755)
%{_includedir}/cyrus
+
+%files static
+%defattr(644,root,root,755)
%{_libdir}/lib*.a
+
+%files -n perl-%{name}
+%defattr(644,root,root,755)
+%{perl_sitearch}/Cyrus
+%{perl_sitearch}/auto/Cyrus