From 7f392e61526e595e55534725085b3d33679cf68c Mon Sep 17 00:00:00 2001 From: Thomas Morper Date: Mon, 1 Aug 2016 23:50:41 +0700 Subject: network/exim: Updated for version 4.87. Signed-off-by: Willy Sudiarto Raharjo --- network/exim/README | 39 +++-------------- network/exim/README.SBo | 30 +++++++++++++ network/exim/exim.Makefile | 101 ++++++++++++++++++++++++++++--------------- network/exim/exim.SlackBuild | 19 +++----- network/exim/exim.info | 6 +-- 5 files changed, 111 insertions(+), 84 deletions(-) create mode 100644 network/exim/README.SBo (limited to 'network/exim') diff --git a/network/exim/README b/network/exim/README index 58c1319e80..64476d0c07 100644 --- a/network/exim/README +++ b/network/exim/README @@ -1,36 +1,11 @@ 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. - -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 - -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 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, +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 and +can be integrated with other email tools such as Clamav, Spamassassin, 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. +Exim was orginally written by Philip Hazel for use in the University of +Cambridge Computing Services e-mail systems. - LOOKUP_LDAP=yes LOOKUP_SQLITE=yes \ - LOOKUP_MYSQL=yes LOOKUP_PGSQL=yes \ - sh exim.SlackBuild +Please see README.SBo for important information on how to build and +install this package. diff --git a/network/exim/README.SBo b/network/exim/README.SBo new file mode 100644 index 0000000000..d2da77c32b --- /dev/null +++ b/network/exim/README.SBo @@ -0,0 +1,30 @@ +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 - see +https://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 database 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_MYSQL=yes \ + LOOKUP_PGSQL=yes \ + LOOKUP_REDIS=yes \ + LOOKUP_SQLITE=yes \ + sh exim.SlackBuild + +For including the Redis and PostgreSQL lookups you'll need the "hiredis" +resp. "postgresql" packages, both available from 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! diff --git a/network/exim/exim.Makefile b/network/exim/exim.Makefile index 3cacc2d8c4..736fa7c9e3 100644 --- a/network/exim/exim.Makefile +++ b/network/exim/exim.Makefile @@ -288,6 +288,11 @@ SUPPORT_MBX=yes # library. # NOTE: LDAP cannot be built as a module! # +# For Redis you need to have hiredis installed on your system +# (https://github.com/redis/hiredis). +# Depending on where it is installed you may have to edit the CFLAGS +# (often += -I/usr/local/include) and LDFLAGS (-lhiredis) lines. + # 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. @@ -306,6 +311,7 @@ LOOKUP_DSEARCH=yes # LOOKUP_ORACLE=yes LOOKUP_PASSWD=yes # LOOKUP_PGSQL=yes +# LOOKUP_REDIS=yes # LOOKUP_SQLITE=yes LOOKUP_SQLITE_PC=sqlite3 # LOOKUP_WHOSON=yes @@ -357,7 +363,8 @@ PCRE_CONFIG=yes # the command for linking Exim itself, not on any auxiliary programs. You # 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. +# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite, -lhiredis +# is for Redis. # # You do not need to use this for any lookup information added via pkg-config. @@ -375,6 +382,10 @@ LOOKUP_INCLUDE+=-I/usr/include/mysql LOOKUP_LIBS+=-L/usr/lib$(LIBDIRSUFFIX)/mysql -lmysqlclient_r endif +ifeq ($(LOOKUP_REDIS),yes) +LOOKUP_LIBS+=-lhiredis +endif + ifeq ($(LOOKUP_PGSQL),yes) LOOKUP_LIBS+=-lpq endif @@ -407,6 +418,7 @@ WITH_CONTENT_SCAN=yes # WITH_OLD_DEMIME=yes +#------------------------------------------------------------------------------ # If you're using ClamAV and are backporting fixes to an old version, instead # of staying current (which is the more usual approach) then you may need to # use an older API which uses a STREAM command, now deprecated, instead of @@ -416,8 +428,9 @@ WITH_CONTENT_SCAN=yes # # WITH_OLD_CLAMAV_STREAM=yes + #------------------------------------------------------------------------------ -# By default Exim includes code to support DKIM (DomainKeys Identified +# If built with TLS, Exim includes code to support DKIM (DomainKeys Identified # Mail, RFC4871) signing and verification. Verification of signatures is # turned on by default. See the spec for information on conditionally # disabling it. To disable the inclusion of the entire feature, set @@ -445,6 +458,10 @@ WITH_CONTENT_SCAN=yes # DISABLE_DNSSEC=yes +# To disable support for Events set DISABLE_EVENT to "yes" + +# DISABLE_EVENT=yes + #------------------------------------------------------------------------------ # Compiling Exim with experimental features. These are documented in @@ -453,6 +470,7 @@ WITH_CONTENT_SCAN=yes # Uncomment the following line to add support for talking to dccifd. This # defaults the socket path to /usr/local/dcc/var/dccifd. +# Doing so will also explicitly turn on the WITH_CONTENT_SCAN option. # EXPERIMENTAL_DCC=yes @@ -473,6 +491,12 @@ WITH_CONTENT_SCAN=yes # CFLAGS += -I/usr/local/include # LDFLAGS += -lsrs_alt +# Uncomment the following line to add DMARC checking capability, implemented +# using libopendmarc libraries. You must have SPF support enabled also. +# EXPERIMENTAL_DMARC=yes +# CFLAGS += -I/usr/local/include +# LDFLAGS += -lopendmarc + # Uncomment the following lines to add Brightmail AntiSpam support. You need # to have the Brightmail client SDK installed. Please check the experimental # documentation for implementation details. You need to edit the CFLAGS and @@ -482,42 +506,12 @@ 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 DMARC checking capability, implemented -# using libopendmarc libraries. -# EXPERIMENTAL_DMARC=yes -# CFLAGS += -I/usr/local/include -# LDFLAGS += -lopendmarc - - -# Uncomment the following line to support Events, -# eg. for logging to a database. -# EXPERIMENTAL_EVENT=yes - -# Uncomment the following line to add Redis lookup support -# You need to have hiredis installed on your system (https://github.com/redis/hiredis). -# Depending on where it is installed you may have to edit the CFLAGS and LDFLAGS lines. -# EXPERIMENTAL_REDIS=yes -# CFLAGS += -I/usr/local/include -# LDFLAGS += -lhiredis - -# Uncomment the following line to enable Experimental Proxy Protocol -# EXPERIMENTAL_PROXY=yes - -# Uncomment the following line to enable support for checking certificate -# ownership -# EXPERIMENTAL_CERTNAMES=yes - # Uncomment the following line to add DANE support # Note: Enabling this unconditionally overrides DISABLE_DNSSEC # EXPERIMENTAL_DANE=yes -# Uncomment the following line to add SOCKS support -# EXPERIMENTAL_SOCKS=yes - -# Uncomment the following to add Internationalisation features. You need to -# have the IDN library installed. -# EXPERIMENTAL_INTERNATIONAL=yes -# LDFLAGS += -lidn +# Uncomment the following to include extra information in fail DSN message (bounces) +# EXPERIMENTAL_DSN_INFO=yes ############################################################################### # THESE ARE THINGS YOU MIGHT WANT TO SPECIFY # @@ -767,6 +761,13 @@ USE_OPENSSL_PC=openssl # USE_GNUTLS_PC=gnutls # TLS_LIBS=-lgnutls -ltasn1 -lgcrypt +# The security fix we provide with the gnutls_allow_auto_pkcs11 option +# (4.82 PP/09) introduces a compatibility regression. The symbol is +# not available if GnuTLS is build without p11-kit (--without-p11-kit +# configure option). In this case use AVOID_GNUTLS_PKCS11=yes when +# building Exim. +# AVOID_GNUTLS_PKCS11=yes + # If you are running Exim as a server, note that just building it with TLS # support is not all you need to do. You also need to set up a suitable # certificate, and tell Exim about it by means of the tls_certificate @@ -929,6 +930,32 @@ EXTRALIBS += -ldl # GNU/Linux -ldl is also needed. +#------------------------------------------------------------------------------ +# Proxying. +# +# If you may want to use outbound (client-side) proxying, using Socks5, +# uncomment the line below. + +# SUPPORT_SOCKS=yes + +# If you may want to use inbound (server-side) proxying, using Proxy Protocol, +# uncomment the line below. + +# SUPPORT_PROXY=yes + + +#------------------------------------------------------------------------------ +# Internationalisation. +# +# Uncomment the following to include Internationalisation features. This is the +# SMTPUTF8 ESMTP extension, and associated facilities for handling UTF8 domain +# and localparts, per RFCs 5890, 6530 and 6533. +# You need to have the IDN library installed. + +SUPPORT_I18N=yes +LDFLAGS += -lidn + + #------------------------------------------------------------------------------ # Support for authentication via Radius is also available. The Exim support, # which is intended for use in conjunction with the SMTP AUTH facilities, @@ -1114,9 +1141,11 @@ HAVE_IPV6=yes # files, and thus be influenced by the value of TMPDIR. For this reason, when # Exim starts, it checks the environment for TMPDIR, and if it finds it is set, # it replaces the value with what is defined here. Commenting this setting -# suppresses the check altogether. +# suppresses the check altogether. Older installations call this macro +# just TMPDIR, but this has side effects at build time. At runtime +# TMPDIR is checked as before. -TMPDIR="/tmp" +EXIM_TMPDIR="/tmp" #------------------------------------------------------------------------------ diff --git a/network/exim/exim.SlackBuild b/network/exim/exim.SlackBuild index 957240bd18..0cf535ca63 100644 --- a/network/exim/exim.SlackBuild +++ b/network/exim/exim.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=exim -VERSION=${VERSION:-4.86.2} +VERSION=${VERSION:-4.87} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -78,14 +78,7 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; # 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_PGSQL=yes \ -# sh exim.SlackBuild -# +# See README.SBo for info on how to enable the database lookups. cat $CWD/exim.Makefile > Local/Makefile # Use a stock config for the Exim Monitor (not built by default). @@ -106,9 +99,8 @@ FULLECHO="" LIBDIRSUFFIX=$LIBDIRSUFFIX DESTDIR=$PKG make -e install find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -# Rename the version specific binary to simply 'exim'. -# e.g. version specific binary for 4.86.2 is 'exim-4.86_2-2' -mv $PKG/usr/sbin/exim-$(echo $VERSION | sed 's/\./_/2')-* $PKG/usr/sbin/exim +# Rename the version specific suid binary to simply 'exim'. +find $PKG/usr/sbin -perm /4000 -exec mv {} $PKG/usr/sbin/exim \; # Additional symlinks provide compatibility with sendmail mkdir -p $PKG/usr/lib # no LIBDIRSUFFIX here! @@ -128,7 +120,8 @@ mkdir -p -m 0750 $PKG/var/spool/exim/{db,input,msglog} chown -R exim.exim $PKG/var/{log,spool}/exim mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a ABOUT ACKNOWLEDGMENTS CHANGES CONTRIBUTING LICENCE* NOTICE README* doc \ +cp -a \ + $CWD/README.SBo ABOUT ACKNOWLEDGMENTS CHANGES CONTRIBUTING LICENCE* NOTICE README* doc \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild diff --git a/network/exim/exim.info b/network/exim/exim.info index 31566e33c4..78ace947c7 100644 --- a/network/exim/exim.info +++ b/network/exim/exim.info @@ -1,8 +1,8 @@ PRGNAM="exim" -VERSION="4.86.2" +VERSION="4.87" HOMEPAGE="http://www.exim.org/" -DOWNLOAD="ftp://ftp.exim.org/pub/exim/exim4/exim-4.86.2.tar.bz2" -MD5SUM="1443a4a88d6b78ad9b6a681c51437b55" +DOWNLOAD="ftp://ftp.exim.org/pub/exim/exim4/exim-4.87.tar.bz2" +MD5SUM="2effc2bd47ad2dc010f655c11a1b1173" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="%README%" -- cgit v1.2.3