# Exim with sa-exim installed as local_scan patch # Set this to 1 if you have enabled eximon in your Makefile %define eximon 1 # Set this to 1 if you want to compile in the SA-Exim patch (http://marc.merlins.org/linux/exim/sa.html) %define build_saexim 1 # Set this to 1 if you want to compile in Exiscan-ACL ( http://duncanthrax.net/exiscan-acl/ ) %define build_exiscan_acl 1 # Versions of SA-Exim and Exiscan to use # This spec will not work with SA-Exim <3.0 %define sa_exim_ver 3.1 %define exiscan_rel 12 Summary: The Exim mail transfer agent Name: exim Version: 4.24 Release: 1 License: GPL URL: http://www.exim.org/ Packager: Tim Jackson Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-build.root Provides: smtpdaemon Requires(preun,postun): /sbin/service Requires(post,preun): /sbin/chkconfig Requires: bash >= 2.0 Conflicts: sendmail, postfix Source0: ftp://ftp.exim.org/pub/exim/exim4/exim-%{version}.tar.bz2 Source1: exim.aliases Source2: exim.init Source3: exim.sysconfig Source4: exim4.logrotate Source5: exim.clean Source6: exim-%{version}.Makefile # Optional stuff # SA-Exim %if %{build_saexim} Source7: http://marc.merlins.org/linux/exim/files/sa-exim-%{sa_exim_ver}.tar.gz %endif # Exiscan %if %{build_exiscan_acl} Source8: http://duncanthrax.net/exiscan-acl/exiscan-acl-%{version}-%{exiscan_rel}.patch %endif %description Exim is a mail transport agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet. In style it is similar to Smail 3, but its facilities are more extensive, and in particular it has options for verifying incoming sender and recipient addresses, for refusing mail from specified hosts, networks, or senders, and for controlling mail relaying. Exim is in production use at quite a few sites, some of which move hundreds of thousands of messages per day. # --- prep section -------------------------------------------------- %prep %setup -q # Install Makefile cp -p %{SOURCE6} Local/Makefile %if %{build_saexim} # Set up SA-Exim tar -zxf %{SOURCE7} cd sa-exim-%{sa_exim_ver} make sa-exim.h cd .. echo "#define SPAMASSASSIN_CONF \"/etc/exim/sa-exim.conf\"" > src/local_scan.c cat sa-exim-%{sa_exim_ver}/sa-exim.c >> src/local_scan.c cp -p sa-exim-%{sa_exim_ver}/sa-exim.h src/ %endif %if %{build_exiscan_acl} # Set up Exiscan ACL patch -p1 <%{SOURCE8} %endif %if %{eximon} touch Local/eximon.conf %endif # --- build section ------------------------------------------------- %build make CFLAGS="$RPM_OPT_FLAGS" # --- install section ----------------------------------------------- %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/sbin mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/usr/lib mkdir -p $RPM_BUILD_ROOT/etc/exim # Change into the built binary dir and install everything in it cd build-`scripts/os-type`-`scripts/arch-type` install -m 4775 exim $RPM_BUILD_ROOT/usr/sbin %if %{eximon} FILE_LIST="convert4r4 exicyclog exigrep exim_checkaccess exim_dbmbuild exim_dumpdb "\ "exim_fixdb exim_lock eximon eximon.bin eximstats exim_tidydb exinext exiqgrep exiqsumm exiwhat "\ "pcretest transport-filter.pl" %else FILE_LIST="convert4r4 exicyclog exigrep exim_checkaccess exim_dbmbuild exim_dumpdb "\ "exim_fixdb exim_lock eximstats exim_tidydb exinext exiqgrep exiqsumm exiwhat "\ "pcretest transport-filter.pl" %endif for i in $FILE_LIST do install -m 0775 $i $RPM_BUILD_ROOT/usr/sbin done # Change back to root directory cd .. # Install stuff in /etc/exim install -d -m 0755 $RPM_BUILD_ROOT/etc/exim/ install -m 0644 src/configure.default $RPM_BUILD_ROOT/etc/exim/exim.conf install -m 0644 $RPM_SOURCE_DIR/exim.aliases $RPM_BUILD_ROOT/etc/aliases %if %{build_saexim} install -m 0644 sa-exim-%{sa_exim_ver}/sa-exim.conf $RPM_BUILD_ROOT/etc/exim/ %endif # make symlinks pushd $RPM_BUILD_ROOT/usr/lib/ ln -sf ../sbin/exim sendmail popd pushd $RPM_BUILD_ROOT/usr/sbin/ ln -sf exim sendmail popd pushd $RPM_BUILD_ROOT/usr/bin/ ln -sf ../sbin/exim mailq ln -sf ../sbin/exim runq ln -sf ../sbin/exim rsmtp ln -sf ../sbin/exim rmail ln -sf ../sbin/exim newaliases popd install -d -m 0750 $RPM_BUILD_ROOT/var/spool/exim install -d -m 0750 $RPM_BUILD_ROOT/var/spool/exim/db install -d -m 0750 $RPM_BUILD_ROOT/var/spool/exim/input install -d -m 0750 $RPM_BUILD_ROOT/var/spool/exim/msglog install -d -m 0750 $RPM_BUILD_ROOT/var/log/exim mkdir -p $RPM_BUILD_ROOT/etc/sysconfig install -m 644 $RPM_SOURCE_DIR/exim.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/exim mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d install $RPM_SOURCE_DIR/exim.init $RPM_BUILD_ROOT/etc/rc.d/init.d/exim mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d install -m 0644 $RPM_SOURCE_DIR/exim4.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/exim mkdir -p $RPM_BUILD_ROOT/etc/cron.daily install -m 0764 $RPM_SOURCE_DIR/exim.clean $RPM_BUILD_ROOT/etc/cron.daily/exim strip $RPM_BUILD_ROOT/usr/sbin/* || : chmod g-w $RPM_BUILD_ROOT/usr/sbin/* # --- clean section ------------------------------------------------- %clean rm -rf $RPM_BUILD_ROOT # --- post-install section ------------------------------------------ %post /sbin/chkconfig --add exim # --- pre-uninstall section ----------------------------------------- %preun if [ $1 = 0 ]; then /sbin/service exim stop > /dev/null 2>&1 /sbin/chkconfig --del exim fi # --- post-uninstall section ---------------------------------------- %postun if [ "$1" -ge "1" ]; then /sbin/service exim condrestart > /dev/null 2>&1 fi # --- files section ------------------------------------------------- %files %defattr(-,root,root) %attr(4755,root,root) /usr/sbin/exim /usr/sbin/convert4r4 /usr/sbin/exicyclog /usr/sbin/exigrep /usr/sbin/exim_checkaccess /usr/sbin/exim_dbmbuild /usr/sbin/exim_dumpdb /usr/sbin/exim_fixdb /usr/sbin/exim_lock %if %{eximon} /usr/sbin/eximon /usr/sbin/eximon.bin %endif /usr/sbin/eximstats /usr/sbin/exim_tidydb /usr/sbin/exinext /usr/sbin/exiqgrep /usr/sbin/exiqsumm /usr/sbin/exiwhat /usr/sbin/pcretest /usr/sbin/transport-filter.pl /usr/lib/sendmail /usr/sbin/sendmail /usr/bin/mailq /usr/bin/runq /usr/bin/rsmtp /usr/bin/rmail /usr/bin/newaliases %defattr(-,mail,mail) %dir /var/spool/exim %dir /var/spool/exim/db %dir /var/spool/exim/input %dir /var/spool/exim/msglog %dir /var/log/exim %defattr(-,mail,mail) %config(noreplace) /etc/exim/exim.conf %if %{build_saexim} %config(noreplace) /etc/exim/sa-exim.conf %endif %defattr(-,root,root) %config(noreplace) /etc/aliases %config /etc/sysconfig/exim %config /etc/rc.d/init.d/exim %config /etc/logrotate.d/exim %config /etc/cron.daily/exim %doc ACKNOWLEDGMENTS CHANGES LICENCE NOTICE README README.UPDATING doc/ %changelog * Thu Aug 14 2003 Tim Jackson - Updated to Exim 4.21 * Sat May 31 2003 Tim Jackson - Updated to Exim 4.20 - Includes SA3.0 support - Includes Exiscan-ACL support * Thu Mar 13 2003 Tim Jackson - Updated to Exim 4.14 * Mon Feb 24 2003 Tim Jackson - Updated Exiscan version * Sun Jan 12 2003 Tim Jackson - Updated Exiscan version, changed Exiscan tarball format * Sat Jan 04 2003 Tim Jackson - 'Universal' version including support for SA-Exim/Exiscan