From 585c78f0a98d34e1c7e0793ca2adaf60a8cb6ed5 Mon Sep 17 00:00:00 2001 From: Thomas Morper Date: Sat, 30 Jun 2012 12:07:31 -0400 Subject: network/exim: Updated for version 4.80. Signed-off-by: dsomero --- network/exim/README | 22 ++++++---- network/exim/exim.Makefile | 98 ++++++++++++++++++++++++++++++++++---------- network/exim/exim.SlackBuild | 40 ++++++++++++++---- network/exim/exim.info | 8 ++-- 4 files changed, 128 insertions(+), 40 deletions(-) (limited to 'network') diff --git a/network/exim/README b/network/exim/README index d0a766b39b55..42cf5ce76bc3 100644 --- a/network/exim/README +++ b/network/exim/README @@ -1,24 +1,24 @@ -Exim is a mail transfer agent (MTA) used on Unix-like operating systems. -It is freely available under the GNU GPL and it aims to be a general +Exim is a mail transfer agent (MTA) used on Unix-like operating systems. +It is freely available under the GNU GPL and it aims to be a general and flexible mailer with extensive facilities for checking incoming e-mail. -Exim was orginally written by Philip Hazel for use in the University -of Cambridge Computing Services e-mail systems. +Exim was orginally written by Philip Hazel for use in the University +of Cambridge Computing Services e-mail systems. Before you can build Exim, you have to create an "exim" user and group: # groupadd -g 222 exim # useradd -d /var/spool/exim -g exim -s /bin/false -u 222 exim -The recommended uid/gid is 222, but others are fine if you prefer - +The recommended uid/gid is 222, but others are fine if you prefer - see http://slackbuilds.org/uid_gid.txt for other recommendations. There's no "configure" script; instead Exim is configured by editing a well documented Makefile, which is then included during the build process. The provided "exim.Makefile" will build an all-purpose Exim daemon with the most common features. The various database lookup methods will not be -built by default but can be enabled easily by uncommenting a few lines in -the Makefile. +built by default but can be enabled easily on the command line or by +editing a few lines in the Makefile. Exim can be integrated with other email tools such as Clamav, Spamassassin, Bogofilter, and others available at Slackbuilds.org. @@ -26,3 +26,11 @@ Bogofilter, and others available at Slackbuilds.org. WARNING: this package is intended as a drop-in replacement for Sendmail. As a result, there are some inevitable filename conflicts between Sendmail and Exim. REMOVE SENDMAIL BEFORE INSTALLING THIS PACKAGE! + +The SQL- and LDAP-lookups will not be built by default, +but you can enable them easily by passing the directives +on the command line when calling this script, e.g. + + LOOKUP_LDAP=yes LOOKUP_SQLITE=yes \ + LOOKUP_MYSQL=yes LOOKUP_POSTGRES=yes \ + sh exim.SlackBuild diff --git a/network/exim/exim.Makefile b/network/exim/exim.Makefile index 9f14ed0de501..97c90e5b5965 100644 --- a/network/exim/exim.Makefile +++ b/network/exim/exim.Makefile @@ -248,11 +248,19 @@ SUPPORT_MBX=yes #------------------------------------------------------------------------------ # See below for dynamic lookup modules. -# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ +# # If not using package management but using this anyway, then think about how # you perform upgrades and revert them. You should consider the benefit of # embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can # maintain two concurrent sets of modules. +# +# *BEWARE*: ability to modify the files in LOOKUP_MODULE_DIR is equivalent to +# the ability to modify the Exim binary, which is often setuid root! The Exim +# developers only intend this functionality be used by OS software packagers +# and we suggest that such packagings' integrity checks should be paranoid +# about the permissions of the directory and the files within. + +# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/ # To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for # your platform. Eg: @@ -279,6 +287,10 @@ SUPPORT_MBX=yes # the dynamic library and not the exim binary will be linked against the # library. # NOTE: LDAP cannot be built as a module! +# +# If your system has pkg-config then the _INCLUDE/_LIBS setting can be +# handled for you automatically by also defining the _PC variable to reference +# the name of the pkg-config package, if such is available. LOOKUP_DBM=yes LOOKUP_LSEARCH=yes @@ -287,7 +299,7 @@ LOOKUP_DNSDB=yes LOOKUP_CDB=yes LOOKUP_DSEARCH=yes # LOOKUP_IBASE=yes -LOOKUP_LDAP=yes +# LOOKUP_LDAP=yes # LOOKUP_MYSQL=yes # LOOKUP_NIS=yes # LOOKUP_NISPLUS=yes @@ -295,6 +307,7 @@ LOOKUP_LDAP=yes LOOKUP_PASSWD=yes # LOOKUP_PGSQL=yes # LOOKUP_SQLITE=yes +LOOKUP_SQLITE_PC=sqlite3 # LOOKUP_WHOSON=yes # These two settings are obsolete; all three lookups are compiled when @@ -329,10 +342,13 @@ LDAP_LIB_TYPE=OPENLDAP2 # In either case you must specify the library link info here. If the # PCRE header files are not in the standard search path you must also # modify the INCLUDE path (above) -# The default setting of PCRE_LIBS should work on the vast majority of -# systems +# +# Use PCRE_CONFIG to query the pcre-config command (first found in $PATH) +# to find the include files and libraries, else use PCRE_LIBS and set INCLUDE +# too if needed. -PCRE_LIBS=-lpcre +PCRE_CONFIG=yes +# PCRE_LIBS=-lpcre #------------------------------------------------------------------------------ @@ -342,22 +358,26 @@ PCRE_LIBS=-lpcre # don't need to set LOOKUP_INCLUDE if the relevant directories are already # specified in INCLUDE. The settings below are just examples; -lpq is for # PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite. +# +# You do not need to use this for any lookup information added via pkg-config. -LOOKUP_INCLUDE= -LOOKUP_LIBS=-lldap +# 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 -lgds -lsqlite3 -# Uncomment for MySQL lookups. -#LOOKUP_MYSQL=yes -#LOOKUP_INCLUDE+=-I/usr/include/mysql -#LOOKUP_LIBS+=-L/usr/lib$(LIBDIRSUFFIX)/mysql -lmysqlclient_r +# ...or just enable your favourite lookups and let GNUmake handle the rest -# Uncomment for PostgreSQL lookups. -#LOOKUP_PGSQL=yes -#LOOKUP_LIBS+=-lpq +ifeq ($(LOOKUP_LDAP),yes) +LOOKUP_LIBS+=-lldap +endif -# Uncomment for SQLite lookups. -#LOOKUP_SQLITE=yes -#LOOKUP_LIBS+=-lsqlite3 +ifeq ($(LOOKUP_MYSQL),yes) +LOOKUP_INCLUDE+=-I/usr/include/mysql +LOOKUP_LIBS+=-L/usr/lib$(LIBDIRSUFFIX)/mysql -lmysqlclient_r +endif + +ifeq ($(LOOKUP_PGSQL),yes) +LOOKUP_LIBS+=-lpq +endif #------------------------------------------------------------------------------ @@ -411,6 +431,11 @@ WITH_CONTENT_SCAN=yes # experimental-spec.txt. "Experimental" means that the way these features are # implemented may still change. Backward compatibility is not guaranteed. +# Uncomment the following line to add support for talking to dccifd. This +# defaults the socket path to /usr/local/dcc/var/dccifd. + +# EXPERIMENTAL_DCC=yes + # Uncomment the following lines to add SPF support. You need to have libspf2 # installed on your system (www.libspf2.org). Depending on where it is installed # you may have to edit the CFLAGS and LDFLAGS lines. @@ -437,6 +462,11 @@ WITH_CONTENT_SCAN=yes # CFLAGS += -I/opt/brightmail/bsdk-6.0/include # LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib +# Uncomment the following line to add OCSP stapling support in TLS, if Exim +# was built using OpenSSL. + +# EXPERIMENTAL_OCSP=yes + ############################################################################### @@ -566,6 +596,10 @@ FIXED_NEVER_USERS=root AUTH_CRAM_MD5=yes AUTH_CYRUS_SASL=yes AUTH_DOVECOT=yes +# AUTH_GSASL=yes +# AUTH_GSASL_PC=libgsasl +# AUTH_HEIMDAL_GSSAPI=yes +# AUTH_HEIMDAL_GSSAPI_PC=heimdal-gssapi AUTH_PLAINTEXT=yes AUTH_SPA=yes @@ -573,9 +607,13 @@ AUTH_SPA=yes #------------------------------------------------------------------------------ # If you specified AUTH_CYRUS_SASL above, you should ensure that you have the # Cyrus SASL library installed before trying to build Exim, and you probably -# want to uncomment the following line: +# want to uncomment the first line below. +# Similarly for GNU SASL, unless pkg-config is used via AUTH_GSASL_PC. +# Ditto for AUTH_HEIMDAL_GSSAPI(_PC). AUTH_LIBS=-lsasl2 +# AUTH_LIBS=-lgsasl +# AUTH_LIBS=-lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lhcrypto -lasn1 -lwind -lroken -lcrypt #------------------------------------------------------------------------------ @@ -668,11 +706,14 @@ HEADERS_CHARSET="ISO-8859-1" # This setting is required for any TLS support (either OpenSSL or GnuTLS) SUPPORT_TLS=yes -# Uncomment this setting if you are using OpenSSL -TLS_LIBS=-lssl -lcrypto +# Uncomment one of these settings if you are using OpenSSL; pkg-config vs not +USE_OPENSSL_PC=openssl +# TLS_LIBS=-lssl -lcrypto -# Uncomment these settings if you are using GnuTLS +# Uncomment the first and either the second or the third of these if you +# are using GnuTLS. If you have pkg-config, then the second, else the third. # USE_GNUTLS=yes +# USE_GNUTLS_PC=gnutls # TLS_LIBS=-lgnutls -ltasn1 -lgcrypt # If you are running Exim as a server, note that just building it with TLS @@ -683,6 +724,11 @@ TLS_LIBS=-lssl -lcrypto # if you are running Exim only as a client, building it with TLS support # is all you need to do. +# If you are using pkg-config then you should not need to worry where the +# libraries and headers are installed, as the pkg-config .pc specification +# should include all -L/-I information necessary. If not using pkg-config +# then you might need to specify the locations too. + # Additional libraries and include files are required for both OpenSSL and # GnuTLS. The TLS_LIBS settings above assume that the libraries are installed # with all your other libraries. If they are in a special directory, you may @@ -962,6 +1008,10 @@ USE_READLINE=yes # dynamic loading library is not otherwise included. +#------------------------------------------------------------------------------ +# Uncomment this setting to include IPv6 support. + +# HAVE_IPV6=yes ############################################################################### # THINGS YOU ALMOST NEVER NEED TO MENTION # @@ -1177,6 +1227,12 @@ TMPDIR="/tmp" # PERL_LIBS= +#------------------------------------------------------------------------------ +# If you wish to disable valgrind in the binary, define NVALGRIND=1. +# This should not be needed. + +# NVALGRIND=1 + #------------------------------------------------------------------------------ # Identifying the daemon: When an Exim daemon starts up, it writes its pid # (process id) to a file so that it can easily be identified. The path of the diff --git a/network/exim/exim.SlackBuild b/network/exim/exim.SlackBuild index be6051926850..ad974a6555a4 100644 --- a/network/exim/exim.SlackBuild +++ b/network/exim/exim.SlackBuild @@ -1,23 +1,37 @@ #!/bin/sh +# vim: ts=2 sts=2 sw=2 expandtab # Slackware build script for Exim -# Written by Thomas Morper -# Thanks to Thales A. Tsailas and the SBo team -# for the previous version and the accompanying files. -# Thanks to Debian for the manpages. +# Copyright 2012 Thomas Morper, Augsburg, Germany +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=exim -VERSION=${VERSION:-4.77} +VERSION=${VERSION:-4.80} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi @@ -61,8 +75,18 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Copy the Makefile and a stock config for eximon +# This is our custom config for an all-purpose Exim daemon. +# The SQL- and LDAP-lookups will not be built by default, +# but you can enable them easily by passing the directives +# on the command line when calling this script, e.g. +# +# LOOKUP_LDAP=yes LOOKUP_SQLITE=yes \ +# LOOKUP_MYSQL=yes LOOKUP_POSTGRES=yes \ +# sh exim.SlackBuild +# cat $CWD/exim.Makefile > Local/Makefile + +# Use a stock config for the Exim Monitor (not built by default). cat exim_monitor/EDITME > Local/eximon.conf # Use the Exim build system to set the architecture-specific CFLAGS. diff --git a/network/exim/exim.info b/network/exim/exim.info index 8c6f5e71cfd9..146cd4687e73 100644 --- a/network/exim/exim.info +++ b/network/exim/exim.info @@ -1,10 +1,10 @@ PRGNAM="exim" -VERSION="4.77" +VERSION="4.80" HOMEPAGE="http://www.exim.org/" -DOWNLOAD="ftp://ftp.exim.org/pub/exim/exim4/exim-4.77.tar.bz2" -MD5SUM="5d746275f2cc85845567f9d5eb84a57a" +DOWNLOAD="ftp://ftp.exim.org/pub/exim/exim4/exim-4.80.tar.bz2" +MD5SUM="de93a242e9e148de28d67056e5c1b34f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" MAINTAINER="Thomas Morper" EMAIL="thomas@beingboiled.info" -APPROVED="rworkman" +APPROVED="dsomero" -- cgit v1.2.3