# # spec file for package exim (Version 4.67) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: exim BuildRequires: db-devel openldap2-devel pcre-devel %if %{?suse_version:1}%{?!suse_version:0} BuildRequires: tcpd-devel %if %suse_version > 910 BuildRequires: xorg-x11-devel %else BuildRequires: XFree86-devel XFree86-libs %endif %else BuildRequires: libXaw-devel libXext-devel libXt-devel openssl-devel tcp_wrappers xorg-x11-server-sdk %endif %if %{?build_with_mysql:1}0 BuildRequires: mysql-devel Provides: exim = %{version}-%{release} %endif URL: http://www.exim.org/ Conflicts: sendmail sendmail-tls postfix License: GNU General Public License (GPL) Group: Productivity/Networking/Email/Servers Autoreqprov: on provides: smtp_daemon %if %{?suse_version:%suse_version}%{?!suse_version:0} > 800 Requires: logrotate PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd fileutils textutils %endif Version: 4.69 Release: 1 Summary: The Exim Mail Transfer Agent, a Replacement for sendmail BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: exim-%{version}.tar.bz2 Source1: sysconfig.exim Source2: exim.logrotate Source11: exim.rc Source12: permissions.exim Source13: apparmor.usr.sbin.exim Source20: http://www.logic.univie.ac.at/~ametzler/debian/exim4manpages/exim4-manpages.tar.bz2 Source30: eximstats-html-update.py Source31: eximstats.conf Patch: exim-4.12-tail.patch Patch2: exim-4.60-external-pcre.diff %if !%{?build_with_mysql:1}0 %package -n eximon Summary: Eximon, an graphical frontend to administer Exim's mail queue Group: Productivity/Networking/Email/Servers %package -n eximstats-html Summary: Create HTML reports of exim logs Group: Productivity/Networking/Email/Servers Requires: perl-GD perl-GDGraph perl-GDTextUtil %endif %description Exim is a mail transport agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet. It is freely available under the terms of the GNU General Public Licence. In style, it is similar to Smail 3, but its facilities are more extensive. 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. Authors: -------- Philip Hazel %if !%{?build_with_mysql:1}0 %description -n eximon This allows administrators to view the exim agent's mail queue and logs, and perform a variety of actions on queued messages, such as freezing, bouncing and thawing messages, and even editing body and header of mails. Authors: -------- Philip Hazel %description -n eximstats-html If this package is installed alongside the exim MTA, and you enable EXIM_REPORT_WEEKLY_HTML in /etc/sysconfig/exim, logrotate/cron will create HTML reports in /srv/www/eximstats. You can edit /etc/apache2/conf.d/eximstats.conf to configure your webserver for the reports. The script /usr/sbin/eximstats-html-update.py can create the reports for log files that were rotated in the past. (You would only run this once, if at all. The rest is done by logrotate / cron.) Authors: -------- Philip Hazel %endif %prep %setup -q -n exim-%{version} %patch %patch2 -p1 # build with fPIE/pie on SUSE 10.0 or newer, or on any other platform %if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930 fPIE="-fPIE" pie="-pie" %endif cat <<-EOF > Local/Makefile # see src/EDITME for comments. BIN_DIRECTORY=/usr/sbin CONFIGURE_FILE=/etc/exim/exim.conf EXIM_USER=mail EXIM_GROUP=mail SPOOL_DIRECTORY=/var/spool/exim ROUTER_ACCEPT=yes ROUTER_DNSLOOKUP=yes ROUTER_IPLITERAL=yes ROUTER_MANUALROUTE=yes ROUTER_QUERYPROGRAM=yes ROUTER_REDIRECT=yes # ROUTER_IPLOOKUP=yes TRANSPORT_APPENDFILE=yes TRANSPORT_AUTOREPLY=yes TRANSPORT_PIPE=yes TRANSPORT_SMTP=yes TRANSPORT_LMTP=yes SUPPORT_MAILDIR=yes SUPPORT_MAILSTORE=yes SUPPORT_MBX=yes LOOKUP_DBM=yes LOOKUP_LSEARCH=yes LOOKUP_CDB=yes LOOKUP_DNSDB=yes LOOKUP_DSEARCH=yes LOOKUP_LDAP=yes %if %{?build_with_mysql:1}0 LOOKUP_MYSQL=yes %endif LOOKUP_NIS=yes # LOOKUP_NISPLUS=yes # LOOKUP_ORACLE=yes LOOKUP_PASSWD=yes # LOOKUP_PGSQL=yes # LOOKUP_WHOSON=yes CYRUS_SASLAUTHD_SOCKET=/var/run/sasl2/mux LDAP_LIB_TYPE=OPENLDAP2 # LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include # LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq LOOKUP_LIBS=-lldap -llber %if %{?build_with_mysql:1}0 LOOKUP_INCLUDE=-I /usr/include/mysql LOOKUP_LIBS=-lldap -llber -lmysqlclient %endif EXIM_MONITOR=eximon.bin WITH_CONTENT_SCAN=yes WITH_OLD_DEMIME=yes AUTH_CRAM_MD5=yes AUTH_PLAINTEXT=yes # AUTH_SPA=yes AUTH_DOVECOT=yes SUPPORT_TLS=yes TLS_LIBS=-lssl -lcrypto INFO_DIRECTORY=%{_infodir} LOG_FILE_PATH=/var/log/exim/%%s.log EXICYCLOG_MAX=10 SYSLOG_LOG_PID=yes COMPRESS_COMMAND=/bin/gzip COMPRESS_SUFFIX=gz ZCAT_COMMAND=/usr/bin/zcat # SUPPORT_PAM=yes # You probably need to add -lpam to EXTRALIBS # RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf # CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck # USE_TCP_WRAPPERS=yes NO_SYMLINK=yes CHOWN_COMMAND=/bin/chown CHGRP_COMMAND=/bin/chgrp MV_COMMAND=/bin/mv RM_COMMAND=/bin/rm PERL_COMMAND=/usr/bin/perl # APPENDFILE_MODE=0600 # APPENDFILE_DIRECTORY_MODE=0700 # APPENDFILE_LOCKFILE_MODE=0600 # CONFIGURE_FILE_USE_NODE=yes # CONFIGURE_FILE_USE_EUID=yes # DELIVER_BUFFER_SIZE=8192 # EXIMDB_DIRECTORY_MODE=0750 # EXIMDB_MODE=0640 # EXIMDB_LOCKFILE_MODE=0640 # HEADER_MAXSIZE="(1024*1024)" # INPUT_DIRECTORY_MODE=0750 # LOG_DIRECTORY_MODE=0750 # LOG_MODE=0640 # LOOKUP_TESTDB=yes MAKE_SHELL=/bin/bash # MAX_NAMED_LIST=16 # MAXINTERFACES=250 # MSGLOG_DIRECTORY_MODE=0750 # PERL_CC= # PERL_CCOPTS= # PERL_LIBS= PID_FILE_PATH=/var/run/exim.pid # SPOOL_DIRECTORY_MODE=0750 # SPOOL_MODE=0640 SUPPORT_MOVE_FROZEN_MESSAGES=yes HAVE_IPV6=YES CFLAGS=$RPM_OPT_FLAGS -Wall -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DLDAP_DEPRECATED $fPIE EXTRALIBS=-ldl -L/usr/X11R6/%{_lib} $pie EOF touch Local/eximon.conf rm -f doc/*.{orig,txt~} %build make %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/init.d mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d mkdir -p $RPM_BUILD_ROOT/usr/{bin,sbin,lib} mkdir -p $RPM_BUILD_ROOT/var/log/exim mkdir -p $RPM_BUILD_ROOT/var/spool/mail/ mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8 mkdir -p $RPM_BUILD_ROOT/usr/bin make inst_dest=$RPM_BUILD_ROOT/usr/sbin \ inst_conf=$RPM_BUILD_ROOT/etc/exim/exim.conf \ inst_info=$RPM_BUILD_ROOT/%{_infodir} \ INSTALL_ARG=-no_chown install mv $RPM_BUILD_ROOT/usr/sbin/exim-%{version}* $RPM_BUILD_ROOT/usr/sbin/exim mv $RPM_BUILD_ROOT/etc/exim/exim.conf src/configure.default # with all substitutions done install -m 755 %{S:11} $RPM_BUILD_ROOT/etc/init.d/exim # aka... for i in \ /usr/lib/sendmail \ /usr/bin/runq \ /usr/bin/rsmtp \ /usr/bin/mailq \ /usr/bin/newaliases do ln -sf ../sbin/exim $RPM_BUILD_ROOT$i done ln -sf exim $RPM_BUILD_ROOT/usr/sbin/sendmail ln -sv ../../etc/init.d/exim $RPM_BUILD_ROOT/usr/sbin/rcexim %if !%{?build_with_mysql:1}0 mv $RPM_BUILD_ROOT/usr/sbin/eximon* $RPM_BUILD_ROOT/usr/bin/ %else rm $RPM_BUILD_ROOT/usr/sbin/eximon* %endif cp -p %{S:1} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.exim install -m 644 %{S:2} $RPM_BUILD_ROOT/etc/logrotate.d/exim # man pages mv doc/exim.8 $RPM_BUILD_ROOT/%{_mandir}/man8/ pod2man --center=EXIM --section=8 $RPM_BUILD_ROOT/usr/sbin/eximstats > $RPM_BUILD_ROOT/%{_mandir}/man8/eximstats.8 tar xvjf %{S:20} cp -p exim4-manpages/* $RPM_BUILD_ROOT/%{_mandir}/man8/ for i in \ sendmail \ runq \ rsmtp \ mailq \ newaliases do ln -sf exim.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/$i.8.gz done for i in \ exim_dumpdb \ exim_fixdb \ exim_tidydb do ln -sf exim_db.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/$i.8.gz done perl -pi -e 's%/usr/share/doc/exim4%/usr/share/doc/packages/exim%g' `find $RPM_BUILD_ROOT/%{_mandir}/man8 -name "*.8"` gzip -9 doc/*.txt # since 10.0, the permissions file is packaged in the 'permissions' package %if %{?suse_version:%suse_version}%{?!suse_version:99999} < 1000 install -m 0755 -d $RPM_BUILD_ROOT/etc/permissions.d install -m 0644 $RPM_SOURCE_DIR/permissions.exim $RPM_BUILD_ROOT/etc/permissions.d/exim %endif # eximstats-html files %if !%{?build_with_mysql:1}0 mkdir -p $RPM_BUILD_ROOT/srv/www/eximstats mkdir -p $RPM_BUILD_ROOT/etc/apache2/conf.d/ cp -p $RPM_SOURCE_DIR/eximstats.conf $RPM_BUILD_ROOT/etc/apache2/conf.d/ install -m 0755 $RPM_SOURCE_DIR/eximstats-html-update.py $RPM_BUILD_ROOT/%{_sbindir} %endif # apparmor profile install -D -m 0644 $RPM_SOURCE_DIR/apparmor.usr.sbin.exim $RPM_BUILD_ROOT/etc/apparmor/profiles/extras/usr.sbin.exim %post %run_permissions if ! test -s etc/exim/exim.conf; then if test -s etc/exim.conf; then mv etc/exim.conf etc/exim/ echo moving exim.conf to /etc/exim/ else cp -p usr/share/doc/packages/exim/configure.default etc/exim/exim.conf echo copying default config file to /etc/exim/exim.conf fi fi # create logfiles if missing for i in var/log/exim/main.log var/log/exim/panic.log var/log/exim/reject.log; do if ! test -e $i; then touch $i; chown mail:mail $i; chmod 640 $i ; fi done %{fillup_and_insserv exim} exit 0 %if %{?suse_version:%suse_version}%{?!suse_version:0} > 820 %preun %stop_on_removal exim %endif %postun %if %{?suse_version:%suse_version}%{?!suse_version:0} > 820 %restart_on_update exim %endif %insserv_cleanup %verifyscript %verify_permissions -e /usr/sbin/exim %clean %files %defattr(-,root,root) %doc ACKNOWLEDGMENTS CHANGES LICENCE NOTICE README.UPDATING README %doc doc %doc src/configure.default %doc build-Linux-*/convert4r{3,4} %doc util %doc %{_mandir}/man8/* /usr/sbin/exicyclog /usr/sbin/exigrep /usr/sbin/exiqgrep %verify(not mode) %attr(4755,root,root) /usr/sbin/exim /usr/sbin/exim_* /usr/sbin/eximstats /usr/sbin/exinext /usr/sbin/exipick /usr/sbin/exiqsumm /usr/sbin/exiwhat %dir /etc/exim %config /etc/init.d/exim %config(noreplace) /etc/logrotate.d/exim %if %{?suse_version:%suse_version}%{?!suse_version:99999} < 1000 %config(noreplace) /etc/permissions.d/exim %endif %dir /etc/apparmor %dir /etc/apparmor/profiles %dir /etc/apparmor/profiles/extras %config(noreplace) /etc/apparmor/profiles/extras/usr.sbin.exim /usr/sbin/rcexim /usr/bin/mailq /usr/bin/runq /usr/bin/rsmtp /usr/bin/newaliases /usr/sbin/sendmail /usr/lib/sendmail /var/adm/fillup-templates/sysconfig.exim %dir %attr(750,root,mail) /var/log/exim %if !%{?build_with_mysql:1}0 %files -n eximon %defattr(-,root,root) /usr/bin/eximon /usr/bin/eximon.bin %files -n eximstats-html %defattr(-,root,root) %attr(0750,root,www) /srv/www/eximstats /etc/apache2 /etc/apache2/conf.d /etc/apache2/conf.d/eximstats.conf %{_sbindir}/eximstats-html-update.py %endif %changelog