diff options
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 |