summaryrefslogtreecommitdiff
path: root/network/exim
diff options
context:
space:
mode:
Diffstat (limited to 'network/exim')
-rw-r--r--network/exim/README22
-rw-r--r--network/exim/exim.Makefile98
-rw-r--r--network/exim/exim.SlackBuild40
-rw-r--r--network/exim/exim.info8
4 files changed, 128 insertions, 40 deletions
diff --git a/network/exim/README b/network/exim/README
index d0a766b39b..42cf5ce76b 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 9f14ed0de5..97c90e5b59 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 #
@@ -1178,6 +1228,12 @@ TMPDIR="/tmp"
#------------------------------------------------------------------------------
+# 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
# file can be specified here. Some installations may want something like this:
diff --git a/network/exim/exim.SlackBuild b/network/exim/exim.SlackBuild
index be60519268..ad974a6555 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 <thomas@beingboiled.info>
-# Thanks to Thales A. Tsailas <ttsailas@enforcingit.com> 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 8c6f5e71cf..146cd4687e 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"