# detect if building under mandrake 8.2 %define mdk82 %(LC_ALL=C awk '{print ($4 <= 8.2)}' /etc/mandrake-release) # detect if building under mandrake 9.0 %define mdk90 %(LC_ALL=C awk '{print ($4 <= 9.0)}' /etc/mandrake-release) # detect if building under mandrake 9.2 or later %define mdk92 %(LC_ALL=C awk '{print ($4 >= 9.2)}' /etc/mandrake-release) %define mdk100 %(LC_ALL=C awk '{print ($4 >= 10.0)}' /etc/mandrake-release) %define ipv6release 20031121 Name: cyrus-imapd Version: 2.1.16 Release: 5mdk # use saslauth group if %define SASLGROUP 0 %{?_with_saslgroup: %{expand: %%define SASLGROUP 1}} # preforking cyrus.conf as default %define PREFORK 1 %{?_without_prefork: %{expand: %%define PREFORK 0}} # enable fulldirhash (default no) %define FULLDIRHASH 0 %{?_with_fulldirhash: %{expand: %%define FULLDIRHASH 1}} # enable idled (default no) %define IDLED 0 %{?_with_idled: %{expand: %%define IDLED 1}} # enable automatic mailbox creation on deliver (default no): %define build_autocreate 1 %{?_without_autocreate: %define build_autocreate 0} # enable IPV6 %define build_ipv6 1 %{?_with_ipv6: %define build_ipv6 1} %{?_without_ipv6: %define build_ipv6 0} # define db backends, can be flat, db3, skiplist (as of 2.1.3) # 0 means default %{!?DUPLICATE_DB: %define DUPLICATE_DB 0} %{!?MBOX_DB: %define MBOX_DB skiplist} %{!?SEEN_DB: %define SEEN_DB skiplist} %{!?SUBS_DB: %define SUBS_DB 0} %{!?TLS_DB: %define TLS_DB 0} Summary: A high-performance mail store with IMAP and POP3 support. License: OSI Approved Group: System/Servers URL: http://asg.web.cmu.edu/cyrus/imapd/ Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz Source1: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz.sig Source2: cyrus-procmailrc #Source2: cyrus-deliver-wrapper.c Source4: cyrus-user-procmailrc.template Source6: %{name}.imap-2.1.x-conf Source7: %{name}.pamd-pop Source11: %{name}.init Source12: %{name}.sysconfig Source13: %{name}.imapcreate.pl Source14: %{name}.README.RPM Source15: %{name}.cvt_cyrusdb_all Source16: %{name}.magic Source17: mkimapdcert Source18: %{name}.cnf Source19: cyrus-imapd-procmail+cyrus.mc Source20: %{name}.cron-daily Patch0: %{name}-2.0.5-mandir.patch.bz2 Patch1: %{name}-2.0.9-cflags.patch.bz2 # Maybe this will not be necessary in versions > 2.1.3 Patch2: %{name}-2.0.12-deliverman.patch.bz2 Patch3: %{name}-2.0.12-cyradm_man_sec.patch.bz2 Patch4: %{name}-2.1.3-service_path.patch.bz2 # This patch fixes the perl install path for mdk9.0 Patch5: %{name}-mdk9.0perl-patch.bz2 Patch6: %{name}-logident.patch.bz2 Patch7: %{name}-2.1.12-rpath.patch.bz2 Patch9: %{name}-2.1.14-munge8bit.patch.bz2 Patch10: %{name}-2.1.13-log-facility.patch.bz2 # Autocreate INBOX patch (http://email.uoa.gr/projects/cyrus/autocreate/) Patch11: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.1.16/%{name}-2.1.16-autocreate-0.8.3.patch.bz2 # IPV6 patch Patch12: http://www.imasy.or.jp/~ume/ipv6/%{name}-%{version}-ipv6-%{ipv6release}.diff.bz2 # Create on demand folder requested by sieve filter (http://email.uoa.gr/projects/cyrus/autosievefolder/) Patch13: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.1.16/%{name}-2.1.16-autosievefolder-0.4.patch.bz2 # Remove QUOTA patch (http://email.uoa.gr/projects/cyrus/rmquota/) Patch14: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.1.16/cyrus-imapd-2.1.16-rmquota-0.2.diff.bz2 # Patch to ignore mailbox case (from Simon Matter's RPM) Patch15: %{name}-2.1.14-username_tolower.patch.bz2 # backported from: https://bugzilla.andrew.cmu.edu/attachment.cgi?id=222&action=view Patch16: %{name}-2.1.16-net-snmp.diff.bz2 Patch17: %{name}-2.1.16-plaintext.patch.bz2 Patch18: %{name}-2.1.16-getrlimit.patch.bz2 # Patch for wildcard (http://asg.web.cmu.edu/archive/message.php?mailbox=archive.cyrus-devel&msg=474) Patch100: %{name}-2.1.16-wildcard1.patch.bz2 # See if http://servercc.oakton.edu/~jwade/cyrus/Readme.html patch is needed BuildRoot: %{_tmppath}/%{name}-%{version}-root %if %{mdk82} || %{mdk90} Requires: libdb3.3 %endif Requires: perl Requires: krb5-libs Requires(pre): /usr/sbin/useradd %if %{SASLGROUP} Requires(pre): /usr/sbin/groupadd %endif Requires(post): /sbin/chkconfig /usr/bin/openssl /usr/bin/chattr /bin/grep /bin/cp Requires(preun):/sbin/service /sbin/chkconfig /usr/sbin/userdel /bin/rm %if %{SASLGROUP} Requires(preun):/usr/sbin/groupdel %endif Requires(postun):/sbin/service Provides: imap Provides: imap-server Conflicts: courier-imap BuildRequires: autoconf BuildRequires: %{_lib}sasl2-devel BuildRequires: e2fsprogs-devel BuildRequires: perl-devel BuildRequires: tcp_wrappers-devel %if %{mdk82} || %{mdk90} BuildRequires: libdb3.3-devel %else BuildRequires: db4-devel >= 4.0 %endif BuildRequires: libopenssl-devel BuildRequires: flex BuildRequires: bison BuildRequires: groff >= 1.15-8 BuildRequires: krb5-devel # for makedepend BuildRequires: XFree86-devel %if %{mdk92} || %{mdk100} BuildRequires: net-snmp-devel %else BuildRequires: ucd-snmp-devel # I don't remember if rpm-devel was required pre-9.2 #BuildRequires: rpm-devel %endif %if %{mdk92} # rpm-devel should be required by net-snmp-devel, but it is not, BuildRequires: rpm-devel %endif %if %{mdk100} # This one will have to be removed after 10.0 BuildRequires: libnet-snmp5-devel >= 5.1-6mdk %endif %if %{SASLGROUP} %define _saslgroup saslauth %endif %define _cyrususer cyrus %define _cyrusgroup mail %define _vardata %{_var}/lib/imap %define _spooldata %{_var}/spool/imap %define _cyrexecdir %{_libexecdir}/cyrus-imapd %define _confdir master/conf %if %{PREFORK} %define _cyrusconf %{_confdir}/prefork.conf %else %define _cyrusconf %{_confdir}/normal.conf %endif %define _ssldir %{_sysconfdir}/ssl/cyrus-imapd %description 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" 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. TLSv1 and SSL are supported for security. This is the main package, install also the %{name}-utils package (it contains server administration tools and depends on the perl-Cyrus package). %package murder Group: System/Servers Summary: Cyrus IMAP server murder aggregator system files. Requires: %{name} = %{version}-%{release} %description murder The %{name}-murder package contains the Cyrus murder aggregator system, i.e. IMAP, POP3 and LMTP proxies, and the mupdate mailbox master daemon. It allows for cluster setups where there are many backend Cyrus spools and frontend proxy servers. %package devel Group: Development/Other Summary: Cyrus IMAPd development files. %description devel This package contains header files and libraries necessary for developing applications which use the imclient library. The main package is %{name}. %package -n perl-Cyrus Group: Development/Perl Summary: Cyrus IMAPd utility Perl modules. Requires: perl %description -n perl-Cyrus This package contains Perl modules necessary to use the Cyrus server administrative utilities. The main package is %{name}. %package utils Group: System/Servers Summary: Cyrus IMAPd server admin utilities. Requires: perl-Cyrus = %{version}-%{release} %description utils This package contains Cyrus IMAPd server administrative tools. It can be installed on systems other than the one running the server. This package depends on the perl-Cyrus package. The main package is %{name}. %prep %setup -q %patch0 -p1 -b .mandir %patch1 -p1 -b .cflags %patch2 -p1 -b .deliverman %patch3 -p1 -b .cyradm_man_sec %patch4 -p0 -b .service_path %if !%{mdk82} %patch5 -b .mdk9.0perl %endif %patch6 %patch7 -p1 -b .rpath %patch9 -p1 -b .munge8bit %patch10 -p1 -b .logfacility %if %build_autocreate %patch11 -p1 -b .autocreate %patch13 -p1 -b .autosieve %patch14 -p1 -b .rmquota %endif %if %build_ipv6 %patch12 -p0 -b .ipv6 %endif %patch15 -p1 -b .username_tolower %if %{mdk92} || %{mdk100} %patch16 -p1 -b .net-snmp %endif %patch17 -p1 -b .plaintext %patch18 -p1 -b .getrlimit %patch100 -p1 -b .wildcard ## Extra documentation mkdir -p extradocs for i in %{SOURCE2} %{SOURCE4} %{SOURCE19} ; do cp $i extradocs done ## remove cvs file rm -f doc/text/.cvsignore %build perl -pi -e "s|--agent-libs|--netsnmp-agent-libs|;" cmulocal/ucdsnmp.m4 CPPFLAGS="-I%{_includedir}/et" export CPPFLAGS CFLAGS="$RPM_OPT_FLAGS -fPIC" export CFLAGS LOCALDEFS="-DEXTRA_IDENT=\\\"Mandrake-RPM-%{version}-%{release}\\\"" export LOCALDEFS # Don't explicitly -I/usr/local/include (avoids warnings from gcc3.2 # which would prevent configure from working) #perl -pi -e "s@-I/usr/local/include@@g if /CPPFLAGS/" configure export LDFLAGS="-L%{_libdir}" # This prevents the configure macro from rerunning libtoolize, which # would undo the previous fix #%define __libtoolize echo %__aclocal -I cmulocal %__autoconf %configure \ %if %{DUPLICATE_DB} --with-duplicate-db=%{DUPLICATE_DB} \ %endif %if %{MBOX_DB} --with-mboxlist-db=%{MBOX_DB} \ %endif %if %{SEEN_DB} --with-seen-db=%{SEEN_DB} \ %endif %if %{SUBS_DB} --with-subs-db=%{SUBS_DB} \ %endif %if %{TLS_DB} --with-tls-db=%{TLS_DB} \ %endif %if %{IDLED} --with-idle=idled \ %endif %if %{FULLDIRHASH} --enable-fulldirhash \ %endif --with-syslogfacility=MAIL \ --enable-murder \ --enable-netscapehack \ --enable-listext \ --enable-annotatemore \ --with-krb=%{_prefix}/kerberos \ --with-perl=%{__perl} \ --with-cyrus-prefix=%{_cyrexecdir} \ --with-auth=unix \ %if %{mdk92} || %{mdk100} --with-libwrap=%{_prefix} \ --with-netsnmp=%{_prefix} \ %endif %{__make} #%{__cc} -DLIBEXECDIR=\"%{_cyrexecdir}\" -Wall -o deliver-wrapper %{SOURCE2} # Modify docs master --> cyrus-master pushd man perl -pi -e "s#master\(8\)#cyrus-master(8)#" `ls *5 *8` cd ../doc perl -pi -e "s#master#cyrus-master#g;" man.html cd man perl -pi -e "s#master\(8\)#cyrus-master(8)#;" `ls *html` popd # Modify path in perl scripts pushd perl/imap/examples perl -pi -e "s#/usr/local/bin/perl#%{__perl}#" `find . -type f -name "*.pl"` popd # Cleanup of doc dir find doc perl -name CVS -type d | xargs -r rm -fr find doc -name "*~" -type f | xargs -r rm -f rm -f doc/Makefile.dist rm -f doc/text/htmlstrip.c # modify lmtp socket path in .conf files perl -pi -e "s#/var/imap#%{_vardata}#" %{_confdir}/*.conf %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} # Do what the regular make install does %if %{mdk92} || %{mdk100} %{__make} install DESTDIR=%{buildroot} mandir=%{_mandir} %{__make} -C man install DESTDIR=%{buildroot} mandir=%{_mandir} %else %{__make} install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir} %{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir} %endif #%{__install} -s -m 2755 deliver-wrapper %{buildroot}%{_cyrexecdir}/ %{__install} -m 755 imtest/imtest %{buildroot}%{_cyrexecdir}/ %{__install} -m 755 perl/imap/cyradm %{buildroot}%{_cyrexecdir}/ %if %{mdk82} # # For some reason the perl install script doesn't respect mandir setting # under mandrake 8.2 so here we install perl manpages under buildroot for page in 1 3 ; do for manpage in perl/imap/blib/man${page}/*.$page ; do %{__install} $manpage %{buildroot}%{_mandir}/man${page} done done %endif # Install tools for tool in dohash mkimap rehash translatesieve undohash upgradesieve ; do test -f tools/${tool} && %{__install} -m 755 tools/${tool} %{buildroot}%{_cyrexecdir}/ done %{__install} -m 755 %{SOURCE13} %{buildroot}%{_cyrexecdir}/imapcreate # Create directories %{__install} -d \ %{buildroot}%{_sysconfdir}/{rc.d/init.d,pam.d,sysconfig,cron.daily} \ %{buildroot}%{_libdir}/sasl \ %{buildroot}%{_bindir} \ %{buildroot}%{_spooldata}/stage. \ %{buildroot}%{_vardata}/{user,quota,proc,log,msg,socket,db,sieve,rpm,backup} \ %{buildroot}%{_datadir}/%{name}/rpm \ %{buildroot}%{_ssldir} # Install additional files %{__install} -m 755 %{SOURCE15} %{buildroot}%{_cyrexecdir}/cvt_cyrusdb_all %{__install} -m 755 %{SOURCE16} %{buildroot}%{_datadir}/%{name}/rpm/magic %{__install} -m 755 %{SOURCE17} %{buildroot}%{_cyrexecdir}/mkimapdcert %{__install} -m 600 %{SOURCE18} %{buildroot}%{_ssldir}/cyrus-imapd.cnf # Install config files %{__install} -m 644 %{_cyrusconf} %{buildroot}%{_sysconfdir}/cyrus.conf %{__install} -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/imapd.conf %{__install} -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/pop %{__install} -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/imap %{__install} -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/sieve %{__install} -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/mupdate %{__install} -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/lmtp %{__install} -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/%{name} %{__install} -m 755 %{SOURCE11} %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name} #%{__install} -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -m 755 %{SOURCE20} %{buildroot}%{_sysconfdir}/cron.daily/%{name} # Install README.RPM %{__install} -m 644 %{SOURCE14} README.RPM cat << EOF >> README.RPM RPM BUILD TIME CONFIGURATION OPTIONS This RPM package has been compiled with the following options: use saslauth group SASLGROUP: %{SASLGROUP} use preforking cyrus.conf PREFORK: %{PREFORK} enable IDLED support IDLED: %{IDLED} enable full directory hash FULLDIRHASH: %{FULLDIRHASH} database backends EOF for conf in DUPLICATE MBOX SEEN SUBS TLS; do echo -n "${conf}_DB: " >> README.RPM grep "CONFIG_DB_${conf}" config.h | sed -e 's/)//' | \ cut -d" " -f3 | cut -d"_" -f2- >> README.RPM done # Install templates %{__install} -m 755 -d doc/conf %{__install} -m 644 %{_confdir}/*.conf doc/conf/ # Put binaries in place according to FHS mv -f %{buildroot}%{_cyrexecdir}/bin/* %{buildroot}%{_cyrexecdir}/ rm -rf %{buildroot}%{_cyrexecdir}/bin # Rename 'master' binary and manpage to avoid crash with postfix mv -f %{buildroot}%{_cyrexecdir}/master %{buildroot}%{_cyrexecdir}/cyrus-master mv -f %{buildroot}%{_mandir}/man8/master.8 %{buildroot}%{_mandir}/man8/cyrus-master.8 cp -af doc/man/master.8.html doc/man/cyrus-master.8.html # make hashed dirs perl << EOF %if %{FULLDIRHASH} foreach \$i ("A".."W") %else foreach \$i ("a".."z") %endif { mkdir "%{buildroot}%{_vardata}/user/\$i", 0750; mkdir "%{buildroot}%{_vardata}/quota/\$i", 0750; mkdir "%{buildroot}%{_vardata}/sieve/\$i", 0750; mkdir "%{buildroot}%{_spooldata}/\$i", 0750; } EOF # Create symlinks ln -sf ../lib/cyrus-imapd/cyradm %{buildroot}%{_bindir}/ ln -sf ../lib/cyrus-imapd/imtest %{buildroot}%{_bindir}/ ln -sf ../lib/cyrus-imapd/imapcreate %{buildroot}%{_bindir}/ # Create file wich contains information about compiled db backends for conf in DUPLICATE MBOX SEEN SUBS TLS; do echo -n CONFIG_DB_${conf}= >> %{buildroot}%{_datadir}/%{name}/rpm/db.cfg grep "CONFIG_DB_${conf}" config.h | sed -e 's/)//' -e 's/_/-/g' | \ cut -d" " -f3 | \ cut -d"-" -f2 >> %{buildroot}%{_datadir}/%{name}/rpm/db.cfg done # Create magic file for skiplist file -C -m %{buildroot}%{_datadir}/%{name}/rpm/magic %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %pre # Create 'cyrus' user on target host %if %{SASLGROUP} /usr/sbin/groupadd -r %{_saslgroup} 2> /dev/null || : /usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_vardata} -g %{_cyrusgroup} \ -G %{_saslgroup} -s /bin/bash -r %{_cyrususer} 2> /dev/null || : %else /usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_vardata} -g %{_cyrusgroup} \ -s /bin/bash -r %{_cyrususer} 2> /dev/null || : %endif %post /sbin/chkconfig --add %{name} if [ $1 = 1 ] ; then #Create a self-signed server key and certificate #The script checks first if they exists, if yes, it exits, #otherwise, it creates them. if ! [ -f %{_ssldir}/cyrus-imapd.pem ];then sh %{_cyrexecdir}/mkimapdcert >/dev/null fi fi # Force synchronous updates only on ext2 filesystems # Note: This will slow down user creation for 10.000+ users! for i in %{_vardata}/{user,quota} %{_spooldata} do if [ `find $i -maxdepth 0 -printf %F` = "ext2" ]; then chattr -R +S $i 2>/dev/null fi done # Add sieve service if necessary if ! grep -q ^sieve %{_sysconfdir}/services; then echo -e 'sieve\t\t2000/tcp\t\t\t# Sieve mail filter daemon' >> %{_sysconfdir}/services fi # Add lmtp service if necessary if ! grep -q ^lmtp %{_sysconfdir}/services; then echo -e 'lmtp\t\t2003/tcp\t\t\t# Local mail delivery protocol (rfc2033)' >> %{_sysconfdir}/services fi # copy the db config file if conf directory is clean (no mailboxes.db) if [ $1 = 1 ]; then if [ -f %{_vardata}/mailboxes.db ] ; then cat<<EOF This is the first time that this package is being installed but there's an existing %{_vardata}/mailboxes.db file so it's not possible to know if the current configuration of the various cyrus databases corresponds to the compiled in options. Please BACK UP your configuration and spool directory and run the %{_cyrexecdir}/cvt_cyrusdb_all utility. EOF else cp -f %{_datadir}/%{name}/rpm/db.cfg %{_vardata}/rpm/db.cfg.cache fi echo "Remember to assign a password to user cyrus in order" echo "to administer the server." fi %preun if [ $1 = 0 ]; then /sbin/service %{name} stop >/dev/null 2>&1 || : /sbin/chkconfig --del %{name} /usr/sbin/userdel %{_cyrususer} 2> /dev/null || : %if %{SASLGROUP} if [ "`grep ^%{_saslgroup}: %{_sysconfdir}/group | cut -d: -f4-`" = "" ]; then /usr/sbin/groupdel %{_saslgroup} 2> /dev/null || : fi %endif rm -f %{_vardata}/socket/lmtp 2> /dev/null rm -f %{_vardata}/rpm/db.cfg.cache 2> /dev/null fi %postun if [ $1 -ge 1 ]; then /sbin/service %{name} condrestart >/dev/null 2>&1 || : fi %triggerin -- %{name} < 2.0.0 #To avoid automatic restart of the daemon when upgrading from versions #1.x.x of Cyrus IMAPd in rpm form, be sure the old daemon is stopped /sbin/service %{name} stop >/dev/null 2>&1 || : %files %defattr(-,root,root) %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/*.conf %attr(0755,root,root) %config(noreplace) %{_sysconfdir}/rc.d/init.d/%{name} #%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %attr(0644,root,root) %config(noreplace) %verify(not size,not md5) %{_sysconfdir}/pam.d/pop %attr(0644,root,root) %config(noreplace) %verify(not size,not md5) %{_sysconfdir}/pam.d/imap %attr(0644,root,root) %config(noreplace) %verify(not size,not md5) %{_sysconfdir}/pam.d/sieve %attr(0644,root,root) %config(noreplace) %verify(not size,not md5) %{_sysconfdir}/pam.d/lmtp %attr(0755,root,root) %config(noreplace) %{_sysconfdir}/cron.daily/%{name} %attr(0755,root,root) %dir %{_cyrexecdir} %attr(0755,root,root) %{_cyrexecdir}/arbitron %attr(0755,root,root) %{_cyrexecdir}/chk_cyrus %attr(0755,root,root) %{_cyrexecdir}/ctl_cyrusdb %attr(0755,root,root) %{_cyrexecdir}/ctl_deliver %attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist %attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb %attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb_all %attr(0755,root,root) %{_cyrexecdir}/mkimapdcert %attr(0755,root,root) %{_cyrexecdir}/cyrdump %attr(0755,root,root) %{_cyrexecdir}/cyrus-master %attr(0755,root,root) %{_cyrexecdir}/dohash %attr(0755,root,root) %{_cyrexecdir}/feedcyrus %attr(0755,root,root) %{_cyrexecdir}/fud %attr(0755,root,root) %{_cyrexecdir}/imapd %attr(0755,root,root) %{_cyrexecdir}/ipurge %attr(0755,root,root) %{_cyrexecdir}/lmtpd %attr(0755,root,root) %{_cyrexecdir}/mbpath %attr(0755,root,root) %{_cyrexecdir}/mkimap %attr(0755,root,root) %{_cyrexecdir}/notifyd %attr(0755,root,root) %{_cyrexecdir}/pop3d %attr(0755,root,root) %{_cyrexecdir}/quota %attr(0755,root,root) %{_cyrexecdir}/reconstruct %attr(0755,root,root) %{_cyrexecdir}/rehash %attr(0755,root,root) %{_cyrexecdir}/squatter %attr(0755,root,root) %{_cyrexecdir}/timsieved %attr(0755,root,root) %{_cyrexecdir}/tls_prune %attr(0755,root,root) %{_cyrexecdir}/translatesieve %attr(0755,root,root) %{_cyrexecdir}/undohash %attr(0755,root,root) %{_cyrexecdir}/upgradesieve %attr(0755,root,root) %{_cyrexecdir}/mbexamine %if %{IDLED} %attr(0755,root,root) %{_cyrexecdir}/idled %endif %attr(4754,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver #%attr(2755,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver-wrapper %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata} %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/user %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/quota %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/proc %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/log %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/msg %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/socket %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/db %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/sieve %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/rpm %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_vardata}/backup %attr(0500,%{_cyrususer},%{_cyrusgroup}) %dir %{_ssldir} %attr(0600,%{_cyrususer},%{_cyrusgroup}) %config(noreplace) %{_ssldir}/cyrus-imapd.cnf %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_spooldata} %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_spooldata}/* %attr(0755,root,root) %dir %{_datadir}/%{name} %attr(0755,root,root) %dir %{_datadir}/%{name}/rpm %attr(0644,root,root) %{_datadir}/%{name}/rpm/* %attr(0644,root,root) %{_mandir}/man5/* %attr(0644,root,root) %{_mandir}/man8/* %doc COPYRIGHT README README.RPM %doc doc/* %doc extradocs/* %doc master/CYRUS-MASTER.mib %files murder %defattr(-,root,root) %config(noreplace) %verify(not size,not md5) %{_sysconfdir}/pam.d/mupdate %attr(0755,root,root) %{_cyrexecdir}/lmtpproxyd %attr(0755,root,root) %{_cyrexecdir}/mupdate %attr(0755,root,root) %{_cyrexecdir}/pop3proxyd %attr(0755,root,root) %{_cyrexecdir}/proxyd %doc doc/text/install-murder %files devel %defattr(-,root,root) %{_includedir}/cyrus %{_libdir}/lib*.a %attr(0644,root,root) %{_mandir}/man3/imclient.3* %files -n perl-Cyrus %defattr(-,root,root) %if %{mdk82} %{perl_sitearch}/auto/Cyrus %{perl_sitearch}/Cyrus %else %{perl_vendorarch}/auto/Cyrus %{perl_vendorarch}/Cyrus %endif %if %{mdk82} || %{mdk92} || %{mdk100} %attr(0644,root,root) %{_mandir}/man3/Cyrus* %else %attr(0644,root,root) %{_mandir}/man3pm/* %endif %doc perl/imap/README %doc perl/imap/Changes %doc perl/imap/examples #%exclude %{perl_archlib}/perllocal.pod %files utils %defattr(-,root,root) %attr(0755,root,root) %{_cyrexecdir}/cyradm %attr(0755,root,root) %{_cyrexecdir}/imtest %attr(0755,root,root) %{_cyrexecdir}/imapcreate %attr(0755,root,root) %{_bindir}/* %attr(0644,root,root) %{_mandir}/man1/* %changelog * Fri Jan 23 2004 Jean-Michel Dault <jmdault@mandrakesoft.com> 2.1.16-5mdk - rebuild with the new net-snmp that doesn't require rpm - replaced agent-libs by netsnmp-agent-libs in ucdsnmp.m4 so we don't link with extra libraries, such as libelf, librpm, popt, etc. * Thu Jan 22 2004 Laurent MONTEL <lmontel@mandrakesoft.com> 2.1.16-4mdk - Rebuild with new perl * Sun Jan 18 2004 <bluca@vodka.it> 2.1.16-3mdk - fixed net-snmp patch (me sucks) * Sun Dec 28 2003 Luca Berra <bluca@vodka.it> 2.1.16-2mdk - added net-snmp patch (P16) - force use of secure connections on daemon command-line (P17) * Sun Dec 28 2003 Giuseppe GHibò <ghibo@mandrakesoft.com> 2.1.16-1mdk - Release 2.1.16. - Updated Patch12 (IPV6). - Updated Patch11 (autocreate). - Added Patch13 (autosieve) - Added Patch15 (username_tolower), from Simon Matter's RPM. - Added Patch100. * Thu Dec 11 2003 Florin <florin@mandrakesoft.com> 2.1.15-8mdk - fix the libsnmp-devel requires (stupid me) - get rid of rpm-devel * Thu Dec 11 2003 Florin <florin@mandrakesoft.com> 2.1.15-7mdk - fix the mdk82,90,92 macro definitions - add rpm-devel in BuildRequires (G. Ghibo) - Requires on libnet-snmp-devel instead of libsnmp-devel - remove the libopenssl0.9.7, libsasl2 explicit Requires - use config(noreplace) for the initscripts and the cron files * Mon Sep 22 2003 Florin <florin@mandrakesoft.com> 2.1.15-6mdk - requires libopenssl0.9.7 * Mon Sep 22 2003 Florin <florin@mandrakesoft.com> 2.1.15-5mdk - fix wrong buildrequires * Fri Sep 19 2003 Lenny Cartier <lenny@mandrakesoft.com> 2.1.15-4mdk - adjust requires * Wed Sep 03 2003 Florin <florin@mandrakesoft.com> 2.1.15-3mdk - remove the Requires on the devel package * Tue Aug 27 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.15-2mdk - now should build under 8.2/9.0/9.1 as well as cooker * Tue Aug 26 2003 Florin <florin@mandrakesoft.com> 2.1.15-1mdk - 2.1.15 - upgrade the ipv6 and autocreate patches - comment out the perllocal.pod line (file not found) - add the unpackaged file arbitron * Thu Jul 31 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.13-4mdk - ipv6 support - snmp monitoring enabled - just one source for pam default configuration (they were all the same) - added /etc/pam.d/lmtp - removed source21 (migration scripts, should be packaged separately) - removed libdb dependencies for perl-Cyrus * Tue Jul 22 2003 Buchan Milne <bgmilne@linux-mandrake.com> 2.1.14-3mdk - add mailbox autocreation patch (disable with --without autocreate) - make it short-circuit (don't mv files from builddir to buildroot in install) * Sat Jul 19 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.14-2mdk - merged changes from 2.1.13-1mdk, 2.1.13-2mdk and 2.1.13-3mdk missing from 2.1.14-1mdk - removed patch 8 (forcedowncase, same option included upstream) - rediffed patch 9 (munge8bit) - removed patch11 (fixes for db4.1), fixed upstream * Wed Jul 16 2003 Florin <florin@mandrakesoft.com> 2.1.14-1mdk - 2.1.14 - add mbexamine * Wed Jun 18 2003 Buchan Milne <bgmilne@linux-mandrake.com> 2.1.13-3mdk - Require perl-devel - Don't require libdb4.0, 9.0 and later should do auto-requires. - Compiled against db4.1, sasl2 * Tue Jun 10 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.13-2mdk - default location for ssl certificates moved to /etc/ssl/cyrus-imapd/ - added patch 11 to fix problems with berkeley db 4.1 * Wed May 09 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.13-1mdk - 2.1.13 (bug fix and security audit release) - changed the obsolete Prereq syntax to Requires(pre,post,preun,postun) - changed as well BuildPrereq to BuildRequires - added missing Requires(pre,post,preun,postun) (fixes bug 3838) - added "Conflicts: courier-imap" to make distlint happy (I don't like to have this conflict but...) - patch to select syslog facility (now using mail instead of local6) - removed logrotate script - some ideas/fixes taken from Simon Matters' redhat package: cron.daily job to backup mailboxes.db updated cvt_cyrusdb_all changed exec path to /usr/lib/cyrus-imapd added murder package added forcedowncase and munge8bit patches added build time options for full directory hash and idled * Sun Apr 27 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.12-7mdk - removed cyrus user creation on build host - cvt_cyrusdb_all script (source15) now uses 'file --version' to determine default magic file location - copy the db config file in post if conf directory is clean (no mailboxes.db) - added ssl cert file generation (taken from bincimap spec file) * Mon Apr 14 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.12-6mdk - fixed requires to build under 8.2 and 9.0 (as well as 9.1) - provides imap-server and imap - removed conflicts (since there seems to be no sane method to check against any other imap server installed) - avoid installing unneded files mupdate-loadgen.pl and not-mkdep - cyrus doesn't need a fixed uid, changed cyrus user creation to reflect that and avoid a possible conflict with an existing uid * Thu Mar 13 2003 Florin <florin@mandrakesoft.com> 2.1.12-5mdk - remove the provides imap * Mon Mar 10 2003 Florin <florin@mandrakesoft.com> 2.1.12-4mdk - conflicts imap not obsoletes imap (thx f.crozat) * Mon Mar 10 2003 Florin <florin@mandrakesoft.com> 2.1.12-3mdk - typo in cyrus-imapd.imap-2.1.x-conf * Fri Mar 07 2003 Florin <florin@mandrakesoft.com> 2.1.12-2mdk - rebuild for cooker - requires libopenssl0.9.7-devel - requires libdb4.0-devel - add missing mupdate-loadgen.pl and not-mkdep files - keep source is tar.gz format and add .sig file - add rpatch patch * Tue Feb 04 2003 Luca Olivetti <luca@olivetti.cjb.net> 2.1.12-1mdk - 2.1.12 - Added patch 6 (prefix syslog messages with "cyrus-master") * Thu Dec 05 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.11-1mdk - 2.1.11 (security fix) - added EXTRA_IDENT * Sat Nov 16 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.10-1mdk - 2.1.10 - put a note in README.RPM about new default configuration for postfix in mandrake 9.0 (lmtp configured to run chrooted) - make rpmlint happy * Sat Oct 26 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.9-5mdk - modified script cvt_cyrusdb_all from Simon Matter <simix@datacomm.ch> - my modification to same to use magic file in /usr/share/magic/magic instead of /usr/share/magic The script worked anyway but the error message wasn't good to see * Tue Oct 08 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.9-4mdk - fixed the cvt_cyrusdb_all script to use cvt_cyrusdb in /usr/lib/cyrus instead of /usr/libexec/cyrus * Mon Oct 07 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.9-3mdk - hacks and patch5 to build under mandrake 9.0 - changed default for MBOX_DB (previously MBOXLIST_DB) and SEEN_DB to skiplist - added script from Simon Matter <simix@datacomm.ch> to convert database files, but instead of auto converting just warn the user and don't start cyrus-imapd - changed README.RPM with more sensible options for the lmtp socket * Wed Sep 18 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.9-2mdk - changed all the %attr(x,-,-) (which wouldn't respect the %defattr setting) to %attr(x,root,root) - added lmtp in /etc/services in postinstall - changed README.RPM to suggest to put the ltmp unix socket under /var/spool/postfix instead of /var/spool/postfix/private * Wed Sep 11 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.9-1mdk - upgraded to cyrus-imapd 2.1.9 - removed patch to fix sieve 'matches' comparator (no longer necessary) - removed patch to install mupdatetest manpage (no longer necessary) * Mon Jul 01 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.5-3mdk - fix from Jeremy Howard <jh_lists@fastmail.fm> to sieve 'matches' comparator * Wed Jun 26 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.5-2mdk - added a list of build options to README.RPM (based on the spec file from Simon Matter <simix@datacomm.ch>) - added missing chk_cyrus in %files - re-added dependency on e2fsprogs-devel to use system com_err instead of the included one * Tue Jun 25 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.5-1mdk - upgraded to cyrus-imapd 2.1.5 * Sat Jun 22 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.4-2mdk - modified to allow for compilation options to be specified on the commandline (I'm not completely satisfied but that'll do for now) - removed patch not to cache seen state, useless * Sat May 05 2002 Luca Olivetti <luca@olivetti.cjb.net> 2.1.4-1mdk - upgraded to cyrus-imapd 2.1.4 - patch not to cache seen state upgraded (previous one didn't apply) * Mon Apr 29 2002 Luca Olivetti <luca@olivetti.cjb.net> - created a patch in order not to cache seen state (see http://asg.web.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&msg=12864 but instead of fixed at compile time with a config option "cacheseen" that defaults to true) - new init file from Simon Matter * Thu Apr 18 2002 Luca Olivetti <luca@olivetti.cjb.net> - Adapted for Mandrake 8.2 * Fri Mar 08 2002 Simon Matter <simix@datacomm.ch> - upgraded to cyrus-imapd 2.1.3 - removed some stuff that was cleaned up in the sources - added compile time options for db backends * Wed Mar 06 2002 Simon Matter <simix@datacomm.ch> - removed requires perl-File-Temp for utils package, it's in the RedHat perl RPM now * Fri Feb 22 2002 Simon Matter <simix@datacomm.ch> - removed deliverdb/db * Wed Feb 20 2002 Simon Matter <simix@datacomm.ch> - upgraded to cyrus-imapd 2.1.2 * Mon Feb 11 2002 Simon Matter <simix@datacomm.ch> - changed sasl_mech_list: PLAIN in /etc/imapd.conf - added sieve to /etc/pam.d * Fri Feb 08 2002 Simon Matter <simix@datacomm.ch> - added requires perl-File-Temp for utils package * Wed Feb 06 2002 Simon Matter <simix@datacomm.ch> - added some %dir flags - removed /usr/lib/sasl/Cyrus.conf - added conf templates - build time option for usage of saslauth group * Tue Feb 05 2002 Simon Matter <simix@datacomm.ch> - upgraded to cyrus-imapd 2.1.1 - dependency of cyrus-sasl >= 2.1.0-1 * Sun Feb 03 2002 Simon Matter <simix@datacomm.ch> - saslauth group is only deleted on uninstall if there is no other member in this group * Sat Feb 02 2002 Simon Matter <simix@datacomm.ch> - changed start/stop level in init file * Tue Jan 29 2002 Simon Matter <simix@datacomm.ch> - dependency of cyrus-sasl >= 1.5.24-22 - dotstuffing patch for sendmail calls made by sieve for outgoing mails - patch for ability to force ipurge to traverse personal folders * Mon Jan 28 2002 Simon Matter <simix@datacomm.ch> - minor spec file changes * Sat Jan 19 2002 Simon Matter <simix@datacomm.ch> - changed default auth to pam - remove several %dir from %files sections - change from /usr/lib/cyrus -> /usr/libexec/cyrus - rename source files to something like cyrus... - added rehash tool - changed to hashed spool * Fri Jan 18 2002 Simon Matter <simix@datacomm.ch> - fixed init script - fixed %post section in spec * Thu Jan 17 2002 Simon Matter <simix@datacomm.ch> - ready for first build * Wed Jan 09 2002 Simon Matter <simix@datacomm.ch> - initial package, with help from all the other pout there