Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.3
exim
exim.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File exim.spec of Package exim
# # spec file for package exim # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: exim BuildRequires: db-devel BuildRequires: openldap2-devel BuildRequires: pcre-devel %if %{?suse_version:1}%{?!suse_version:0} BuildRequires: tcpd-devel %if %suse_version > 910 BuildRequires: xorg-x11-devel %else BuildRequires: XFree86-devel BuildRequires: XFree86-libs %endif %else BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libXt-devel BuildRequires: openssl-devel BuildRequires: tcp_wrappers BuildRequires: xorg-x11-server-sdk %endif Url: http://www.exim.org/ Conflicts: sendmail sendmail-tls postfix 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.80.1 Release: 0 %if %{?build_with_mysql:1}0 BuildRequires: mysql-devel Provides: exim = %version %endif %if %{?build_with_pgsql:1}0 BuildRequires: postgresql-devel Provides: exim = %version %endif Summary: The Exim Mail Transfer Agent, a Replacement for sendmail License: GPL-2.0+ Group: Productivity/Networking/Email/Servers 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-tail.patch %if !%{?build_with_mysql:1}0 && !%{?build_with_pgsql: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 Requires: perl-GDGraph Requires: 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. %if !%{?build_with_mysql:1}0 && !%{?build_with_pgsql: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. %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.) %endif %prep %setup -q -n exim-%{version} %patch # 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 %if %{?suse_version:%suse_version}%{?!suse_version:99999} > 1100 CFLAGS_OPT_WERROR="-Werror=format-security -Werror=missing-format-attribute" %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 %if %{?build_with_pgsql:1}0 LOOKUP_PGSQL=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 %if %{?build_with_pgsql:1}0 LOOKUP_INCLUDE=-I /usr/include/pgsql LOOKUP_LIBS=-lldap -llber -lpq %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 $CFLAGS_OPT_WERROR -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 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 && !%{?build_with_pgsql: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 # # package the utilities without executable permissions, to silence rpmlint warnings chmod 644 util/*.{pl,sh} src/convert4r* # # 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 && !%{?build_with_pgsql: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 %if 0%{?suse_version} < 1131 %run_permissions %else %set_permissions /usr/sbin/exim %endif 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/%{name}/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,mail,mail) /var/log/exim %if !%{?build_with_mysql:1}0 && !%{?build_with_pgsql: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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor