aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/Makefile2
-rw-r--r--mail/exim-devel/Makefile236
-rw-r--r--mail/exim-devel/distinfo2
-rw-r--r--mail/exim-devel/files/POST-INSTALL-NOTES40
-rw-r--r--mail/exim-devel/files/exim.sh27
-rw-r--r--mail/exim-devel/files/patch-OS::Makefile-FreeBSD10
-rw-r--r--mail/exim-devel/files/patch-doc::spec.txt22
-rw-r--r--mail/exim-devel/files/patch-scripts::exim_install50
-rw-r--r--mail/exim-devel/files/patch-src::EDITME103
-rw-r--r--mail/exim-devel/files/patch-src::configure.default40
-rw-r--r--mail/exim-devel/pkg-comment1
-rw-r--r--mail/exim-devel/pkg-descr9
-rw-r--r--mail/exim-devel/pkg-install36
-rw-r--r--mail/exim-devel/pkg-message7
-rw-r--r--mail/exim-devel/pkg-plist35
-rw-r--r--mail/exim-doc-html/Makefile4
-rw-r--r--mail/exim-monitor/Makefile2
-rw-r--r--mail/exim/Makefile61
-rw-r--r--mail/exim/distinfo4
-rw-r--r--mail/exim/files/POST-INSTALL-NOTES29
-rw-r--r--mail/exim/files/patch-..::exim-texinfo-3.30::doc::spec.texinfo22
-rw-r--r--mail/exim/files/patch-scripts::exim_install41
-rw-r--r--mail/exim/files/patch-src::EDITME169
-rw-r--r--mail/exim/files/patch-src::configure.default59
-rw-r--r--mail/exim/files/patch-xxx::no_fsync103
-rw-r--r--mail/exim/pkg-install11
-rw-r--r--mail/exim/pkg-plist14
27 files changed, 205 insertions, 934 deletions
diff --git a/mail/Makefile b/mail/Makefile
index eaf054bb255b..cf4081809e8f 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -43,7 +43,6 @@
SUBDIR += emil
SUBDIR += evolution
SUBDIR += exim
- SUBDIR += exim-devel
SUBDIR += exim-doc-html
SUBDIR += exim-doc-pdf
SUBDIR += exim-doc-postscript
@@ -51,6 +50,7 @@
SUBDIR += exim-ldap2
SUBDIR += exim-monitor
SUBDIR += exim-mysql
+ SUBDIR += exim-old
SUBDIR += exim-postgresql
SUBDIR += exmh2
SUBDIR += ezmlm
diff --git a/mail/exim-devel/Makefile b/mail/exim-devel/Makefile
deleted file mode 100644
index ffa1476a744d..000000000000
--- a/mail/exim-devel/Makefile
+++ /dev/null
@@ -1,236 +0,0 @@
-# New ports collection makefile for: exim
-# Date created: 23 June 1996
-# Whom: markm@FreeBSD.org
-#
-# $FreeBSD$
-#
-
-PORTNAME= exim
-PORTVERSION= ${EXIM_VERSION}
-CATEGORIES= mail
-MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/ \
- http://www.exim.org/ftp/exim4/ \
- ftp://ftp.is.co.za/networking/mail/transport/exim/exim4/
-DISTFILES= exim-${EXIM_VERSION}.tar.bz2 \
- exim-texinfo-${EXIM_DOCVERSION}.tar.bz2
-
-MAINTAINER= sheldonh@FreeBSD.org
-
-NO_LATEST_LINK= yes
-
-USE_BZIP2= yes
-
-MAN8= exim.8
-
-EXIM_VERSION= 4.10
-EXIM_DOCVERSION= 4.10
-
-PLIST_SUB+= EXIM_VERSION="${EXIM_VERSION}"
-
-.if defined(NOPORTDOCS)
-PKGMESSAGE= ${FILESDIR}/POST-INSTALL-NOTES
-.endif
-
-MAKE_ENV+= OSTYPE=${OPSYS} ARCHTYPE=${MACHINE_ARCH}
-
-# If WITH_EXIMON is defined, the eximon monitor, which requires X,
-# will be made a dependency. Note that using WITH_EXIMON will cause
-# XFree86 to be installed if it is not present.
-#WITH_EXIMON= yes
-
-# Define WITH_TCP_WRAPPERS, WITH_LDAP, WITH_MYSQL, and WITH_PGSQL to
-# link against libwrap, an LDAP library (see below), liblibmysqlclient
-# and libpq respectively. Define WITH_PWCHECK to link against libsasl
-# for SMTP AUTH authentication via the Cyrus SASL pwcheck daemon.
-#WITH_TCP_WRAPPERS= yes
-#WITH_LDAP= yes
-#WITH_MYSQL= yes
-#WITH_PGSQL= yes
-#WITH_PWCHECK= yes
-
-# Define WITHOUT_IPV6 to exclude IPv6 support from the compiled exim
-# binary. Exim compiled with IPv6 support will still operate on
-# systems that do not have IPv6 kernel support, so this should not
-# be necessary.
-#WITHOUT_IPV6= yes
-
-# If WITH_LDAP is defined, LDAP_LIB_TYPE must be either OPENLDAP1 or
-# OPENLDAP2. UMICHIGAN is an alias for OPENLDAP1. Exim also supports
-# NETSCAPE and SOLARIS7 lookup types, but no client libraries exist
-# for these in the ports tree.
-LDAP_LIB_TYPE?=OPENLDAP1
-
-# The following options may be defined to turn off support for various
-# features that this port enables by default.
-#
-# Do not link against OpenSSL; disables STARTTLS.
-#WITHOUT_TLS= yes
-#
-# Disable the embedded Perl interpreter, which allows Perl subroutines to
-# be called during string expansion.
-#WITHOUT_PERL= yes
-#
-# Disable built-in Exim support for the PAM, RFC 2195 and RFC 2595
-# authentication mechanisms, used for SMTP AUTH.
-#WITHOUT_PAM= yes
-#WITHOUT_AUTH_CRAM_MD5= yes
-#WITHOUT_AUTH_PLAINTEXT= yes
-#
-# Disable built-in Exim support for additional mailbox formats.
-#WITHOUT_MAILDIR= yes
-#WITHOUT_MAILSTORE= yes
-#WITHOUT_MBX= yes
-#
-# Disable support for CDB-style lookups.
-#WITHOUT_CDB= yes
-#
-# Disable support for the LMTP (RFC 2033 "SMTP over command pipe")
-# transport.
-#WITHOUT_LMTP
-
-# You should not need to fiddle with anything below this point.
-
-.if defined(WITH_EXIMON)
-RUN_DEPENDS= ${LOCALBASE}/sbin/eximon:${PORTSDIR}/mail/exim-monitor
-.endif
-
-.include <bsd.port.pre.mk>
-
-PORTDOC_FILES= Exim3.upgrade Exim4.upgrade OptionLists.txt README \
- dbm.discuss.txt exim.8 filter.txt pcre.txt pcretest.txt \
- spec.txt
-
-.if ${OSVERSION} < 400014
-WITHOUT_IPV6= yes
-.endif
-
-SEDLIST= -e 's,XX_PREFIX_XX,${PREFIX},'
-
-.if !defined(WITHOUT_TLS)
-SEDLIST+= -e 's,^\# SUPPORT_TLS=,SUPPORT_TLS=,'
-.else
-SEDLIST+= -e 's,^TLS_LIBS=,\#TLS_LIBS=,'
-.endif
-
-.if !defined(WITHOUT_PERL)
-SEDLIST+= -e 's,^\# EXIM_PERL=,EXIM_PERL=,'
-.endif
-
-.if defined(WITH_TCP_WRAPPERS)
-SEDLIST+= -e 's,XX_TCP_WRAPPERS_LIBS_XX,-lwrap,' \
- -e 's,^\# USE_TCP_WRAPPERS=,USE_TCP_WRAPPERS=,'
-.else
-SEDLIST+= -e 's,XX_TCP_WRAPPERS_LIBS_XX,,'
-.endif
-
-.if defined(WITH_LDAP)
-.if (${LDAP_LIB_TYPE} == OPENLDAP1) || (${LDAP_LIB_TYPE} == UMICHIGAN)
-LIB_DEPENDS+= lber.1:${PORTSDIR}/net/openldap
-.elif ${LDAP_LIB_TYPE} == OPENLDAP2
-LIB_DEPENDS+= lber.2:${PORTSDIR}/net/openldap2
-.else
-.error LDAP_LIB_TYPE must be either OPENLDAP1 or OPENLDAP2
-.endif
-SEDLIST+= -e 's,XX_LDAP_LIBS_XX,-L${LOCALBASE}/lib -llber -lldap,' \
- -e 's,XX_LDAP_INCLUDE_XX,-I${LOCALBASE}/include,' \
- -e 's,XX_LDAP_TYPE_XX,${LDAP_LIB_TYPE},' \
- -e 's,^\# LOOKUP_LDAP=,LOOKUP_LDAP=,'
-.else
-SEDLIST+= -e 's,XX_LDAP_[^ ]*_XX,,' \
- -e 's,^LDAP_LIB_TYPE=,\#LDAP_LIB_TYPE=,'
-.endif
-
-.if defined(WITH_MYSQL)
-LIB_DEPENDS+= mysqlclient.10:${PORTSDIR}/databases/mysql323-client
-SEDLIST+= -e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE}/lib/mysql -lmysqlclient,' \
- -e 's,XX_MYSQL_INCLUDE_XX,-I${LOCALBASE}/include/mysql,' \
- -e 's,^\# LOOKUP_MYSQL=,LOOKUP_MYSQL=,'
-.else
-SEDLIST+= -e 's,XX_MYSQL_[^ ]*_XX,,'
-.endif
-
-.if defined(WITH_PWCHECK)
-RUN_DEPENDS+= ${LOCALBASE}/sbin/pwcheck:${PORTSDIR}/security/cyrus-sasl
-SEDLIST+= -e 's,^\# SUPPORT_CYRUS_PWCHECK=,SUPPORT_CYRUS_PWCHECK=,' \
- -e 's,^\# CYRUS_PWCHECK_SOCKET=,CYRUS_PWCHECK_SOCKET=,'
-.endif
-
-.if !defined(WITHOUT_PAM)
-SEDLIST+= -e 's,XX_PAM_LIBS_XX,-lpam,' \
- -e 's,^\# SUPPORT_PAM=,SUPPORT_PAM=,'
-.else
-SEDLIST+= -e 's,XX_PAM_LIBS_XX,,'
-.endif
-
-.if !defined(WITHOUT_AUTH_CRAM_MD5)
-SEDLIST+= -e 's,^\# AUTH_CRAM_MD5=,AUTH_CRAM_MD5=,'
-.endif
-
-.if !defined(WITHOUT_AUTH_PLAINTEXT)
-SEDLIST+= -e 's,^\# AUTH_PLAINTEXT=,AUTH_PLAINTEXT=,'
-.endif
-
-.if defined(WITH_PGSQL)
-LIB_DEPENDS+= pq.2:${PORTSDIR}/databases/postgresql7
-SEDLIST+= -e 's,XX_PGSQL_LIBS_XX,-L${LOCALBASE}/lib -lpq,' \
- -e 's,XX_PGSQL_INCLUDE_XX,-I${LOCALBASE}/include/pgsql,' \
- -e 's,^\# LOOKUP_PGSQL=,LOOKUP_PGSQL=,'
-.else
-SEDLIST+= -e 's,XX_PGSQL_[^ ]*_XX,,'
-.endif
-
-.if !defined(WITHOUT_IPV6)
-SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,'
-.endif
-
-.if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(WITH_LDAP)
-SEDLIST+= -e 's,^LOOKUP_LIBS=,\#LOOKUP_LIBS=,' \
- -e 's,^LOOKUP_INCLUDE=,\#LOOKUP_INCLUDE=,'
-.endif
-
-.if !defined(WITHOUT_MAILDIR)
-SEDLIST+= -e 's,^\# SUPPORT_MAILDIR=,SUPPORT_MAILDIR=,'
-.endif
-
-.if !defined(WITHOUT_MAILSTORE)
-SEDLIST+= -e 's,^\# SUPPORT_MAILSTORE=,SUPPORT_MAILSTORE=,'
-.endif
-
-.if !defined(WITHOUT_MBX)
-SEDLIST+= -e 's,^\# SUPPORT_MBX=,SUPPORT_MBX=,'
-.endif
-
-.if !defined(WITHOUT_CDB)
-SEDLIST+= -e 's,^\# LOOKUP_CDB=,LOOKUP_CDB=,'
-.endif
-
-.if !defined(WITHOUT_LMTP)
-SEDLIST+= -e 's,^\# TRANSPORT_LMTP=,TRANSPORT_LMTP=,'
-.endif
-
-do-configure:
- ${MKDIR} ${WRKSRC}/Local
- ${SED} ${SEDLIST} < ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
- cd ${WRKSRC}/doc && \
- for i in ../../exim-texinfo-${EXIM_DOCVERSION}/doc/* ; do \
- ${LN} -sf $$i ; \
- done
-
-pre-install:
- @PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-
-post-install:
- ${INSTALL_SCRIPT} ${FILESDIR}/exim.sh ${PREFIX}/etc/rc.d
-.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/exim
- ${INSTALL_DATA} ${FILESDIR}/POST-INSTALL-NOTES ${PREFIX}/share/doc/exim
-.for file in ${PORTDOC_FILES}
- ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${PREFIX}/share/doc/exim
-.endfor
-.for file in ${MAN8}
- ${INSTALL_MAN} ${WRKSRC}/doc/${file} ${PREFIX}/man/man8
-.endfor
-.endif
- @${CAT} ${PKGMESSAGE}
-
-.include <bsd.port.post.mk>
diff --git a/mail/exim-devel/distinfo b/mail/exim-devel/distinfo
deleted file mode 100644
index afd4701097c9..000000000000
--- a/mail/exim-devel/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 (exim-4.10.tar.bz2) = eb92cbba59bb2320b9912c46cd3fa4d0
-MD5 (exim-texinfo-4.10.tar.bz2) = 2a2a34a2457d249d568a58e985f263c0
diff --git a/mail/exim-devel/files/POST-INSTALL-NOTES b/mail/exim-devel/files/POST-INSTALL-NOTES
deleted file mode 100644
index ee8e4cfe70a6..000000000000
--- a/mail/exim-devel/files/POST-INSTALL-NOTES
+++ /dev/null
@@ -1,40 +0,0 @@
-The following documentation has been installed:
-
- info Exim -> Exim Specification (User Guide)
- info 'Exim Filtering' -> Exim Filter Specification (for end-users)
-
-In addition, plain text versions of these documents have been installed
-as:
-
- ${PREFIX}/share/doc/exim/filter.txt
- ${PREFIX}/share/doc/exim/spec.txt
-
-Postscript, PDF, HTML and plain text versions of these documents, as well
-as a comprehensive FAQ list, are available at http://www.exim.org/ .
-
-To use Exim instead of sendmail on startup:
-
-*) Create exim/configure from exim/configure.default .
-*) Clear the sendmail queue and stop the sendmail daemon.
-*) Adjust mailer.conf(5) as appropriate.
-*) Set the 'sendmail_enable' rc.conf(5) variable to 'NO'.
-*) Set the 'daily_status_include_submit_mailq' periodic.conf(5) variable
- to 'NO'.
-*) Start exim with '${PREFIX}/etc/rc.d/exim.sh start'.
-
-You may also want to configure newsyslog(8) to rotate Exim log files:
-
-/var/log/exim/mainlog mailnull:mail 640 7 * @T00 Z
-/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 Z
-
-NOTE TO OPERATORS UPGRADING FROM exim-3.xx:
-
-There was a big reworking of the way mail routing works for release
-4.00. Previously used "directors" were abolished, and all routing is
-now done by routers. Policy controls for incoming mail are now done by
-Access Control Lists instead of separate options. All this means that
-pre-4.00 configuration files have to be massively converted. If you
-are coming from a 3.xx release, please read the document in the file
-${PREFIX}/share/doc/exim/Exim4.upgrade, and allow some time to complete
-the upgrade.
-
diff --git a/mail/exim-devel/files/exim.sh b/mail/exim-devel/files/exim.sh
deleted file mode 100644
index 09e3e6ef9eb6..000000000000
--- a/mail/exim-devel/files/exim.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-#
-# $Id$
-#
-# Note that 'pidfile' may need to be changed if 'args' is altered; see
-# the description of the 'pid_file_path' Exim configuration option in
-# the Exim Specification.
-#
-args='-bd -q30m'
-pidfile='/var/run/exim.pid'
-
-case "$1" in
-start)
- [ -x /usr/local/sbin/exim ] && /usr/local/sbin/exim ${args} && \
- echo -n ' exim'
- ;;
-stop)
- kill `cat ${pidfile}` && echo -n ' exim'
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- exit 64
- ;;
-esac
-
-exit 0
-
diff --git a/mail/exim-devel/files/patch-OS::Makefile-FreeBSD b/mail/exim-devel/files/patch-OS::Makefile-FreeBSD
deleted file mode 100644
index 58f6355e13d8..000000000000
--- a/mail/exim-devel/files/patch-OS::Makefile-FreeBSD
+++ /dev/null
@@ -1,10 +0,0 @@
---- OS/Makefile-FreeBSD.orig Mon Jun 11 12:04:05 2001
-+++ OS/Makefile-FreeBSD Mon Jun 11 12:04:33 2001
-@@ -5,6 +5,7 @@
- PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
-
- CHOWN_COMMAND=/usr/sbin/chown
-+STRIP_COMMAND=/usr/bin/strip
-
- HAVE_SA_LEN=YES
-
diff --git a/mail/exim-devel/files/patch-doc::spec.txt b/mail/exim-devel/files/patch-doc::spec.txt
deleted file mode 100644
index 4d7ad28cf598..000000000000
--- a/mail/exim-devel/files/patch-doc::spec.txt
+++ /dev/null
@@ -1,22 +0,0 @@
---- doc/spec.txt.orig Wed Dec 19 13:50:32 2001
-+++ doc/spec.txt Tue Jan 15 15:52:05 2002
-@@ -14403,6 +14403,19 @@
- be adequate for all your requirements if you are mainly interested in
- encrypting transfers, and not in secure identification.
-
-+However, many clients require that the certificate presented by Exim be a user
-+(also called "leaf" or "site") certificate, and not a self-signed certificate.
-+In this case, the self-signed certificate described above must be installed on
-+the client host as a trusted root certification authority and the certificate
-+used by Exim must be a user certificate signed with that self-signed
-+certificate.
-+
-+For information on creating self-signed CA certificates and using them to sign
-+user certificates, see the "General implementation overview" chapter of the
-+Open-source PKI Book, available online at:
-+
-+ http://ospkibook.sourceforge.net/
-+
-
-
- 39. CUSTOMIZING ERROR AND WARNING MESSAGES
diff --git a/mail/exim-devel/files/patch-scripts::exim_install b/mail/exim-devel/files/patch-scripts::exim_install
deleted file mode 100644
index ea626829cc31..000000000000
--- a/mail/exim-devel/files/patch-scripts::exim_install
+++ /dev/null
@@ -1,50 +0,0 @@
---- scripts/exim_install.orig Fri Nov 23 17:31:15 2001
-+++ scripts/exim_install Wed Dec 19 14:38:06 2001
-@@ -293,30 +293,15 @@
-
- echo $com ""
-
--if [ ! -f ${CONFIGURE_FILE} ]; then
-- echo $com Installing default configuration in ${CONFIGURE_FILE}
-- echo $com because there is no existing configuration file.
-- echo ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
-- ${real} ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
-- echo ${CP} ../src/configure.default ${CONFIGURE_FILE}
-- ${real} ${CP} ../src/configure.default ${CONFIGURE_FILE}
-+ echo $com Installing default configuration file in ${CONFIGURE_FILE%/*}/configure.default
-+ ${real} mkdir -p ${CONFIGURE_FILE%/*}
-+ echo ${CP} ../src/configure.default ${CONFIGURE_FILE%/*}
-+ ${real} ${CP} ../src/configure.default ${CONFIGURE_FILE%/*}
- if [ $? -ne 0 ]; then
- echo $com ""
- echo $com "*** Exim installation ${ver}failed ***"
- exit 1
- fi
-- if [ ! -f /etc/aliases ]; then
-- echo $com '****'
-- echo $com Installing a dummy /etc/aliases file because you do not have
-- echo $com one, and the default configuration requires it. You should
-- echo $com edit /etc/aliases and at least create an alias for postmaster.
-- echo $com '***'
-- echo ${CP} ../src/aliases.default /etc/aliases
-- ${real} ${CP} ../src/aliases.default /etc/aliases
-- fi
--else
-- echo $com Configuration file ${CONFIGURE_FILE} already exists
--fi
-
- # Install info files if the directory is defined and the Texinfo
- # source documentation is present.
-@@ -338,12 +323,6 @@
- echo $com Info installation directory is ${INFO_DIRECTORY}
- echo $com ""
-
-- makeinfo --no-split --output exim_overview.info ../doc/oview.texinfo
-- echo ${CP} exim_overview.info ${INFO_DIRECTORY}
-- ${real} ${CP} exim_overview.info ${INFO_DIRECTORY}
-- install-info --section="Exim" \
-- --entry "* Overview: (exim_overview). Overview of the Exim system" \
-- ${INFO_DIRECTORY}/exim_overview.info ${INFO_DIRECTORY}/dir
- makeinfo --no-split --output exim.info ../doc/spec.texinfo
- echo ${CP} exim.info ${INFO_DIRECTORY}
- ${real} ${CP} exim.info ${INFO_DIRECTORY}
diff --git a/mail/exim-devel/files/patch-src::EDITME b/mail/exim-devel/files/patch-src::EDITME
deleted file mode 100644
index 0ed96f15c987..000000000000
--- a/mail/exim-devel/files/patch-src::EDITME
+++ /dev/null
@@ -1,103 +0,0 @@
---- src/EDITME.orig Tue Dec 18 22:01:44 2001
-+++ src/EDITME Tue Dec 18 22:11:42 2001
-@@ -98,7 +98,7 @@
- # /usr/local/sbin. The installation script will try to create this directory,
- # and any superior directories, if they do not exist.
-
--BIN_DIRECTORY=/usr/exim/bin
-+BIN_DIRECTORY=XX_PREFIX_XX/sbin
-
-
- #------------------------------------------------------------------------------
-@@ -113,7 +113,7 @@
- # directories if they don't exist. It will also install a default run time
- # configuration if this file does not exist.
-
--CONFIGURE_FILE=/usr/exim/configure
-+CONFIGURE_FILE=XX_PREFIX_XX/etc/exim/configure
-
-
- #------------------------------------------------------------------------------
-@@ -126,14 +126,14 @@
- # owner of a local mailbox.) Specifying these values as root is very strongly
- # discouraged. These values are compiled into the binary.
-
--EXIM_USER=
-+EXIM_USER=mailnull
-
- # If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
- # also be a setting of EXIM_GROUP. If, on the other hand, you use a name
- # for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
- # you want to use a group other than the default group for the given user.
-
--# EXIM_GROUP=
-+EXIM_GROUP=mail
-
- # Many sites define a user called "exim", with an appropriate default group,
- # and use
-@@ -269,8 +269,9 @@
- # don't need to set LOOKUP_INCLUDE if the relevant directories are already
- # specified in INCLUDE.
-
--# 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
-+INCLUDE=-I XX_PREFIX_XX/include
-+LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
-+LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX
-
-
- #------------------------------------------------------------------------------
-@@ -281,7 +282,7 @@
- # files are defaulted in the OS/Makefile-Default file, but can be overridden in
- # local OS-specific make files.
-
--EXIM_MONITOR=eximon.bin
-+#EXIM_MONITOR=eximon.bin
-
-
-
-@@ -316,7 +317,7 @@
- # settings commented out.
-
- # SUPPORT_TLS=yes
--# TLS_LIBS=-lssl -lcrypto
-+TLS_LIBS=-lssl -lcrypto
-
- # 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
-@@ -358,7 +359,7 @@
- # Once you have done this, "make install" will build the info files and
- # install them in the directory you have defined.
-
--# INFO_DIRECTORY=/usr/share/info
-+INFO_DIRECTORY=XX_PREFIX_XX/info
-
-
- #------------------------------------------------------------------------------
-@@ -371,7 +372,7 @@
- # %s. This will be replaced by one of the strings "main", "panic", or "reject"
- # to form the final file names. Some installations may want something like this:
-
--# LOG_FILE_PATH=/var/log/exim_%slog
-+LOG_FILE_PATH=/var/log/exim/%slog
-
- # which results in files with names /var/log/exim_mainlog, etc. The directory
- # in which the log files are placed must exist; Exim does not try to create
-@@ -459,7 +460,7 @@
-
- # USE_TCP_WRAPPERS=yes
- # CFLAGS=-O -I/usr/local/include
--# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
-+EXTRALIBS=XX_TCP_WRAPPERS_LIBS_XX XX_PAM_LIBS_XX
-
- # but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
- # as well.
-@@ -678,7 +679,7 @@
- # (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:
-
--# PID_FILE_PATH=/var/lock/exim.pid
-+PID_FILE_PATH=/var/run/exim.pid
-
- # If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
- # using the name "exim-daemon.pid".
diff --git a/mail/exim-devel/files/patch-src::configure.default b/mail/exim-devel/files/patch-src::configure.default
deleted file mode 100644
index 768660800cc6..000000000000
--- a/mail/exim-devel/files/patch-src::configure.default
+++ /dev/null
@@ -1,40 +0,0 @@
---- src/configure.default.orig Fri Nov 23 17:31:16 2001
-+++ src/configure.default Tue Dec 18 23:34:07 2001
-@@ -147,6 +147,8 @@
- # were a normal user. This isn't usually a problem, as most sites have an alias
- # for root that redirects such mail to a human administrator.
-
-+exim_user = mailnull
-+exim_group = mail
- never_users = root
-
-
-@@ -365,7 +367,8 @@
- allow_fail
- allow_defer
- data = ${lookup{$local_part}lsearch{/etc/aliases}}
--# user = exim
-+ user = mailnull
-+ group = mail
- file_transport = address_file
- pipe_transport = address_pipe
-
-@@ -399,6 +402,7 @@
- file_transport = address_file
- pipe_transport = address_pipe
- reply_transport = address_reply
-+ condition = ${if exists{$home/.forward} {yes} {no} }
-
-
- # This router matches local user mailboxes.
-@@ -442,8 +446,8 @@
- delivery_date_add
- envelope_to_add
- return_path_add
--# group = mail
--# mode = 0660
-+ group = mail
-+ mode = 0660
-
-
- # This transport is used for handling pipe deliveries generated by alias or
diff --git a/mail/exim-devel/pkg-comment b/mail/exim-devel/pkg-comment
deleted file mode 100644
index a862bdff5618..000000000000
--- a/mail/exim-devel/pkg-comment
+++ /dev/null
@@ -1 +0,0 @@
-High performance MTA for Unix systems on the Internet
diff --git a/mail/exim-devel/pkg-descr b/mail/exim-devel/pkg-descr
deleted file mode 100644
index e7b7d4118545..000000000000
--- a/mail/exim-devel/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-Exim is a mail transfer agent for Unix systems connected to the Internet.
-It is a monolithic MTA designed to be a command line compatible drop-in
-replacement for Sendmail.
-
-Exim is an excellent mailer for an ISP, as its control and flexibility
-are very good and its requeing and retry algorithms are very powerful.
-Exim's configuration syntax is simple and well documented.
-
-WWW: http://www.exim.org/
diff --git a/mail/exim-devel/pkg-install b/mail/exim-devel/pkg-install
deleted file mode 100644
index 40ad765f2fcf..000000000000
--- a/mail/exim-devel/pkg-install
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# Since FreeBSD does not supply a user for running an MTA in a sandbox
-# by default, use user 'exim', adding it if it does not exist. Even
-# if FreeBSD supplied an MTA user, it's neglected to do so for so long
-# that every sandboxed MTA under the sun uses its own user, so user
-# 'exim' should probably be used forever.
-#
-# Modern FreeBSD systems already have a group mail.
-#
-# $FreeBSD$
-#
-
-PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-
-user=mailnull
-group=mail
-
-if [ "$2" = "PRE-INSTALL" ]; then
- if ! /usr/bin/id ${user} > /dev/null; then
- echo "Exim requires user ${user}. Please update your system." 1>&2
- exit 1
- fi
- if ! /usr/bin/grep -q "^${group}:" < /etc/group; then
- echo "Exim requires group ${group}. Please update your system." 1>&2
- exit 1
- fi
-fi
-
-# This is naughty, since the directory we create won't be removed along
-# with Exim. However, logfiles should probably stick around after Exim
-# is removed, until the administrator is sure he doesn't want them
-# any more.
-#
-mkdir -p /var/log/exim
-chown ${user}:${group} /var/log/exim
diff --git a/mail/exim-devel/pkg-message b/mail/exim-devel/pkg-message
deleted file mode 100644
index 83859714c92b..000000000000
--- a/mail/exim-devel/pkg-message
+++ /dev/null
@@ -1,7 +0,0 @@
-
-IMPORTANT NOTE:
-===============
-
-Please read ${PREFIX}/share/doc/exim/POST-INSTALL-NOTES for important
-information regarding your Exim installation.
-
diff --git a/mail/exim-devel/pkg-plist b/mail/exim-devel/pkg-plist
deleted file mode 100644
index 8b2dd3f0bc43..000000000000
--- a/mail/exim-devel/pkg-plist
+++ /dev/null
@@ -1,35 +0,0 @@
-etc/exim/configure.default
-etc/rc.d/exim.sh
-info/exim.info
-info/exim_filter.info
-sbin/exim
-sbin/exim-%%EXIM_VERSION%%-1
-sbin/exim_checkaccess
-sbin/exim_dumpdb
-sbin/exim_fixdb
-sbin/exim_lock
-sbin/exim_tidydb
-sbin/exinext
-sbin/exiwhat
-sbin/exim_dbmbuild
-sbin/exicyclog
-sbin/exigrep
-sbin/eximstats
-sbin/exiqsumm
-%%PORTDOCS%%share/doc/exim/POST-INSTALL-NOTES
-%%PORTDOCS%%share/doc/exim/Exim3.upgrade
-%%PORTDOCS%%share/doc/exim/Exim4.upgrade
-%%PORTDOCS%%share/doc/exim/OptionLists.txt
-%%PORTDOCS%%share/doc/exim/README
-%%PORTDOCS%%share/doc/exim/dbm.discuss.txt
-%%PORTDOCS%%share/doc/exim/exim.8
-%%PORTDOCS%%share/doc/exim/filter.txt
-%%PORTDOCS%%share/doc/exim/pcre.txt
-%%PORTDOCS%%share/doc/exim/pcretest.txt
-%%PORTDOCS%%share/doc/exim/spec.txt
-@unexec install-info --delete %D/info/exim.info %D/info/dir
-@unexec install-info --delete %D/info/exim_filter.info %D/info/dir
-@exec install-info --section="Exim" --entry "* Exim Specification: (exim). Exim manual" %D/info/exim.info %D/info/dir
-@exec install-info --section="Exim" --entry "* Exim Filtering: (exim_filter). Filtering mail with Exim" %D/info/exim_filter.info %D/info/dir
-@dirrm etc/exim
-@dirrm share/doc/exim
diff --git a/mail/exim-doc-html/Makefile b/mail/exim-doc-html/Makefile
index bf9cb53e3236..3081219ed480 100644
--- a/mail/exim-doc-html/Makefile
+++ b/mail/exim-doc-html/Makefile
@@ -6,14 +6,14 @@
#
PORTNAME= exim-doc-${DOCFORMAT}
-PORTVERSION= 3.30
+PORTVERSION= 4.10
CATEGORIES= mail
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
http://www.exim.org/ftp/exim3/ \
ftp://ftp.is.co.za/networking/mail/transport/exim/
DISTNAME= exim-${DOCFORMAT}-${PORTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= sheldonh@FreeBSD.org
USE_BZIP2= yes
NO_BUILD= yes
diff --git a/mail/exim-monitor/Makefile b/mail/exim-monitor/Makefile
index f0486d952355..a74855382971 100644
--- a/mail/exim-monitor/Makefile
+++ b/mail/exim-monitor/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= exim-monitor
-PORTVERSION= 3.36
+PORTVERSION= 4.10
CATEGORIES= mail
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
http://www.exim.org/ftp/exim3/ \
diff --git a/mail/exim/Makefile b/mail/exim/Makefile
index cb036e5fac46..b5d4a5710276 100644
--- a/mail/exim/Makefile
+++ b/mail/exim/Makefile
@@ -6,17 +6,25 @@
#
PORTNAME= exim
-PORTVERSION= 3.36
+PORTVERSION= ${EXIM_VERSION}
CATEGORIES= mail
-MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
- http://www.exim.org/ftp/exim3/ \
- ftp://ftp.is.co.za/networking/mail/transport/exim/exim3/
-DISTFILES= exim-3.36.tar.bz2 exim-texinfo-3.30.tar.bz2
+MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/ \
+ http://www.exim.org/ftp/exim4/ \
+ ftp://ftp.is.co.za/networking/mail/transport/exim/exim4/
+DISTFILES= exim-${EXIM_VERSION}.tar.bz2 \
+ exim-texinfo-${EXIM_DOCVERSION}.tar.bz2
MAINTAINER= sheldonh@FreeBSD.org
USE_BZIP2= yes
+MAN8= exim.8
+
+EXIM_VERSION= 4.10
+EXIM_DOCVERSION= 4.10
+
+PLIST_SUB+= EXIM_VERSION="${EXIM_VERSION}"
+
.if defined(NOPORTDOCS)
PKGMESSAGE= ${FILESDIR}/POST-INSTALL-NOTES
.endif
@@ -30,11 +38,13 @@ MAKE_ENV+= OSTYPE=${OPSYS} ARCHTYPE=${MACHINE_ARCH}
# Define WITH_TCP_WRAPPERS, WITH_LDAP, WITH_MYSQL, and WITH_PGSQL to
# link against libwrap, an LDAP library (see below), liblibmysqlclient
-# and libpq respectively.
+# and libpq respectively. Define WITH_PWCHECK to link against libsasl
+# for SMTP AUTH authentication via the Cyrus SASL pwcheck daemon.
#WITH_TCP_WRAPPERS= yes
#WITH_LDAP= yes
#WITH_MYSQL= yes
#WITH_PGSQL= yes
+#WITH_PWCHECK= yes
# Define WITHOUT_IPV6 to exclude IPv6 support from the compiled exim
# binary. Exim compiled with IPv6 support will still operate on
@@ -48,6 +58,11 @@ MAKE_ENV+= OSTYPE=${OPSYS} ARCHTYPE=${MACHINE_ARCH}
# for these in the ports tree.
LDAP_LIB_TYPE?=OPENLDAP1
+# DB_LIB_VERSION is the version of the Berkeley DB library to use, and
+# may be 1, which corresponds to version 1.85 in the base system, or 4
+# which depends on the databases/db4 port.
+DB_LIB_VERSION?=1
+
# The following options may be defined to turn off support for various
# features that this port enables by default.
#
@@ -84,6 +99,10 @@ RUN_DEPENDS= ${LOCALBASE}/sbin/eximon:${PORTSDIR}/mail/exim-monitor
.include <bsd.port.pre.mk>
+PORTDOC_FILES= Exim3.upgrade Exim4.upgrade OptionLists.txt README \
+ dbm.discuss.txt exim.8 filter.txt pcre.txt pcretest.txt \
+ spec.txt
+
.if ${OSVERSION} < 400014
WITHOUT_IPV6= yes
.endif
@@ -124,6 +143,16 @@ SEDLIST+= -e 's,XX_LDAP_[^ ]*_XX,,' \
-e 's,^LDAP_LIB_TYPE=,\#LDAP_LIB_TYPE=,'
.endif
+.if (${DB_LIB_VERSION} == 1)
+DB_LIBS=
+.elif (${DB_LIB_VERSION} == 4)
+DB_LIBS= -ldb4
+LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4
+.else
+.error DB_LIB_VERSION must be either 1 or 4
+.endif
+SEDLIST+= -e 's,XX_DB_LIBS_XX,${DB_LIBS},'
+
.if defined(WITH_MYSQL)
LIB_DEPENDS+= mysqlclient.10:${PORTSDIR}/databases/mysql323-client
SEDLIST+= -e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE}/lib/mysql -lmysqlclient,' \
@@ -133,6 +162,12 @@ SEDLIST+= -e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE}/lib/mysql -lmysqlclient,' \
SEDLIST+= -e 's,XX_MYSQL_[^ ]*_XX,,'
.endif
+.if defined(WITH_PWCHECK)
+RUN_DEPENDS+= ${LOCALBASE}/sbin/pwcheck:${PORTSDIR}/security/cyrus-sasl
+SEDLIST+= -e 's,^\# SUPPORT_CYRUS_PWCHECK=,SUPPORT_CYRUS_PWCHECK=,' \
+ -e 's,^\# CYRUS_PWCHECK_SOCKET=,CYRUS_PWCHECK_SOCKET=,'
+.endif
+
.if !defined(WITHOUT_PAM)
SEDLIST+= -e 's,XX_PAM_LIBS_XX,-lpam,' \
-e 's,^\# SUPPORT_PAM=,SUPPORT_PAM=,'
@@ -161,7 +196,8 @@ SEDLIST+= -e 's,XX_PGSQL_[^ ]*_XX,,'
SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,'
.endif
-.if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(WITH_LDAP)
+.if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(WITH_LDAP) && \
+ ${DB_LIB_VERSION} == 1
SEDLIST+= -e 's,^LOOKUP_LIBS=,\#LOOKUP_LIBS=,' \
-e 's,^LOOKUP_INCLUDE=,\#LOOKUP_INCLUDE=,'
.endif
@@ -190,7 +226,7 @@ do-configure:
${MKDIR} ${WRKSRC}/Local
${SED} ${SEDLIST} < ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile
cd ${WRKSRC}/doc && \
- for i in ../../exim-texinfo-3.30/doc/* ; do \
+ for i in ../../exim-texinfo-${EXIM_DOCVERSION}/doc/* ; do \
${LN} -sf $$i ; \
done
@@ -202,9 +238,12 @@ post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/exim
${INSTALL_DATA} ${FILESDIR}/POST-INSTALL-NOTES ${PREFIX}/share/doc/exim
- ${INSTALL_DATA} ${WRKSRC}/doc/filter.txt ${PREFIX}/share/doc/exim
- ${INSTALL_DATA} ${WRKSRC}/doc/oview.txt ${PREFIX}/share/doc/exim
- ${INSTALL_DATA} ${WRKSRC}/doc/spec.txt ${PREFIX}/share/doc/exim
+.for file in ${PORTDOC_FILES}
+ ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${PREFIX}/share/doc/exim
+.endfor
+.for file in ${MAN8}
+ ${INSTALL_MAN} ${WRKSRC}/doc/${file} ${PREFIX}/man/man8
+.endfor
.endif
@${CAT} ${PKGMESSAGE}
diff --git a/mail/exim/distinfo b/mail/exim/distinfo
index fa9420f07b61..afd4701097c9 100644
--- a/mail/exim/distinfo
+++ b/mail/exim/distinfo
@@ -1,2 +1,2 @@
-MD5 (exim-3.36.tar.bz2) = a18cbe15a2973714fe1aa68dffad63c4
-MD5 (exim-texinfo-3.30.tar.bz2) = 6400cc7988036991b6bbe7ed9b4d9eeb
+MD5 (exim-4.10.tar.bz2) = eb92cbba59bb2320b9912c46cd3fa4d0
+MD5 (exim-texinfo-4.10.tar.bz2) = 2a2a34a2457d249d568a58e985f263c0
diff --git a/mail/exim/files/POST-INSTALL-NOTES b/mail/exim/files/POST-INSTALL-NOTES
index 66b0a80a5c7a..da0ba53f9b66 100644
--- a/mail/exim/files/POST-INSTALL-NOTES
+++ b/mail/exim/files/POST-INSTALL-NOTES
@@ -1,33 +1,23 @@
The following documentation has been installed:
- info 'Exim Overview' -> Overview of Exim
info Exim -> Exim Specification (User Guide)
info 'Exim Filtering' -> Exim Filter Specification (for end-users)
In addition, plain text versions of these documents have been installed
as:
- ${PREFIX}/share/doc/exim/oview.txt
${PREFIX}/share/doc/exim/filter.txt
${PREFIX}/share/doc/exim/spec.txt
-Postscript, PDF and HTML versions of these documents are available in
-the ports tree as:
+Postscript, PDF, HTML and plain text versions of these documents, as well
+as a comprehensive FAQ list, are available at http://www.exim.org/ .
- ports/mail/exim-doc-postscript
- ports/mail/exim-doc-pdf
- ports/mail/exim-doc-html
-
-In addition, a comprehensive FAQ list is available at:
-
- http://www.exim.org/
-
-To use Exim instead of sendmail:
+To use Exim instead of sendmail on startup:
*) Create exim/configure from exim/configure.default .
*) Clear the sendmail queue and stop the sendmail daemon.
*) Adjust mailer.conf(5) as appropriate.
-*) Set the 'sendmail_enable' rc.conf(5) variable to 'NO'.
+*) Set the 'sendmail_enable' rc.conf(5) variable to 'NONE'.
*) Set the 'daily_status_include_submit_mailq' periodic.conf(5) variable
to 'NO'.
*) Start exim with '${PREFIX}/etc/rc.d/exim.sh start'.
@@ -37,3 +27,14 @@ You may also want to configure newsyslog(8) to rotate Exim log files:
/var/log/exim/mainlog mailnull:mail 640 7 * @T00 Z
/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 Z
+NOTE TO OPERATORS UPGRADING FROM exim-3.xx:
+
+There was a big reworking of the way mail routing works for release
+4.00. Previously used "directors" were abolished, and all routing is
+now done by routers. Policy controls for incoming mail are now done by
+Access Control Lists instead of separate options. All this means that
+pre-4.00 configuration files have to be massively converted. If you
+are coming from a 3.xx release, please read the document in the file
+${PREFIX}/share/doc/exim/Exim4.upgrade, and allow some time to complete
+the upgrade.
+
diff --git a/mail/exim/files/patch-..::exim-texinfo-3.30::doc::spec.texinfo b/mail/exim/files/patch-..::exim-texinfo-3.30::doc::spec.texinfo
deleted file mode 100644
index 824276f27f63..000000000000
--- a/mail/exim/files/patch-..::exim-texinfo-3.30::doc::spec.texinfo
+++ /dev/null
@@ -1,22 +0,0 @@
---- ../exim-texinfo-3.30/doc/spec.texinfo.orig Tue Jun 12 12:20:49 2001
-+++ ../exim-texinfo-3.30/doc/spec.texinfo Tue Jan 15 17:19:46 2002
-@@ -20785,6 +20785,19 @@
- may be adequate for all your requirements if you are mainly interested in
- encrypting transfers, and not in secure identification.
-
-+However, many clients require that the certificate presented by Exim be a user
-+(also called "leaf" or "site") certificate, and not a self-signed certificate.
-+In this case, the self-signed certificate described above must be installed on
-+the client host as a trusted root certification authority and the certificate
-+used by Exim must be a user certificate signed with that self-signed
-+certificate.
-+
-+For information on creating self-signed CA certificates and using them to sign
-+user certificates, see the "General implementation overview" chapter of the
-+Open-source PKI Book, available online at:
-+
-+http://ospkibook.sourceforge.net/
-+
-
-
-
diff --git a/mail/exim/files/patch-scripts::exim_install b/mail/exim/files/patch-scripts::exim_install
index db0bc1168f0a..ea626829cc31 100644
--- a/mail/exim/files/patch-scripts::exim_install
+++ b/mail/exim/files/patch-scripts::exim_install
@@ -1,23 +1,14 @@
-*) Causes the configure file to be installed as a sample only. The
- administrator needs to rename this file to "activate" exim.
-
---- scripts/exim_install.orig Mon Aug 2 17:43:03 1999
-+++ scripts/exim_install Tue Aug 3 14:31:20 1999
-@@ -199,25 +199,20 @@
- fi
- done
-
--
--
--# If there is no configuration file, install the default.
-+# Install only a sample configuration, which encourages the admin to look
-+# at it, since Exim won't run without a configure file.
+--- scripts/exim_install.orig Fri Nov 23 17:31:15 2001
++++ scripts/exim_install Wed Dec 19 14:38:06 2001
+@@ -293,30 +293,15 @@
echo $com ""
-if [ ! -f ${CONFIGURE_FILE} ]; then
- echo $com Installing default configuration in ${CONFIGURE_FILE}
- echo $com because there is no existing configuration file.
+- echo ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
+- ${real} ${MKDIR} -p `${DIRNAME} ${CONFIGURE_FILE}`
- echo ${CP} ../src/configure.default ${CONFIGURE_FILE}
- ${real} ${CP} ../src/configure.default ${CONFIGURE_FILE}
+ echo $com Installing default configuration file in ${CONFIGURE_FILE%/*}/configure.default
@@ -29,9 +20,31 @@
echo $com "*** Exim installation ${ver}failed ***"
exit 1
fi
+- if [ ! -f /etc/aliases ]; then
+- echo $com '****'
+- echo $com Installing a dummy /etc/aliases file because you do not have
+- echo $com one, and the default configuration requires it. You should
+- echo $com edit /etc/aliases and at least create an alias for postmaster.
+- echo $com '***'
+- echo ${CP} ../src/aliases.default /etc/aliases
+- ${real} ${CP} ../src/aliases.default /etc/aliases
+- fi
-else
- echo $com Configuration file ${CONFIGURE_FILE} already exists
-fi
# Install info files if the directory is defined and the Texinfo
# source documentation is present.
+@@ -338,12 +323,6 @@
+ echo $com Info installation directory is ${INFO_DIRECTORY}
+ echo $com ""
+
+- makeinfo --no-split --output exim_overview.info ../doc/oview.texinfo
+- echo ${CP} exim_overview.info ${INFO_DIRECTORY}
+- ${real} ${CP} exim_overview.info ${INFO_DIRECTORY}
+- install-info --section="Exim" \
+- --entry "* Overview: (exim_overview). Overview of the Exim system" \
+- ${INFO_DIRECTORY}/exim_overview.info ${INFO_DIRECTORY}/dir
+ makeinfo --no-split --output exim.info ../doc/spec.texinfo
+ echo ${CP} exim.info ${INFO_DIRECTORY}
+ ${real} ${CP} exim.info ${INFO_DIRECTORY}
diff --git a/mail/exim/files/patch-src::EDITME b/mail/exim/files/patch-src::EDITME
index 4d0d3f202078..d397826ec925 100644
--- a/mail/exim/files/patch-src::EDITME
+++ b/mail/exim/files/patch-src::EDITME
@@ -1,134 +1,103 @@
---- src/EDITME.orig Fri Jan 19 11:32:06 2001
-+++ src/EDITME Mon Jun 11 09:45:26 2001
-@@ -103,7 +103,7 @@
- # installed in this directory. There is no default for this variable built into
- # the source files; it must be set in one of the local configuration files.
+--- src/EDITME.orig Mon Jul 22 10:59:47 2002
++++ src/EDITME Tue Jul 30 16:06:43 2002
+@@ -98,7 +98,7 @@
+ # /usr/local/sbin. The installation script will try to create this directory,
+ # and any superior directories, if they do not exist.
-BIN_DIRECTORY=/usr/exim/bin
+BIN_DIRECTORY=XX_PREFIX_XX/sbin
- # The default distribution of Exim contains only the plain text form of the
-@@ -114,21 +114,21 @@
- # your info directory; "make install" will then build the info files and
- # install them there.
+ #------------------------------------------------------------------------------
+@@ -113,7 +113,7 @@
+ # directories if they don't exist. It will also install a default run time
+ # configuration if this file does not exist.
--# INFO_DIRECTORY=/usr/local/info
-+INFO_DIRECTORY=XX_PREFIX_XX/info
+-CONFIGURE_FILE=/usr/exim/configure
++CONFIGURE_FILE=XX_PREFIX_XX/etc/exim/configure
- # The compress command is used by the exicyclog script to compress old log
- # files. Both the name of the command and the suffix that it adds to files
- # need to be defined here. See also the EXICYCLOG_MAX configuration.
+ #------------------------------------------------------------------------------
+@@ -126,14 +126,14 @@
+ # owner of a local mailbox.) Specifying these values as root is very strongly
+ # discouraged. These values are compiled into the binary.
--COMPRESS_COMMAND=/opt/gnu/bin/gzip
-+COMPRESS_COMMAND=/usr/bin/gzip
- COMPRESS_SUFFIX=gz
+-EXIM_USER=
++EXIM_USER=mailnull
+ # If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
+ # also be a setting of EXIM_GROUP. If, on the other hand, you use a name
+ # for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
+ # you want to use a group other than the default group for the given user.
- # If the exigrep utility is fed compressed log files, it tries to uncompress
- # them using this command.
+-# EXIM_GROUP=
++EXIM_GROUP=mail
--ZCAT_COMMAND=/opt/gnu/bin/zcat
-+ZCAT_COMMAND=/usr/bin/zcat
+ # Many sites define a user called "exim", with an appropriate default group,
+ # and use
+@@ -269,8 +269,9 @@
+ # don't need to set LOOKUP_INCLUDE if the relevant directories are already
+ # specified in INCLUDE.
+-# 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
++INCLUDE=-I XX_PREFIX_XX/include
++LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
++LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX XX_DB_LIBS_XX
- # The runtime configuration file: This variable defines where Exim's runtime
-@@ -137,7 +137,7 @@
- # location of all other runtime files and directories can be changed in the
- # runtime configuration file.
--CONFIGURE_FILE=/usr/exim/configure
-+CONFIGURE_FILE=XX_PREFIX_XX/etc/exim/configure
+ #------------------------------------------------------------------------------
+@@ -281,7 +282,7 @@
+ # files are defaulted in the OS/Makefile-Default file, but can be overridden in
+ # local OS-specific make files.
+-EXIM_MONITOR=eximon.bin
++#EXIM_MONITOR=eximon.bin
- # In some installations there may be multiple machines sharing file systems,
-@@ -231,8 +231,8 @@
- # "security" setting, which controls how privilege is released (setuid vs
- # seteuid).
--# EXIM_UID=
--# EXIM_GID=
-+EXIM_UID=26
-+EXIM_GID=6
+@@ -316,7 +317,7 @@
+ # settings commented out.
- # Compiling the Exim monitor: If you want to compile the Exim monitor,
-@@ -243,7 +243,7 @@
- # are defaulted in the OS/Makefile-Default file, and can be overridden
- # in local OS-specific make files.
+ # SUPPORT_TLS=yes
+-# TLS_LIBS=-lssl -lcrypto
++TLS_LIBS=-lssl -lcrypto
--EXIM_MONITOR=eximon.bin
-+#EXIM_MONITOR=eximon.bin
+ # 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
+@@ -358,7 +359,7 @@
+ # Once you have done this, "make install" will build the info files and
+ # install them in the directory you have defined.
+-# INFO_DIRECTORY=/usr/share/info
++INFO_DIRECTORY=XX_PREFIX_XX/info
- # Compiling in support for embedded Perl: If you want to be able to
-@@ -286,7 +286,7 @@
- # "panic", or "reject" to form the final file name. For example, some
- # installations may want something like this:
+
+ #------------------------------------------------------------------------------
+@@ -371,7 +372,7 @@
+ # %s. This will be replaced by one of the strings "main", "panic", or "reject"
+ # to form the final file names. Some installations may want something like this:
-# LOG_FILE_PATH=/var/log/exim_%slog
+LOG_FILE_PATH=/var/log/exim/%slog
# which results in files with names /var/log/exim_mainlog, etc. The directory
# in which the log files are placed must exist; Exim does not try to create
-@@ -352,6 +352,9 @@
-
- # 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
-+INCLUDE=-I XX_PREFIX_XX/include
-+LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX
-+LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX
+@@ -474,7 +475,7 @@
- # If you have set LDAP=yes, you should set LDAP_LIB_TYPE to indicate which LDAP
- # library you have. Unfortunately, though most of their functions are the
-@@ -365,6 +368,7 @@
- # LDAP_LIB_TYPE=OPENLDAP2
- # LDAP_LIB_TYPE=NETSCAPE
- # LDAP_LIB_TYPE=SOLARIS
-+LDAP_LIB_TYPE=XX_LDAP_TYPE_XX
+ # USE_TCP_WRAPPERS=yes
+ # CFLAGS=-O -I/usr/local/include
+-# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
++EXTRALIBS=XX_TCP_WRAPPERS_LIBS_XX XX_PAM_LIBS_XX
- # If you don't set any of these, Exim assumes the original University of
- # Michigan (OpenLDAP 1) library.
-@@ -411,7 +415,7 @@
- # the file name, allowing sites that run two separate daemons to distinguish
- # them. Some installations may want something like this
+ # but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+ # as well.
+@@ -695,7 +696,7 @@
+ # (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:
--# PID_FILE_PATH=/var/lock/exim%s.pid
-+PID_FILE_PATH=/var/run/exim%s.pid
+-# PID_FILE_PATH=/var/lock/exim.pid
++PID_FILE_PATH=/var/run/exim.pid
# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
- # (see SPOOL_DIRECTORY below) with the name "exim-daemon.pid" for the standard
-@@ -460,7 +464,7 @@
- # uid and gid.
-
- # Many installations will want something like this:
--# SPOOL_DIRECTORY=/var/spool/exim
-+SPOOL_DIRECTORY=/var/spool/exim
-
- # Others may prefer to keep all Exim things under one directory:
- # SPOOL_DIRECTORY=/usr/exim/spool
-@@ -525,7 +529,7 @@
- # with TLS support.
-
- # SUPPORT_TLS=yes
--# TLS_LIBS=-lssl -lcrypto
-+TLS_LIBS=-lssl -lcrypto
-
- # If you are running Exim as a server, note that just building it with TLS
- # support is not usually all you need to do. You normally need to set up a
-@@ -575,5 +579,14 @@
- # chapter on building and installing Exim.
-
- # USE_TCP_WRAPPERS=yes
-+EXTRALIBS=XX_TCP_WRAPPERS_LIBS_XX XX_PAM_LIBS_XX
-+
-+
-+# IPv6 is coming. Exim has experimental support that has been tried out on
-+# one or two OS. See the file README.IPV6 for the current status of this
-+# support. Do not set this option unless you are working on IPv6 and know
-+# what you are doing.
-+
-+# HAVE_IPV6=yes
-
- # End of EDITME
+ # using the name "exim-daemon.pid".
diff --git a/mail/exim/files/patch-src::configure.default b/mail/exim/files/patch-src::configure.default
index 9b24cf348686..768660800cc6 100644
--- a/mail/exim/files/patch-src::configure.default
+++ b/mail/exim/files/patch-src::configure.default
@@ -1,51 +1,40 @@
---- src/configure.default.orig Thu Jun 14 19:39:54 2001
-+++ src/configure.default Thu Jun 14 20:10:52 2001
-@@ -99,7 +99,9 @@
- # normal user. This isn't usually a problem, as most sites have an alias for
- # root that redirects such mail to a human administrator.
+--- src/configure.default.orig Fri Nov 23 17:31:16 2001
++++ src/configure.default Tue Dec 18 23:34:07 2001
+@@ -147,6 +147,8 @@
+ # were a normal user. This isn't usually a problem, as most sites have an alias
+ # for root that redirects such mail to a human administrator.
--never_users = root
+exim_user = mailnull
+exim_group = mail
-+never_users = root : mailnull
+ never_users = root
- # The use of your host as a mail relay by any host, including the local host
-@@ -122,6 +124,8 @@
- # See the section of the manual entitled "Control of relaying" for more
- # information.
-
-+host_accept_relay = 127.0.0.1
-+
-
- # The setting below causes Exim to do a reverse DNS lookup on all incoming
- # IP calls, in order to get the true host name. If you feel this is too
-@@ -230,8 +234,8 @@
- delivery_date_add
- envelope_to_add
- return_path_add
--# group = mail
--# mode = 0660
-+ group = mail
-+ mode = 0660
-
-
- # This transport is used for handling pipe deliveries generated by alias
-@@ -300,7 +304,8 @@
- driver = aliasfile
- file = /etc/aliases
- search_type = lsearch
+@@ -365,7 +367,8 @@
+ allow_fail
+ allow_defer
+ data = ${lookup{$local_part}lsearch{/etc/aliases}}
-# user = exim
+ user = mailnull
+ group = mail
file_transport = address_file
pipe_transport = address_pipe
-@@ -334,6 +339,7 @@
+@@ -399,6 +402,7 @@
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
-+ match_directory = !^/nonexistent
++ condition = ${if exists{$home/.forward} {yes} {no} }
+
+
+ # This router matches local user mailboxes.
+@@ -442,8 +446,8 @@
+ delivery_date_add
+ envelope_to_add
+ return_path_add
+-# group = mail
+-# mode = 0660
++ group = mail
++ mode = 0660
- # This director matches local user mailboxes.
+ # This transport is used for handling pipe deliveries generated by alias or
diff --git a/mail/exim/files/patch-xxx::no_fsync b/mail/exim/files/patch-xxx::no_fsync
deleted file mode 100644
index fc0f4791ac86..000000000000
--- a/mail/exim/files/patch-xxx::no_fsync
+++ /dev/null
@@ -1,103 +0,0 @@
-diff -udrN src.orig/accept.c src/accept.c
---- src.orig/accept.c Thu Sep 6 15:25:28 2001
-+++ src/accept.c Thu Sep 6 15:28:03 2001
-@@ -2140,7 +2140,7 @@
- anything until the terminating dot line is sent. */
-
- if (fflush(data_file) == EOF || ferror(data_file) ||
-- fsync(fileno(data_file)) < 0 || (accept_ferror)(fin))
-+ (perform_fsync && fsync(fileno(data_file))) < 0 || (accept_ferror)(fin))
- {
- char *msg_errno = strerror(errno);
- BOOL input_error = (accept_ferror)(fin) != 0;
-diff -udrN src.orig/deliver.c src/deliver.c
---- src.orig/deliver.c Thu Sep 6 15:25:28 2001
-+++ src/deliver.c Thu Sep 6 15:29:22 2001
-@@ -578,7 +578,8 @@
- {
- BOOL return_output = FALSE;
- struct stat statbuf;
-- fsync(addr->return_file);
-+ if (perform_fsync)
-+ fsync(addr->return_file);
-
- /* If there is no output, do nothing. */
-
-@@ -1580,7 +1581,7 @@
-
- /* Ensure the journal file is pushed out to disc. */
-
-- if (fsync(journal_fd) < 0)
-+ if (perform_fsync && fsync(journal_fd) < 0)
- log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s",
- strerror(errno));
- }
-diff -udrN src.orig/globals.c src/globals.c
---- src.orig/globals.c Thu Sep 6 15:25:28 2001
-+++ src/globals.c Thu Sep 6 15:24:49 2001
-@@ -494,6 +494,7 @@
- BOOL parse_allow_group = FALSE;
- BOOL parse_found_group = FALSE;
- char *percent_hack_domains = NULL;
-+BOOL perform_fsync = TRUE;
- char *pid_file_path = PID_FILE_PATH
- "\0<--------------Space to patch pid_file_path->";
- BOOL preserve_message_logs = FALSE;
-diff -udrN src.orig/globals.h src/globals.h
---- src.orig/globals.h Thu Sep 6 15:25:28 2001
-+++ src/globals.h Thu Sep 6 15:41:35 2001
-@@ -364,6 +364,7 @@
- extern BOOL parse_allow_group; /* Allow group syntax */
- extern BOOL parse_found_group; /* In the middle of a group */
- extern char *percent_hack_domains; /* Local domains for which '% operates */
-+extern BOOL perform_fsync; /* Use fsync() to flush to disk */
- extern char *pid_file_path; /* For writing daemon pids */
- extern BOOL preserve_message_logs; /* Save msglog files */
- extern char *primary_hostname; /* Primary name of this computer */
-diff -udrN src.orig/readconf.c src/readconf.c
---- src.orig/readconf.c Thu Sep 6 15:25:28 2001
-+++ src/readconf.c Thu Sep 6 15:24:19 2001
-@@ -81,6 +81,7 @@
- { "finduser_retries", opt_int, &finduser_retries },
- { "forbid_domain_literals", opt_bool, &forbid_domain_literals },
- { "freeze_tell_mailmaster", opt_bool, &freeze_tell_mailmaster },
-+ { "fsync", opt_bool, &perform_fsync },
- { "gecos_name", opt_stringptr, &gecos_name },
- { "gecos_pattern", opt_stringptr, &gecos_pattern },
- { "headers_check_syntax", opt_bool, &headers_check_syntax },
-diff -udrN src.orig/spool_out.c src/spool_out.c
---- src.orig/spool_out.c Thu Sep 6 15:25:28 2001
-+++ src/spool_out.c Thu Sep 6 15:29:51 2001
-@@ -277,7 +277,7 @@
- just pushes it out of C, and fclose() doesn't guarantee to do the write
- either. That's just the way Unix works... */
-
--if (fsync(fileno(f)) < 0)
-+if (perform_fsync && fsync(fileno(f)) < 0)
- return spool_write_error(where, errmsg, "sync", temp_name, f);
-
- /* Get the size of the file, and close it. */
-diff -udrN src.orig/transports/appendfile.c src/transports/appendfile.c
---- src.orig/transports/appendfile.c Thu Sep 6 15:25:28 2001
-+++ src/transports/appendfile.c Thu Sep 6 15:31:40 2001
-@@ -2556,7 +2556,7 @@
- /* Force out the remaining data to check for any errors; some OS don't allow
- fsync() to be called for a FIFO. */
-
--if (yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER;
-+if (perform_fsync && yield == OK && !isfifo && fsync(fd) < 0) yield = DEFER;
-
- /* Handle error while writing the file. Control should come here directly after
- the error, with the reason in errno. In the case of expansion failure in prefix
-diff -udrN src.orig/transports/smtp.c src/transports/smtp.c
---- src.orig/transports/smtp.c Thu Sep 6 15:25:28 2001
-+++ src/transports/smtp.c Thu Sep 6 15:31:55 2001
-@@ -1462,7 +1462,7 @@
-
- /* Ensure the journal file is pushed out to disc. */
-
-- if (fsync(journal_fd) < 0)
-+ if (perform_fsync && fsync(journal_fd) < 0)
- log_write(0, LOG_MAIN|LOG_PANIC, "failed to fsync journal: %s",
- strerror(errno));
- }
diff --git a/mail/exim/pkg-install b/mail/exim/pkg-install
index 69539a8c560f..40ad765f2fcf 100644
--- a/mail/exim/pkg-install
+++ b/mail/exim/pkg-install
@@ -13,19 +13,16 @@
PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-uid=26
-gid=6
user=mailnull
group=mail
if [ "$2" = "PRE-INSTALL" ]; then
- # uid=26(mailnull) gid=26(mailnull) groups=26(mailnull)
- if ! /usr/bin/id ${uid} | /usr/bin/grep -q "uid=${uid}(${user})"; then
- echo "Exim requires user ${user} (UID ${uid}). Please update your system." 1>&2
+ if ! /usr/bin/id ${user} > /dev/null; then
+ echo "Exim requires user ${user}. Please update your system." 1>&2
exit 1
fi
- if ! /usr/bin/grep -q "^${group}:[^:]*:${gid}:" < /etc/group; then
- echo "Exim requires group ${group} (GID ${gid}). Please update your system." 1>&2
+ if ! /usr/bin/grep -q "^${group}:" < /etc/group; then
+ echo "Exim requires group ${group}. Please update your system." 1>&2
exit 1
fi
fi
diff --git a/mail/exim/pkg-plist b/mail/exim/pkg-plist
index 1252a52c780b..8b2dd3f0bc43 100644
--- a/mail/exim/pkg-plist
+++ b/mail/exim/pkg-plist
@@ -1,9 +1,10 @@
etc/exim/configure.default
etc/rc.d/exim.sh
-info/exim_overview.info
info/exim.info
info/exim_filter.info
sbin/exim
+sbin/exim-%%EXIM_VERSION%%-1
+sbin/exim_checkaccess
sbin/exim_dumpdb
sbin/exim_fixdb
sbin/exim_lock
@@ -16,13 +17,18 @@ sbin/exigrep
sbin/eximstats
sbin/exiqsumm
%%PORTDOCS%%share/doc/exim/POST-INSTALL-NOTES
+%%PORTDOCS%%share/doc/exim/Exim3.upgrade
+%%PORTDOCS%%share/doc/exim/Exim4.upgrade
+%%PORTDOCS%%share/doc/exim/OptionLists.txt
+%%PORTDOCS%%share/doc/exim/README
+%%PORTDOCS%%share/doc/exim/dbm.discuss.txt
+%%PORTDOCS%%share/doc/exim/exim.8
%%PORTDOCS%%share/doc/exim/filter.txt
-%%PORTDOCS%%share/doc/exim/oview.txt
+%%PORTDOCS%%share/doc/exim/pcre.txt
+%%PORTDOCS%%share/doc/exim/pcretest.txt
%%PORTDOCS%%share/doc/exim/spec.txt
-@unexec install-info --delete %D/info/exim_overview.info %D/info/dir
@unexec install-info --delete %D/info/exim.info %D/info/dir
@unexec install-info --delete %D/info/exim_filter.info %D/info/dir
-@exec install-info --section="Exim" --entry "* Exim Overview: (exim_overview). Overview of the Exim system" %D/info/exim_overview.info %D/info/dir
@exec install-info --section="Exim" --entry "* Exim Specification: (exim). Exim manual" %D/info/exim.info %D/info/dir
@exec install-info --section="Exim" --entry "* Exim Filtering: (exim_filter). Filtering mail with Exim" %D/info/exim_filter.info %D/info/dir
@dirrm etc/exim