Blob Blame Raw
Name:			cyrus-imapd
Version:		2.2.12
Release:		6.fc4

# ********************** BUILD TIME OPTIONS START **********************

# To modify parameters, edit the .spec file or build like this:
# rpm --rebuild --define='SEEN_DB skiplist' cyrus-imapd-2.x.x-x.src.rpm

# use saslauth group
%{!?SASLGROUP:		%define		SASLGROUP 0}

# include deliver-wrapper
%{!?DEL_WRAP:		%define		DEL_WRAP 0}

# use preforking cyrus.conf
%{!?PREFORK:		%define		PREFORK 1}

# enable Netscape hack (recommended)
%{!?NETSCAPEHACK:	%define		NETSCAPEHACK 1}

# enable IMAP4 LIST extensions
%{!?LISTEXT:		%define		LISTEXT 1}

# enable IDLED support
%{!?IDLED:		%define		IDLED 1}

# force syncronous updates on ext3
%{!?FORCESYNCEXT3:	%define		FORCESYNCEXT3 0}

# include autocreate feature
%{!?AUTOCREATE:		%define		AUTOCREATE 1}

# include groupcache feature
%{!?GROUPCACHE:		%define		GROUPCACHE 1}

# don't check for RFC compliant line termination (bare newlines)
%{!?NO_BARE_NL:		%define		NO_BARE_NL 0}

# used syslog facility for logging
%{!?SYSLOGFACILITY:	%define		SYSLOGFACILITY MAIL}

# use -fpie for linking
%{!?USEPIE:		%define		USEPIE 0}

# OutlookExpress seenstate patch
%{!?OE_SEEN_ST:		%define		OE_SEEN_ST 1}

# use authorization module METHOD [unix|krb5]
%{!?AUTH_METHOD:	%define		AUTH_METHOD unix}

# ********************** BUILD TIME OPTIONS END ************************

%define			_use_internal_dependency_generator 0
%define			_rhver %(eval rpm -q --queryformat '%{VERSION}' $(rpm -qf /etc/redhat-release))
%define			_rhrelease %(eval %{__cat} /etc/redhat-release)
%define			_dbver db4
%define			_dbrpmver %(eval "rpm -q %{_dbver}")
# Do we need the perl install hack for RedHat > 7.3 ?
%define			_perlhack %(eval [ %{_rhver} = "6.2" -o %{_rhver} = "7.0" -o %{_rhver} = "7.1" -o %{_rhver} = "7.2" -o %{_rhver} = "7.3" -o %{_rhver} = "2.1AS" -o %{_rhver} = "2.1ES" ] && echo 0 || echo 1)
%define			_perl_man3dir %(eval "$(perl -V:man3dir)"; echo $man3dir)
# Disable -debuginfo package generation
#define debug_package	%{nil}
%define pki_dir %{_sysconfdir}/pki/%{name}
%define ssl_pem_file %{pki_dir}/%{name}.pem

Summary:		A high-performance mail server with IMAP, POP3, NNTP and SIEVE support.
License:		BSD
Group:			System Environment/Daemons
URL:			http://asg.web.cmu.edu/cyrus/imapd/
#Packager:		Simon Matter <simon.matter@invoca.ch>
#Vendor:		Invoca Systems
#Distribution:		Invoca Linux Server
Source0:		ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
Source1:		ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz.sig
Source2:		cyrus-procmailrc
Source3:		cyrus-deliver-wrapper.c
Source4:		cyrus-user-procmailrc.template
Source5:		cyrus-imapd.logrotate
Source6:		cyrus-imapd.imap-2.2.x-conf
Source7:		cyrus-imapd.pam-config
Source8:		http://email.uoa.gr/projects/cyrus/autocreate/README.autocreate-cyrus-2.2
Source9:		http://email.uoa.gr/projects/cyrus/autosievefolder/README.autosievefolder
Source10:		cyrus-imapd-db.cfg
Source11:		cyrus-imapd.init
Source12:		cyrus-imapd.sysconfig
Source13:		cyrus-imapd.cvt_cyrusdb_all
Source14:		cyrus-imapd.magic
Source15:      		http://clement.hermann.free.fr/scripts/Cyrus/imapcreate.pl
Source16:		http://eu.dl.sourceforge.net/cyrus-utils/cyrus_ldap_quota.pl
Source17:		ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/batchreconstruct
Source18:		ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/bsd2cyrus
Source19:		ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/cpmsg
Source20:		ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/folderxfer
Source21:		ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/inboxfer
Source22:		http://email.uoa.gr/download/cyrus/cyrus_sharedbackup/cyrus_sharedbackup-0.1.tar.gz
Source23:		cyrus-imapd-README.RPM
Source24:		cyrus-imapd-README.HOWTO-recover-mailboxes.db
Source25:		cyrus-imapd.cron-daily
Source27:		cyrus-imapd-procmail+cyrus.mc
Source28:		cyrus-imapd.rpm_set_permissions
Source29:		cyrus-imapd-sendmail-8.12.9-cyrusv2.m4
Source30:		cyrus-imapd-README.contrib
Source31:		cyrus-imapd-README.groupcache
Source32:		cyrus-imapd.upd_groupcache
Patch0:			cyrus-imapd-2.1.9-fdatasync.patch
Patch1:			http://email.uoa.gr/download/cyrus/cyrus-imapd-2.2.12/cyrus-imapd-2.2.12-autocreate-0.9.2.diff
Patch2:			http://email.uoa.gr/download/cyrus/cyrus-imapd-2.2.12/cyrus-imapd-2.2.12-autosievefolder-0.6.diff
Patch3:			http://email.uoa.gr/download/cyrus/cyrus-imapd-2.2.10/cyrus-imapd-2.2.10-rmquota+deletemailbox-0.1.diff
Patch4:			http://servercc.oakton.edu/~jwade/cyrus/cyrus-imapd-2.1.3/cyrus-imapd-2.1.3-flock.patch
Patch5:			cyrus-imapd-2.2.4-munge8bit.patch
Patch6:			cyrus-imapd-2.1.16-getrlimit.patch
Patch7:			cyrus-imapd-2.1.15-nobarenewlinescheck.patch
Patch8:			cyrus-imapd-2.2.10-groupcache.patch
Patch9:			cyrus-imapd-2.2.4-OE-seenstate.patch
Patch10:		cyrus-imapd-acceptinvalidfrom.patch
Patch50:		cyrus-imapd-gcc4.patch
# Patches >= 100 are fixed in CVS
BuildRoot:		%{_tmppath}/%{name}-%{version}-root
Prereq:			e2fsprogs, diffutils, /sbin/chkconfig, /sbin/service
Requires:		cyrus-sasl >= 2.1.15, file >= 3.35-1
Requires:		filesystem >= 2.3.2-1
Requires:		openssl >= 0.9.7f-4
BuildPrereq:		cyrus-sasl-devel >= 2.1.15-1, perl, tcp_wrappers, %{_dbver}-devel, openssl-devel
BuildPrereq:		flex, bison, groff >= 1.15-8, autoconf

%define			uid 76
%if %{SASLGROUP}
%define			gid 76
%define			_saslgroup saslauth
%endif
%define			_cyrususer cyrus
%define			_cyrusgroup mail
%define			_vardata %{_var}/lib/imap
%define			_spooldata %{_var}/spool/imap
%define			_cyrexecdir %{_exec_prefix}/lib/%{name}
%define			_confdir master/conf
%define			_contribdir doc/contrib
%if %{PREFORK}
%define			_cyrusconf %{_confdir}/prefork.conf
%else
%define			_cyrusconf %{_confdir}/normal.conf
%endif

%description
The %{name} package contains the core of the Cyrus IMAP server.
It is a scaleable enterprise mail system designed for use from
small to large enterprise environments using standards-based
internet mail 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 server. All user access to mail is through software using
the IMAP, POP3, or KPOP protocols. TLSv1 and SSL are supported for
security.

%package murder
Group: System Environment/Daemons
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 nntp
Group: System Environment/Daemons
Summary: Cyrus IMAP server NNTP system files.
Requires: %{name} = %{version}-%{release}
 
%description nntp
The %{name}-nntp package contains the Cyrus NNTP server component.
Cyrus has the ability to export Usenet via IMAP and/or export shared IMAP
mailboxes via NNTP. This is made possible by a new NNTP daemon which is
included with Cyrus.

%package devel
Group: Development/Libraries
Summary: Cyrus IMAP server development files.
Requires: %{name} = %{version}-%{release}

%description devel
The %{name}-devel package contains header files and libraries
necessary for developing applications which use the imclient library.

%package -n perl-Cyrus
Group: System Environment/Libraries
Summary: Cyrus IMAP server utility Perl modules.

%description -n perl-Cyrus
The perl-Cyrus package contains Perl modules necessary to use the
Cyrus IMAP server administration utilities.

%package utils
Group: Applications/System
Summary: Cyrus IMAP server administration utilities.
Requires: perl-Cyrus = %{version}-%{release}

%description utils
The %{name}-utils package contains administrative tools for the
Cyrus IMAP server. It can be installed on systems other than the
one running the server.

%prep
%setup -q
%patch0 -p0 -b .fdatasync
%if %{AUTOCREATE}
%patch1 -p1 -b .autocreate
%patch2 -p1 -b .autosievefolder
%patch3 -p1 -b .rmquota
%endif
%patch4 -p1 -b .flock
%patch5 -p1 -b .munge8bit
%patch6 -p1 -b .getrlimit
%if %{NO_BARE_NL}
%patch7 -p1 -b .nobarenewlinescheck
%endif
%if %{GROUPCACHE}
%patch8 -p1 -b .groupcache
%endif
%if %{OE_SEEN_ST}
%patch9 -p1 -b .oeseenstate
%endif
%patch10 -p1 -b .acceptinvalidfrom
%patch50 -p1

%build
# kerberos include is needed (because of openssl-0.9.7 ?)
CPPFLAGS="-I%{_includedir}/et -I%{_prefix}/kerberos/include"; export CPPFLAGS
CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS
CCDLFLAGS="-rdynamic"; export CCDLFLAGS
LDFLAGS="-L%{_prefix}/kerberos/%{_lib}"; export LDFLAGS
%if %{USEPIE}
%ifnarch ppc ppc64
LDFLAGS="$LDFLAGS -pie"; export LDFLAGS
%endif
%endif

%{configure} \
%if %{NETSCAPEHACK}
  --enable-netscapehack \
%endif
%if %{LISTEXT}
  --enable-listext \
%endif
%if %{IDLED}
  --with-idle=idled \
%endif
  --enable-murder \
  --enable-nntp \
  --without-snmp \
  --with-perl=%{__perl} \
  --with-cyrus-prefix=%{_cyrexecdir} \
  --with-service-path=%{_cyrexecdir} \
  --with-auth=%{AUTH_METHOD} \
  --with-bdb-incdir=%{_includedir}/%{_dbver} \
  --with-extraident="Invoca-RPM-%{version}-%{release}" \
  --with-syslogfacility=%{SYSLOGFACILITY}

%{__make}
%if %{DEL_WRAP}
%{__cc} $CFLAGS -DLIBEXECDIR=\"%{_cyrexecdir}\" -Wall -o deliver-wrapper %{SOURCE3}
%endif

# Modify docs master --> cyrus-master
pushd man
  %{__perl} -pi -e "s@master\(8\)@cyrus-master(8)@" $(ls *5 *8)
popd
pushd doc
  %{__perl} -pi -e "s@master@cyrus-master@g;" man.html
popd
pushd doc/man
  %{__perl} -pi -e "s@master\(8\)@cyrus-master(8)@;" $(ls *html)
popd

# Modify path in perl scripts
%{__perl} -pi -e "s@/usr/local/bin/perl@%{__perl}@" $(find . -type f -name "*.pl")

# Fix permissions on perl programs
find . -type f -name "*.pl" -exec %{__chmod} 755 {} \;

# 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

# Create README.buildoptions
%{__cat} << EOF >> doc/README.buildoptions
This RPM has been compiled on %{_rhrelease} using
Berkeley DB version %{_dbrpmver} with the following source
RPM build options:

use saslauth group
SASLGROUP       : %{SASLGROUP}

include deliver-wrapper
DEL_WRAP        : %{DEL_WRAP}

use preforking cyrus.conf
PREFORK         : %{PREFORK}

enable Netscape hack (recommended)
NETSCAPEHACK    : %{NETSCAPEHACK}

enable IMAP4 LIST extensions
LISTEXT         : %{LISTEXT}

enable IDLED support
IDLED           : %{IDLED}

force syncronous updates on ext3
FORCESYNCEXT3   : %{FORCESYNCEXT3}

include autocreate feature
AUTOCREATE      : %{AUTOCREATE}

include groupcache feature
GROUPCACHE      : %{GROUPCACHE}

include nobarenewlinescheck patch
NO_BARE_NL      : %{NO_BARE_NL}

used syslog facility for logging
SYSLOGFACILITY  : %{SYSLOGFACILITY}

used -fpie for linking
USEPIE          : %{USEPIE}

include OutlookExpress seenstate patch
OE_SEEN_ST      : %{OE_SEEN_ST}

use authorization module METHOD [unix|krb5]
AUTH_METHOD     : %{AUTH_METHOD}


To modify parameters, edit the .spec file or build like this:
rpm --rebuild --define='FULLDIRHASH 1' %{name}-%{version}-%{release}.src.rpm
EOF

%{__install} -m 644 %{SOURCE23}	doc/README.RPM
%{__install} -m 644 %{SOURCE24}	doc/README.HOWTO-recover-mailboxes.db
%if %{GROUPCACHE}
%{__install} -m 644 %{SOURCE31}	doc/README.groupcache
%endif
%if %{AUTOCREATE}
%{__install} -m 644 %{SOURCE8}  doc/README.autocreate
%{__install} -m 644 %{SOURCE9}  doc/README.autosievefolder
%endif
%{__install} -d doc/m4
%{__install} -m 644 %{SOURCE2}	doc/m4/cyrus-procmailrc
%{__install} -m 644 %{SOURCE4}	doc/m4/cyrus-user-procmailrc.template
%{__install} -m 644 %{SOURCE27}	doc/m4/%{name}-procmail+cyrus.mc
%{__install} -m 644 %{SOURCE29}	doc/m4/%{name}-sendmail-8.12.9-cyrusv2.m4

# modify lmtp socket path in .conf files
%{__perl} -pi -e "s@/var/imap/@%{_vardata}/@" %{_confdir}/*.conf doc/cyrusv2.mc doc/m4/%{name}-sendmail-8.12.9-cyrusv2.m4

# enable/disable idled in .conf files to prevent error messages
%if %{IDLED}
  %{__perl} -pi -e "s/#  idled/  idled/" %{_confdir}/*.conf
%else
  %{__perl} -pi -e "s/  idled/#  idled/" %{_confdir}/*.conf
%endif

%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

# This hack is needed on RedHat > 7.3 to install the perl files correctly
%if %{_perlhack}
pushd perl/imap
  %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix}
popd
pushd perl/sieve/managesieve
  %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix}
popd

# Do what the regular make install does
  %{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir}
  %{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir}
%else
  %{__make} install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir}
  %{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir}
%endif

%if %{DEL_WRAP}
%{__install} -m 2755 deliver-wrapper	%{buildroot}%{_cyrexecdir}/
%endif
%{__install} -m 755 imtest/imtest	%{buildroot}%{_cyrexecdir}/
%{__install} -m 755 perl/imap/cyradm	%{buildroot}%{_cyrexecdir}/

# Install tools
for tool in tools/* ; do
  test -f ${tool} && %{__install} -m 755 ${tool} %{buildroot}%{_cyrexecdir}/
done

# Create directories
%{__install} -d \
  %{buildroot}%{_sysconfdir}/{rc.d/init.d,logrotate.d,pam.d,sysconfig,cron.daily} \
  %{buildroot}%{_libdir}/sasl \
  %{buildroot}%{_bindir} \
  %{buildroot}%{_spooldata} \
  %{buildroot}%{_vardata}/{user,quota,proc,log,msg,socket,db,sieve,rpm,backup} \
  %{buildroot}%{_datadir}/%{name}/rpm \
  %{buildroot}%{pki_dir} \
  %{_contribdir}

# Install additional files
%{__install} -m 755 %{SOURCE13}   %{buildroot}%{_cyrexecdir}/cvt_cyrusdb_all
%if %{GROUPCACHE}
%{__install} -m 755 %{SOURCE32}   %{buildroot}%{_cyrexecdir}/upd_groupcache
%endif
%{__install} -m 755 %{SOURCE28}   %{buildroot}%{_cyrexecdir}/rpm_set_permissions
%{__install} -m 644 %{SOURCE14}   %{buildroot}%{_datadir}/%{name}/rpm/magic
%{__install} -m 644 %{SOURCE10}   %{buildroot}%{_datadir}/%{name}/rpm/db.cfg
%{__install} -m 644 %{SOURCE15}   %{_contribdir}/imapcreate
%{__install} -m 644 %{SOURCE16}   %{_contribdir}/cyrus_ldap_quota
%{__install} -m 644 %{SOURCE17}   %{_contribdir}/batchreconstruct
%{__install} -m 644 %{SOURCE18}   %{_contribdir}/bsd2cyrus
%{__install} -m 644 %{SOURCE19}   %{_contribdir}/cpmsg
%{__install} -m 644 %{SOURCE20}   %{_contribdir}/folderxfer
%{__install} -m 644 %{SOURCE21}   %{_contribdir}/inboxfer
%{__install} -m 644 %{SOURCE22}   %{_contribdir}/
%{__install} -m 644 %{SOURCE30}   %{_contribdir}/README

# 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 %{SOURCE7}    %{buildroot}%{_sysconfdir}/pam.d/nntp
%{__install} -m 644 %{SOURCE12}   %{buildroot}%{_sysconfdir}/sysconfig/%{name}
%{__install} -m 644 %{SOURCE5}    %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
%{__install} -m 755 %{SOURCE25}   %{buildroot}%{_sysconfdir}/cron.daily/%{name}
%{__install} -m 755 %{SOURCE11}   %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}

# Install templates
%{__install} -m 755 -d doc/conf
%{__install} -m 644 %{_confdir}/*.conf doc/conf/

# create the ghost pem file
touch %{buildroot}%{ssl_pem_file}
# change config file so ssl certificates are under /etc rather than /usr/share
%{__perl} -pi -e \
's@/usr/share/ssl/certs/cyrus-imapd.pem@%{ssl_pem_file}@g; \
 s@/usr/share/ssl/certs/ca-bundle.crt@/etc/pki/tls/certs/ca-bundle.crt@' \
 %{buildroot}%{_sysconfdir}/imapd.conf


# 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
%{__mv} -f doc/man/master.8.html                     doc/man/cyrus-master.8.html
%{__perl} -pi -e 's/master/cyrus-master/g'           %{buildroot}%{_mandir}/man8/cyrus-master.8
%{__perl} -pi -e 's/Master/Cyrus-master/g'           %{buildroot}%{_mandir}/man8/cyrus-master.8
%{__perl} -pi -e 's/MASTER/CYRUS-MASTER/g'           %{buildroot}%{_mandir}/man8/cyrus-master.8
%{__perl} -pi -e 's/master/cyrus-master/g'           doc/man/cyrus-master.8.html
%{__perl} -pi -e 's/Master/Cyrus-master/g'           doc/man/cyrus-master.8.html
%{__perl} -pi -e 's/MASTER/CYRUS-MASTER/g'           doc/man/cyrus-master.8.html

# Rename 'fetchnews' binary and manpage to avoid crash with leafnode
%{__mv} -f %{buildroot}%{_cyrexecdir}/fetchnews      %{buildroot}%{_cyrexecdir}/cyrfetchnews
%{__mv} -f %{buildroot}%{_mandir}/man8/fetchnews.8   %{buildroot}%{_mandir}/man8/cyrfetchnews.8
%{__mv} -f doc/man/fetchnews.8.html                  doc/man/cyrfetchnews.8.html
%{__perl} -pi -e 's/fetchnews/cyrfetchnews/g'        %{buildroot}%{_mandir}/man8/cyrfetchnews.8
%{__perl} -pi -e 's/Fetchnews/Cyrfetchnews/g'        %{buildroot}%{_mandir}/man8/cyrfetchnews.8
%{__perl} -pi -e 's/FETCHNEWS/CYRFETCHNEWS/g'        %{buildroot}%{_mandir}/man8/cyrfetchnews.8
%{__perl} -pi -e 's/fetchnews/cyrfetchnews/g'        doc/man/cyrfetchnews.8.html
%{__perl} -pi -e 's/Fetchnews/Cyrfetchnews/g'        doc/man/cyrfetchnews.8.html
%{__perl} -pi -e 's/FETCHNEWS/CYRFETCHNEWS/g'        doc/man/cyrfetchnews.8.html

# Create symlinks
%{__ln_s} -f %{_exec_prefix}/lib/%{name}/cyradm %{buildroot}%{_bindir}/
%{__ln_s} -f %{_exec_prefix}/lib/%{name}/imtest %{buildroot}%{_bindir}/

# Create filelist for perl package, compress manpages before
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
find %{buildroot}%{perl_sitearch}/Cyrus %{buildroot}%{perl_sitearch}/auto/Cyrus -type f -print |
  %{__sed} "s@^%{buildroot}@@g" |
  %{__grep} -v perllocal.pod |
  %{__grep} -v "\.packlist" > perl-Cyrus-%{version}-filelist
find %{buildroot}%{_perl_man3dir} -type f -name "Cyrus*" -print |
  %{__sed} "s@^%{buildroot}@@g" >> perl-Cyrus-%{version}-filelist
if [ "$(%{__cat} perl-Cyrus-%{version}-filelist)X" = "X" ] ; then
  echo "ERROR: EMPTY FILE LIST"
  exit -1
fi

# Strip binaries
%{__strip} --strip-unneeded %{buildroot}%{_cyrexecdir}/* ||:

# Remove installed but not packaged files
%{__rm} -f %{buildroot}%{_cyrexecdir}/not-mkdep
%{__rm} -f %{buildroot}%{_cyrexecdir}/config2header
%{__rm} -f %{buildroot}%{_cyrexecdir}/config2man
%{__rm} -f %{buildroot}%{_cyrexecdir}/pop3proxyd
find %{buildroot} -name "perllocal.pod" -exec %{__rm} -f {} \;
find %{buildroot} -name ".packlist" -exec %{__rm} -f {} \;
%if !%{IDLED}
%{__rm} -f %{buildroot}%{_mandir}/man8/idled.8*
%{__rm} -f doc/man/idled.8.html
%endif

# On RedHat 7.3, this file is created here
%{__rm} -f /perllocal.pod

%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%pre
# Create 'cyrus' user on target host
%if %{SASLGROUP}
/usr/sbin/groupadd -g %{gid} -r %{_saslgroup} 2> /dev/null || :
/usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_vardata} -g %{_cyrusgroup} \
  -G %{_saslgroup} -s /bin/bash -u %{uid} -r %{_cyrususer} 2> /dev/null || :
%else
/usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_vardata} -g %{_cyrusgroup} \
  -s /bin/bash -u %{uid} -r %{_cyrususer} 2> /dev/null || :
%endif
# Let postun know whether cyrus-imapd was running
if [ -e /var/lock/subsys/cyrus-imapd ]; then
  /sbin/service %{name} stop >/dev/null 2>&1 || :
  touch /var/lock/subsys/cyrus-imapd
fi

%post
/sbin/chkconfig --add %{name}

# Create SSL certificates
exec > /dev/null 2> /dev/null
# if the certificate is only in the old location, move it to the new location
if [ -f %{_datadir}/ssl/certs/%{name}.pem -a ! %{ssl_pem_file} ]; then
mv %{_datadir}/ssl/certs/%{name}.pem %{ssl_pem_file}
fi
if [ ! -f %{ssl_pem_file} ]; then
pushd /etc/pki/tls/certs
umask 077
%{__cat} << EOF | make %{name}.pem
--
SomeState
SomeCity
SomeOrganization
SomeOrganizationalUnit
localhost.localdomain
root@localhost.localdomain
EOF
%{__chown} root.%{_cyrusgroup} %{name}.pem
%{__chmod} 640 %{name}.pem
mv %{name}.pem %{ssl_pem_file}
popd
fi

# Force synchronous updates, usually only on ext2 filesystems
for i in %{_vardata}/{user,quota} %{_spooldata}
do
%if %{FORCESYNCEXT3}
  if [ $(find $i -maxdepth 0 -printf %%F) = "ext2" -o $(find $i -maxdepth 0 -printf %%F) = "ext3" ]; then
%else
  if [ $(find $i -maxdepth 0 -printf %%F) = "ext2" ]; then
%endif
    chattr -R +S $i 2>/dev/null
  fi
done

# "ctl_deliver -E" is deprecated, now is "cyr_expire -E"
if grep -q "ctl_deliver *-E" %{_sysconfdir}/cyrus.conf ; then
  %{__perl} -pi -e "s/ctl_deliver *-E/cyr_expire -E/" %{_sysconfdir}/cyrus.conf
fi

# prevent idled related errors to show up
%if %{IDLED}
  if grep -q "^#  idled" %{_sysconfdir}/cyrus.conf ; then
    %{__perl} -pi -e "s/^#  idled/  idled/" %{_sysconfdir}/cyrus.conf
  fi
%else
  if grep -q "^  idled" %{_sysconfdir}/cyrus.conf ; then
    %{__perl} -pi -e "s/^  idled/#  idled/" %{_sysconfdir}/cyrus.conf
  fi
%endif

%preun
if [ $1 = 0 ]; then
  /sbin/service %{name} stop >/dev/null 2>&1 || :
  /sbin/chkconfig --del %{name}
  %{__rm} -f %{_vardata}/socket/lmtp 2> /dev/null
fi

%postun
if [ $1 = 0 ]; then
  /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
else
  /sbin/service %{name} condrestart >/dev/null 2>&1 || :
fi

%files
%defattr(0644,root,root,0755)
%config(noreplace) %{_sysconfdir}/cyrus.conf
%config(noreplace) %{_sysconfdir}/imapd.conf
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
%config %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_sysconfdir}/pam.d/pop
%config(noreplace) %{_sysconfdir}/pam.d/imap
%config(noreplace) %{_sysconfdir}/pam.d/sieve
%config(noreplace) %{_sysconfdir}/pam.d/lmtp
%attr(0755,root,root) %config %{_sysconfdir}/cron.daily/%{name}
%dir %{_cyrexecdir}
%attr(0755,root,root) %{_cyrexecdir}/arbitron
%attr(0755,root,root) %{_cyrexecdir}/arbitronsort.pl
%attr(0755,root,root) %{_cyrexecdir}/chk_cyrus
%attr(0755,root,root) %{_cyrexecdir}/convert-sieve.pl
%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}/cyr_expire
%attr(0755,root,root) %{_cyrexecdir}/cyrdump
%attr(0755,root,root) %{_cyrexecdir}/cyrus-master
%attr(0755,root,root) %{_cyrexecdir}/deliver
%attr(0755,root,root) %{_cyrexecdir}/dohash
%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}/masssievec
%attr(0755,root,root) %{_cyrexecdir}/mbexamine
%attr(0755,root,root) %{_cyrexecdir}/mbpath
%attr(0755,root,root) %{_cyrexecdir}/mkimap
%attr(0755,root,root) %{_cyrexecdir}/mknewsgroups
%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}/sievec
%attr(0755,root,root) %{_cyrexecdir}/smmapd
%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}/cvt_cyrusdb_all
%if %{GROUPCACHE}
%attr(0755,root,root) %{_cyrexecdir}/upd_groupcache
%endif
%attr(0755,root,root) %{_cyrexecdir}/rpm_set_permissions
%if %{IDLED}
%attr(0755,root,root) %{_cyrexecdir}/idled
%endif
%if %{AUTOCREATE}
%attr(0755,root,root) %{_cyrexecdir}/compile_sieve
%endif
%if %{DEL_WRAP}
%attr(2755,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver-wrapper
%endif
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}
%attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/socket
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/user
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/quota
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/proc
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/log
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/msg
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/db
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/sieve
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/rpm
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_vardata}/backup
%attr(0700,%{_cyrususer},%{_cyrusgroup}) %dir %{_spooldata}
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/rpm
%{_datadir}/%{name}/rpm/*
%{_mandir}/man5/*
%{_mandir}/man8/*
%doc COPYRIGHT README
%doc doc/*
%dir %{pki_dir}
%attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file}

%files murder
%defattr(0644,root,root,0755)
%config(noreplace) %{_sysconfdir}/pam.d/mupdate
%attr(0755,root,root) %{_cyrexecdir}/lmtpproxyd
%attr(0755,root,root) %{_cyrexecdir}/mupdate
%attr(0755,root,root) %{_cyrexecdir}/proxyd

%files nntp
%defattr(0644,root,root,0755)
%config(noreplace) %{_sysconfdir}/pam.d/nntp
%attr(0755,root,root) %{_cyrexecdir}/cyrfetchnews
%attr(0755,root,root) %{_cyrexecdir}/nntpd

%files devel
%defattr(0644,root,root,0755)
%{_includedir}/cyrus
%{_libdir}/lib*.a
%{_mandir}/man3/imclient.3*

%files -n perl-Cyrus -f perl-Cyrus-%{version}-filelist
%defattr(-,root,root)
%doc perl/imap/README
%doc perl/imap/Changes
%doc perl/imap/examples

%files utils
%defattr(0644,root,root,0755)
%attr(0755,root,root) %{_cyrexecdir}/cyradm
%attr(0755,root,root) %{_cyrexecdir}/imtest
%attr(0755,root,root) %{_cyrexecdir}/mupdate-loadgen.pl
%attr(0755,root,root) %{_bindir}/*
%{_mandir}/man1/*

%changelog
* Fri Apr 22 2005 John Dennis <jdennis@redhat.com> - 2.2.12-6.fc4
- the openssl package moved all its certs, CA, Makefile, etc. to /etc/pki
  now we are consistent with the openssl directory changes.

* Thu Apr 21 2005 John Dennis <jdennis@redhat.com> - 2.2.12-5.fc4
- we finally have a common directory, /etc/pki for certs, so create
  /etc/pki/cyrus-imapd and put the ssl pem file there. The /etc/cyrus-imapd
  location will not be used, this change supercedes that.

* Mon Apr 18 2005 John Dennis <jdennis@redhat.com> - 2.2.12-4.fc4
- fix bug #141479, move ssl pem file from /usr/share/ssl/certs to /etc/cyrus-imapd/cyrus-imapd.pem
- change license field to BSD, its not exact BSD, but BSD is the closest.

* Fri Apr 15 2005 John Dennis <jdennis@redhat.com> - 2.2.12-3.fc4
- fix release field to be single digit

* Fri Apr 15 2005 John Dennis <jdennis@redhat.com> - 2.2.12-1.2.fc4
- fix debug_package macro, it was still being expanded,
  comments don't hide macro expansion
- fix changelog chronological order
- fix bug 118832, cyrus-imapd is modifying /etc/services

* Mon Apr  4 2005 John Dennis <jdennis@redhat.com> - 2.2.12-1.1.fc4
- bring up to 2.2.12, includes security fix for CAN-2005-0546

* Fri Mar  4 2005 John Dennis <jdennis@redhat.com> - 2.2.10-11.4.fc4
- fix gcc4 build problems

* Thu Mar  3 2005 John Dennis <jdennis@redhat.com> 2.2.10-11.3.fc4
- bump rev for build

* Mon Feb 14 2005 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.12
- updated autocreate and autosievefolder patches

* Fri Feb 11 2005 John Dennis <jdennis@redhat.com> - 2.2.10-11.2.fc4
- make _contribdir identical to Simon's,
  I had been getting burned by rpm's bizarre handling of macros in comments

* Thu Feb 10 2005 John Dennis <jdennis@redhat.com> - 2.2.10-11.1.fc4
- bring up to date with Simon Matter's 2.2.10-11 rpm

* Sat Feb 05 2005 Simon Matter <simon.matter@invoca.ch>
- updated autosievefolder patch

* Tue Feb 01 2005 Simon Matter <simon.matter@invoca.ch>
- remove special ownership and permissions from deliver
- enable deliver-wrapper per default
- enable OutlookExpress seenstate patch per default

* Wed Jan 19 2005 Simon Matter <simon.matter@invoca.ch>
- updated autocreate patch

* Fri Jan 14 2005 Simon Matter <simon.matter@invoca.ch>
- spec file cleanup

* Tue Jan 11 2005 Simon Matter <simon.matter@invoca.ch>
- updated autocreate patch

* Fri Jan 07 2005 Simon Matter <simon.matter@invoca.ch>
- moved contrib dir into doc, made scripts not executable

* Thu Jan 06 2005 Simon Matter <simon.matter@invoca.ch>
- added more fixes to the autocreate patch
- don't use %_libdir for %_cyrexecdir, it's a mess on x86_64
- don't use %_libdir for symlinks
- remove %_libdir pachtes
- change pam configs to work on x86_64
- changed default build option for IDLED to on
- changed rpm_set_permissions to honor partitions in /etc/imapd.conf

* Tue Jan 04 2005 Simon Matter <simon.matter@invoca.ch>
- updated autocreate patch

* Mon Dec 20 2004 Simon Matter <simon.matter@invoca.ch>
- remove idled docs when disabled, fixes RedHat's bug #142345

* Fri Dec 17 2004 Simon Matter <simon.matter@invoca.ch>
- removed allnumeric patch, not needed anymore
- made groupcache a compile time option
- rename nntp's pam service, fixes RedHat's bug #142672

* Thu Dec 16 2004 Simon Matter <simon.matter@invoca.ch>
- updated groupcache patch
- updated cvt_cyrusdb_all to use runuser instead of su if available
- added upd_groupcache tool

* Wed Dec 15 2004 Simon Matter <simon.matter@invoca.ch>
- added groupfile patch to help those using nss_ldap

* Thu Dec 02 2004 Simon Matter <simon.matter@invoca.ch>
- modified config directives and removed verify options

* Thu Dec  2 2004 John Dennis <jdennis@redhat.com> 2.2.10-3.devel
- fix bug #141673, dup of bug #141470
  Also make cyrus.conf noreplace in addition to imapd.conf
  Remove the verify overrides on the noreplace config files,
  we do want config file changes visible when verifying

* Wed Dec  1 2004 John Dennis <jdennis@redhat.com> 2.2.10-2.devel
- fix bug #141470, make imapd.conf a noreplace config file

* Wed Dec  1 2004 John Dennis <jdennis@redhat.com> 2.2.10-1.devel
- update to Simon Matter's 2.2.10 RPM,
  fixes bug #139382, 
  security advisories: CAN-2004-1011 CAN-2004-1012 CAN-2004-1013 CAN-2004-1015

* Tue Nov 24 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.10

* Tue Nov 23 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.9

* Fri Nov 19 2004 Simon Matter <simon.matter@invoca.ch>
- changed scripts to use runuser instead of su if available

* Thu Nov 18 2004 Simon Matter <simon.matter@invoca.ch>
- changed requirement for file >= 3.35-1 from BuildPrereq to
  Requires, fixes RedHat's bug #124991
- added acceptinvalidfrom patch to fix RedHat's bug #137705

* Mon Oct 4 2004 Dan Walsh <dwalsh@redhat.com> 2.2.6-2.FC3.6
- Change cyrus init scripts and cron job to use runuser instead of su

* Fri Aug  6 2004 John Dennis <jdennis@redhat.com> 2.2.6-2.FC3.5
- remove obsoletes tag, fixes bugs #127448, #129274

* Wed Aug  4 2004 John Dennis <jdennis@redhat.com>
- replace commas in release field with dots, bump build number

* Tue Aug 03 2004 Simon Matter <simon.matter@invoca.ch>
- fixed symlinks for x86_64, now uses the _libdir macro
  reported by John Dennis, fixes RedHat's bug #128964
- removed obsoletes tag, fixes RedHat's bugs #127448, #129274

* Mon Aug  2 2004 John Dennis <jdennis@redhat.com> 2.2.6-2,FC3,3
- fix bug #128964, lib symlinks wrong on x86_64

* Thu Jul 29 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.8

* Thu Jul 29 2004 Simon Matter <simon.matter@invoca.ch>
- updated autocreate and autosieve patches
- made authorization a compile time option
- added sieve-bc_eval patch

* Tue Jul 27 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.7
- modified autocreate patch or 2.2.7
- removed snmpargs patch which was needed for RedHat 6.2

* Tue Jul 13 2004 Simon Matter <simon.matter@invoca.ch>
- added mboxlist / mboxname patches from CVS

* Tue Jul 06 2004 Simon Matter <simon.matter@invoca.ch>
- updated rmquota+deletemailbox patch

* Sat Jul  3 2004 John Dennis <jdennis@redhat.com> - 2.2.6-2,FC3,1
- bring up to date with Simon Matter's latest upstream rpm 2.2.6-2
- comment out illegal tags Packager, Vendor, Distribution
  build for FC3

* Wed Jun 30 2004 Simon Matter <simon.matter@invoca.ch>
- added quota patches from CVS

* Fri Jun 25 2004 Simon Matter <simon.matter@invoca.ch>
- updated autocreate patch

* Fri Jun 18 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.6

* Fri Jun 11 2004 Simon Matter <simon.matter@invoca.ch>
- updated autocreate and autosieve patches

* Tue Jun 01 2004 Simon Matter <simon.matter@invoca.ch>
- updated autocreate, autosieve and rmquota patches
- fixed rmquota patch to build on gcc v3.3.x
- added lmtp_sieve patch

* Sat May 29 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.5

* Fri May 28 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.5 pre-release

* Mon May 24 2004 Simon Matter <simon.matter@invoca.ch>
- added hash patch to fix a sig11 problem
- added noncritical typo patch

* Fri May 21 2004 Simon Matter <simon.matter@invoca.ch>
- include OutlookExpress seenstate patch
- fixed allnumeric patch

* Thu May 20 2004 Simon Matter <simon.matter@invoca.ch>
- don't enable cyrus-imapd per default
- rename fetchnews to cyrfetchnews to avoid namespace conflicts with leafnode
- replace fetchnews with cyrfetchnews in man pages
- replace master with cyrus-master in man pages

* Tue May 18 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.4

* Fri Apr 30 2004 Simon Matter <simon.matter@invoca.ch>
- Don't provides: imap

* Wed Mar 17 2004 Simon Matter <simon.matter@invoca.ch>
- fix init script

* Thu Mar 04 2004 Simon Matter <simon.matter@invoca.ch>
- strip binaries

* Tue Mar 02 2004 Simon Matter <simon.matter@invoca.ch>
- add more SELinux fixes

* Wed Feb 25 2004 Simon Matter <simon.matter@invoca.ch>
- add makedepend to path, thank you Andreas Piesk for reporting it

* Mon Feb 23 2004 Dan Walsh <dwalsh@redhat.com>
- change su within init script to get input from /dev/null
  this prevents hang when running in SELinux
- don't use -fpie as default, it breaks different distributions

* Thu Feb 19 2004 Simon Matter <simon.matter@invoca.ch>
- merged in most changes from Karsten Hopp's RedHat package
- fixed permissions of files in contrib, thank you
  Edward Rudd for reporting it.
- modified snmp patch to make it build on RedHat 6.2 again

* Tue Feb 03 2004 Karsten Hopp <karsten@redhat.de>
- switch to Simon Matter's cyrus-imapd package, which has
  some major improvements over the old Red Hat package.
  - configdirectory moved from /var/imap to /var/lib/imap
  - sasl_pwcheck_method changed to saslauthd
- needed to delete package/vendor tags for buildsystem.
- added USEPIE variable for linking with -fpie flag
- removed rpath from linker arguments
- removed email header from README.HOWTO-recover-mailboxes
- added lib64 patch
- use CFLAGS from specfile in imtest subdir
- disable -pie on ppc for now

* Tue Feb 03 2004 Simon Matter <simon.matter@invoca.ch>
- added tls_ca_file: to imapd.conf
- updated autocreate patch which fixes a small sig11 problem

* Thu Jan 29 2004 Simon Matter <simon.matter@invoca.ch>
- convert sieve scripts to UTF-8 only if sievec failed before
- add note to the readme about limiting loggin on busy servers
- added build time option to chose the syslog facility

* Wed Jan 28 2004 Simon Matter <simon.matter@invoca.ch>
- sieve scripts are now converted to UTF-8 with cvt_cyrusdb_all

* Tue Jan 27 2004 Simon Matter <simon.matter@invoca.ch>
- fixed problems with masssievec
- lots of small fixes in the init scripts

* Fri Jan 23 2004 Simon Matter <simon.matter@invoca.ch>
- updated auto db converting functionality
- added auto masssievec functionality

* Thu Jan 22 2004 Simon Matter <simon.matter@invoca.ch>
- updated autocreate/autosievefolder patches

* Fri Jan 16 2004 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.3

* Wed Jan 14 2004 Simon Matter <simon.matter@invoca.ch>
- number of mailbox list dumps can now be configured

* Fri Jan 01 2004 Simon Matter <simon.matter@invoca.ch>
- updated autosievefolder patch

* Thu Dec 18 2003 Simon Matter <simon.matter@invoca.ch>
- updated autocreate/autosievefolder/rmquota patches

* Tue Oct 28 2003 Simon Matter <simon.matter@invoca.ch>
- updated to 2.2.2-BETA

* Tue Aug 05 2003 Simon Matter <simon.matter@invoca.ch>
- add sendmail m4 macro, some people were looking for it
- just one source for pam default configuration (they were all the same)
- added /etc/pam.d/lmtp
- added build support for RedHat Beta severn

* Wed Jul 30 2003 Simon Matter <simon.matter@invoca.ch>
- updated autocreate patch to 0.8.1
- removed creation of spool/config dirs, not needed anymore
- added cyrus_sharedbackup to contrib

* Fri Jul 18 2003 Simon Matter <simon.matter@invoca.ch>
- modified for 2.2.1-BETA

* Wed Jul 09 2003 Simon Matter <simon.matter@invoca.ch>
- modified rpm_set_permissions script

* Mon Jul 07 2003 Simon Matter <simon.matter@invoca.ch>
- changed permissions on config and spool dirs
- modified init script

* Thu Jul 03 2003 Simon Matter <simon.matter@invoca.ch>
- upgraded to 2.1.14
- removed now obsolete forcedowncase patch
- use --with-extraident to add extra version information
- updated munge8bit patch

* Wed Jun 04 2003 Simon Matter <simon.matter@invoca.ch>
- added RedHat 2.1ES support to the perlhack detection

* Tue May 20 2003 Simon Matter <simon.matter@invoca.ch>
- upgraded autocreate patch

* Fri May 09 2003 Simon Matter <simon.matter@invoca.ch>
- upgraded autocreate patch
- modified init script

* Mon May 05 2003 Simon Matter <simon.matter@invoca.ch>
- upgraded to 2.1.13
- replaced commands with macros, cleaned up spec file

* Fri May 02 2003 Simon Matter <simon.matter@invoca.ch>
- added murder subpackage
- changed exec path to /usr/lib/cyrus-imapd

* Thu May 01 2003 Simon Matter <simon.matter@invoca.ch>
- included modified munge8bit patch again

* Tue Apr 29 2003 Simon Matter <simon.matter@invoca.ch>
- added new 8bit header patch
- upgraded IPv6 patch
- upgraded autocreate patch to 0.7

* Mon Apr 28 2003 Simon Matter <simon.matter@invoca.ch>
- added new autocreate patch

* Mon Mar 31 2003 H-E Sandstrom <hes@mailcore.net>
- added munge8bit patch

* Mon Mar 24 2003 Simon Matter <simon.matter@invoca.ch>
- added createonpost fix patch

* Thu Mar 20 2003 Simon Matter <simon.matter@invoca.ch>
- added functionality to patch the IPv6 patch on the fly if
  autoconf > 2.13, we can now use newer autoconf again.

* Tue Mar 18 2003 Paul Bender <pbender@qualcomm.com>
- fixed spec file so that autoconf 2.13 will always be used,
  since the IPv6 patch requires autoconf <= 2.13

* Fri Mar 14 2003 Simon Matter <simon.matter@invoca.ch>
- fixed problems with new file package

* Thu Mar 13 2003 Simon Matter <simon.matter@invoca.ch>
- added kerberos include for RedHat Beta phoebe 2
- added Henrique's forcedowncase patch

* Mon Mar 03 2003 Simon Matter <simon.matter@invoca.ch>
- corrected imapd.conf

* Sat Mar 01 2003 Simon Matter <simon.matter@invoca.ch>
- added note about lmtp socket in sendmail
- added flock patches

* Fri Feb 07 2003 Simon Matter <simon.matter@invoca.ch>
- added build time option for fulldirhash

* Wed Feb 05 2003 Simon Matter <simon.matter@invoca.ch>
- added IPV6 patch to source rpm
- fixed build on RedHat 6.2

* Tue Feb 04 2003 Simon Matter <simon.matter@invoca.ch>
- update to 2.1.12
- added logrotate entry for /var/log/auth.log
- modified init script to use builtin daemon mode

* Fri Jan 10 2003 Simon Matter <simon.matter@invoca.ch>
- small change in mboxlist backup script

* Fri Jan 10 2003 Simon Matter <simon.matter@invoca.ch>
- fixed a cosmetic bug in cvt_cyrusdb_all
- added cron.daily job to backup mailboxes.db

* Mon Jan 06 2003 Simon Matter <simon.matter@invoca.ch>
- add more entries to /etc/services

* Wed Jan 01 2003 Simon Matter <simon.matter@invoca.ch>
- include snmpargs patch for build on RedHat 6.2
- added build support for RedHat 6.2

* Mon Dec 30 2002 Simon Matter <simon.matter@invoca.ch>
- removed autoconf hack, not needed anymore
- enabled build on RedHat Beta Phoebe
- added services entry for lmtp
- cleanup spec file

* Thu Dec 26 2002 Simon Matter <simon.matter@invoca.ch>
- removed BuildPrereq for e2fsprogs-devel

* Thu Dec 12 2002 Simon Matter <simon.matter@invoca.ch>
- modified RedHat release detection
- added BuildPrereq for file

* Thu Dec 05 2002 Simon Matter <simon.matter@invoca.ch>
- upgraded to cyrus-imapd 2.1.11
- upgrade IPV6 patch to 20021205

* Thu Nov 28 2002 Simon Matter <simon.matter@invoca.ch>
- Fixed some default attributes

* Thu Nov 28 2002 Troels Arvin <troels@arvin.dk>
- Explicitly changed files-section to
   - use defattr for simple (root-owned 0644) files
   - explictly set root as user/group owner where
     the user/group ownership was previously indicated
     as "-"; this allows building valid packages without
     having to being root when building

* Mon Nov 25 2002 Simon Matter <simon.matter@invoca.ch>
- changed default build option for IDLED to off
- included some useful info in README.*

* Thu Nov 21 2002 Simon Matter <simon.matter@invoca.ch>
- added build time option for IDLED, thank you Roland Pope

* Tue Nov 19 2002 Simon Matter <simon.matter@invoca.ch>
- fixed spec to really use fdatasync patch
- added createonpost patch

* Thu Nov 14 2002 Simon Matter <simon.matter@invoca.ch>
- upgraded to cyrus-imapd 2.1.10
- build without IPv6 support by default

* Tue Nov 12 2002 Simon Matter <simon.matter@invoca.ch>
- fixed db detection in .spec

* Mon Oct 21 2002 Simon Matter <simon.matter@invoca.ch>
- updated cvt_cyrusdb_all script

* Fri Oct 18 2002 Simon Matter <simon.matter@invoca.ch>
- added fdatasync patch

* Thu Oct 03 2002 Simon Matter <simon.matter@invoca.ch>
- add RPM version 4.1 compatibility, which means remove installed
  but not packaged files

* Wed Sep 18 2002 Simon Matter <simix@datacomm.ch>
- added auto db converting functionality
- changed default for MBOXLIST_DB and SEEN_DB to skiplist

* Mon Sep 16 2002 Simon Matter <simix@datacomm.ch>
- remove creation of cyrus user at build time
- added scripts from ftp://kalamazoolinux.org/pub/projects/awilliam/cyrus/

* Mon Sep 02 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.9

* Fri Aug 30 2002 Simon Matter <simix@datacomm.ch>
- included extra ident string

* Thu Aug 29 2002 Simon Matter <simix@datacomm.ch>
- modified path in deliver-wrapper, thank you Richard L. Phipps
- added RedHat 2.1AS support to the perlhack detection
- added build time option to force syncronous updates on ext3

* Wed Aug 28 2002 Simon Matter <simix@datacomm.ch>
- added updated IPv6 patch from Hajimu UMEMOTO

* Wed Aug 28 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.8

* Thu Aug 22 2002 Simon Matter <simix@datacomm.ch>
- included IPv6 patch from Hajimu UMEMOTO

* Wed Aug 21 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.7 because of wrong version info

* Wed Aug 21 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.6

* Mon Aug 19 2002 Simon Matter <simix@datacomm.ch>
- change db version detection, thank you Chris for reporting

* Tue Aug 13 2002 Simon Matter <simix@datacomm.ch>
- fixed autoconf detection

* Mon Aug 12 2002 Simon Matter <simix@datacomm.ch>
- included support for different autoconf versions
- modified the perl build and install process
- made some .spec changes to build on RedHat 7.x and limbo

* Fri Aug 09 2002 Simon Matter <simix@datacomm.ch>
- included sieve matching patch

* Thu Jun 27 2002 Simon Matter <simix@datacomm.ch>
- fixed %post script where %F was expanded to file.file

* Wed Jun 26 2002 Simon Matter <simix@datacomm.ch>
- fixed missing man page

* Tue Jun 25 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.5

* Mon Jun 24 2002 Simon Matter <simix@datacomm.ch>
- added compile time parameters to configure the package based on
  the idea from Luca Olivetti <luca@olivetti.cjb.net>
- make deliver-wrapper a compile time option

* Fri May 02 2002 Simon Matter <simix@datacomm.ch>
- upgraded to cyrus-imapd 2.1.4

* Mon Apr 22 2002 Simon Matter <simix@datacomm.ch>
- small initscript fix

* 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 other packages out there