pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/courier-mta First cut at packaging the MTA and ma...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/48ef38c6649a
branches:  trunk
changeset: 512007:48ef38c6649a
user:      jlam <jlam%pkgsrc.org@localhost>
date:      Fri Apr 28 18:10:21 2006 +0000

description:
First cut at packaging the MTA and mailing list components of
courier-0.53.1 as mail/courier-mta.

The Courier mail transfer agent (MTA) is a modular multiprotocol mail
server that's designed to strike a balance between reasonable performance,
flexibility and features.

This package differs from traditional courier-mta packages in that
the webmail, imap/pop3, and maildrop components are not included
because they are supplied by the mail/sqwebmail, mail/courier-imap,
and mail/maildrop packages, respectively.  When Courier-MTA is installed
together with Courier-IMAP and SqWebMail, they form an integrated
mail/groupware server suite that provides ESMTP, IMAP, POP3, webmail,
and mailing list services within a single, consistent, framework.  A
web-based administration and configuration tool is included for
comprehensive configuration of the entire Courier software suite.

Many thanks to Yarema <yds%CoolRat.org@localhost> whose Courier port for FreeBSD
was an invaluable reference.

diffstat:

 mail/courier-mta/DEINSTALL                  |   93 ++++++++++++
 mail/courier-mta/DESCR                      |   10 +
 mail/courier-mta/MESSAGE                    |   27 +++
 mail/courier-mta/Makefile                   |   97 ++++++++++++
 mail/courier-mta/Makefile.common            |   60 +++++++
 mail/courier-mta/PLIST                      |  211 ++++++++++++++++++++++++++++
 mail/courier-mta/PLIST.dsn                  |   12 +
 mail/courier-mta/PLIST.esmtp                |   31 ++++
 mail/courier-mta/PLIST.fax                  |   19 ++
 mail/courier-mta/PLIST.ldap                 |    4 +
 mail/courier-mta/PLIST.local                |    6 +
 mail/courier-mta/PLIST.uucp                 |    9 +
 mail/courier-mta/distinfo                   |   16 ++
 mail/courier-mta/files/courier.sh           |   61 ++++++++
 mail/courier-mta/files/courierd.sh          |   44 +++++
 mail/courier-mta/files/courieresmtp.sh      |   56 +++++++
 mail/courier-mta/files/courieresmtpmsa.sh   |   57 +++++++
 mail/courier-mta/files/courieresmtps.sh     |   72 +++++++++
 mail/courier-mta/files/courierfilter.sh     |   37 ++++
 mail/courier-mta/files/courierldapaliasd.sh |   49 ++++++
 mail/courier-mta/files/mailer.conf          |    8 +
 mail/courier-mta/options.mk                 |  129 +++++++++++++++++
 mail/courier-mta/patches/patch-aa           |   98 +++++++++++++
 mail/courier-mta/patches/patch-ab           |   17 ++
 mail/courier-mta/patches/patch-ac           |  108 ++++++++++++++
 mail/courier-mta/patches/patch-ad           |   13 +
 mail/courier-mta/patches/patch-ae           |   13 +
 mail/courier-mta/patches/patch-af           |   13 +
 mail/courier-mta/patches/patch-ag           |   12 +
 mail/courier-mta/patches/patch-ah           |   24 +++
 mail/courier-mta/patches/patch-ai           |   13 +
 mail/courier-mta/patches/patch-aj           |  169 ++++++++++++++++++++++
 mail/courier-mta/patches/patch-ak           |   13 +
 mail/courier-mta/pkginstall.mk              |   68 +++++++++
 34 files changed, 1669 insertions(+), 0 deletions(-)

diffs (truncated from 1805 to 300 lines):

diff -r 7131abed117a -r 48ef38c6649a mail/courier-mta/DEINSTALL
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/courier-mta/DEINSTALL        Fri Apr 28 18:10:21 2006 +0000
@@ -0,0 +1,93 @@
+# $NetBSD: DEINSTALL,v 1.1.1.1 2006/04/28 18:10:21 jlam Exp $
+
+case ${STAGE} in
+DEINSTALL)
+       #
+       # Note some additional files that may be created by the sysadmin
+       # that can probably be removed.
+       #
+       if ${TEST} -x ./+FILES; then
+               for file in                                             \
+                       ${PKG_SYSCONFDIR}/aliases-esmtp                 \
+                       ${PKG_SYSCONFDIR}/aliases-esmtp.dat             \
+                       ${PKG_SYSCONFDIR}/aliases-local                 \
+                       ${PKG_SYSCONFDIR}/aliases-local.dat             \
+                       ${PKG_SYSCONFDIR}/aliases-uucp                  \
+                       ${PKG_SYSCONFDIR}/aliases-uucp.dat              \
+                       ${PKG_SYSCONFDIR}/aliases.dat                   \
+                       ${PKG_SYSCONFDIR}/aliasfilteracct               \
+                       ${PKG_SYSCONFDIR}/backuprelay                   \
+                       ${PKG_SYSCONFDIR}/batchsize                     \
+                       ${PKG_SYSCONFDIR}/bofh                          \
+                       ${PKG_SYSCONFDIR}/dotextension                  \
+                       ${PKG_SYSCONFDIR}/dsnfrom                       \
+                       ${PKG_SYSCONFDIR}/dsnlimit                      \
+                       ${PKG_SYSCONFDIR}/esmtpacceptmailfor            \
+                       ${PKG_SYSCONFDIR}/esmtpacceptmailfor.dat        \
+                       ${PKG_SYSCONFDIR}/esmtpd.pem                    \
+                       ${PKG_SYSCONFDIR}/esmtpd.rand                   \
+                       ${PKG_SYSCONFDIR}/esmtpdelay                    \
+                       ${PKG_SYSCONFDIR}/esmtpgreeting                 \
+                       ${PKG_SYSCONFDIR}/esmtphelo                     \
+                       ${PKG_SYSCONFDIR}/esmtppercentrelay             \
+                       ${PKG_SYSCONFDIR}/esmtppercentrelay.dat         \
+                       ${PKG_SYSCONFDIR}/esmtproutes                   \
+                       ${PKG_SYSCONFDIR}/esmtptimeout                  \
+                       ${PKG_SYSCONFDIR}/esmtptimeoutconnect           \
+                       ${PKG_SYSCONFDIR}/esmtptimeoutdata              \
+                       ${PKG_SYSCONFDIR}/esmtptimeouthelo              \
+                       ${PKG_SYSCONFDIR}/esmtptimeoutkeepalive         \
+                       ${PKG_SYSCONFDIR}/esmtptimeoutkeepaliveping     \
+                       ${PKG_SYSCONFDIR}/esmtptimeoutquit              \
+                       ${PKG_SYSCONFDIR}/faxqueuetime                  \
+                       ${PKG_SYSCONFDIR}/hosteddomains                 \
+                       ${PKG_SYSCONFDIR}/hosteddomains.dat             \
+                       ${PKG_SYSCONFDIR}/locals                        \
+                       ${PKG_SYSCONFDIR}/localtimeout                  \
+                       ${PKG_SYSCONFDIR}/me                            \
+                       ${PKG_SYSCONFDIR}/msgidhost                     \
+                       ${PKG_SYSCONFDIR}/nochangingfrom                \
+                       ${PKG_SYSCONFDIR}/queuefill                     \
+                       ${PKG_SYSCONFDIR}/queuehi                       \
+                       ${PKG_SYSCONFDIR}/queuelo                       \
+                       ${PKG_SYSCONFDIR}/queuetime                     \
+                       ${PKG_SYSCONFDIR}/retryalpha                    \
+                       ${PKG_SYSCONFDIR}/retrybeta                     \
+                       ${PKG_SYSCONFDIR}/retrydelta                    \
+                       ${PKG_SYSCONFDIR}/retrygamma                    \
+                       ${PKG_SYSCONFDIR}/sizelimit                     \
+                       ${PKG_SYSCONFDIR}/smtpaccess.dat                \
+                       ${PKG_SYSCONFDIR}/submitdelay                   \
+                       ${PKG_SYSCONFDIR}/usexsender                    \
+                       ${PKG_SYSCONFDIR}/uucpme                        \
+                       ${PKG_SYSCONFDIR}/uucpneighbors                 \
+                       ${PKG_SYSCONFDIR}/uucprewriteheaders            \
+                       ${PKG_SYSCONFDIR}/warntime                      \
+                       ${PKG_SYSCONFDIR}/webadmin/password
+               do
+                       ${ECHO} "# FILE: $file . /dev/null" >> ./+FILES
+               done
+       fi
+
+       # Unconditionally remove socket files.
+       for sockfile in                                                 \
+               @COURIER_STATEDIR@/allfilters/.dupfilter                \
+               @COURIER_STATEDIR@/allfilters/.perlfilter               \
+               @COURIER_STATEDIR@/allfilters/dupfilter                 \
+               @COURIER_STATEDIR@/allfilters/perlfilter                \
+               @COURIER_STATEDIR@/filters/.dupfilter                   \
+               @COURIER_STATEDIR@/filters/.perlfilter                  \
+               @COURIER_STATEDIR@/filters/dupfilter                    \
+               @COURIER_STATEDIR@/filters/perlfilter
+       do
+               if ${TEST} -f "$sockfile"; then
+                       ${ECHO} "Removing socket file:"
+                       ${ECHO} "       $sockfile"
+                       ${RM} -f $sockfile
+               fi
+       done
+
+       # Unconditionally remove temporary files.
+       ${RM} -rf @COURIER_STATEDIR@/tmp/*
+       ;;
+esac
diff -r 7131abed117a -r 48ef38c6649a mail/courier-mta/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/courier-mta/DESCR    Fri Apr 28 18:10:21 2006 +0000
@@ -0,0 +1,10 @@
+The Courier mail transfer agent (MTA) is a modular multiprotocol mail
+server that's designed to strike a balance between reasonable performance,
+flexibility and features.
+
+When Courier-MTA is installed together with Courier-IMAP and SqWebMail,
+they form an integrated mail/groupware server suite that provides
+ESMTP, IMAP, POP3, webmail, and mailing list services within a single,
+consistent framework.  A web-based administration and configuration
+tool is included for comprehensive configuration of the entire Courier
+software suite.
diff -r 7131abed117a -r 48ef38c6649a mail/courier-mta/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/courier-mta/MESSAGE  Fri Apr 28 18:10:21 2006 +0000
@@ -0,0 +1,27 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2006/04/28 18:10:21 jlam Exp $
+
+It is recommended that Courier-MTA be installed together with Courier-IMAP
+and SqWebMail -- together, they form an integrated mail/groupware
+server suite that provides ESMTP, IMAP, POP3, webmail, and mailing
+list services within a single, consistent framework that may be managed
+through a web CGI application.
+
+There are two things which must be done to make the Courier ``webadmin''
+CGI application accessible through your HTTP server:
+
+  (1) Copy the ``courierwebadmin'' CGI binary to the appropriate place in
+      your HTTP document root, e.g. ${PREFIX}/libexec/cgi-bin, then
+      Courier webadmin would be accessible through:
+
+        http://your.domain.com/cgi-bin/courierwebadmin
+
+  (2) Install a password to protect the ``webadmin'' CGI application by
+      creating a one-line file containing the plaintext password at:
+
+        ${PKG_SYSCONFDIR}/webadmin/password
+
+      This file should be owned by ${COURIER_USER}:${COURIER_GROUP} with
+      read-only permissions restricted to the owner (mode 0400).
+
+===========================================================================
diff -r 7131abed117a -r 48ef38c6649a mail/courier-mta/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/courier-mta/Makefile Fri Apr 28 18:10:21 2006 +0000
@@ -0,0 +1,97 @@
+# $NetBSD: Makefile,v 1.1.1.1 2006/04/28 18:10:21 jlam Exp $
+
+DISTNAME=      courier-${COURIER_VERSION}
+CATEGORIES=    mail
+MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=courier/}
+EXTRACT_SUFX=  .tar.bz2
+
+MAINTAINER=    jlam%pkgsrc.org@localhost
+COMMENT=       Courier mail transport agent
+HOMEPAGE=      http://www.courier-mta.org/
+
+DEPENDS+=      courier-maildir>=${COURIER_VERSION}:../../mail/courier-maildir
+DEPENDS+=      maildrop>=2.0.2:../../mail/maildrop
+
+USE_TOOLS+=            gmake perl:run
+USE_LANGUAGES=         c c++
+
+PKGNAME=               ${DISTNAME:S/-/-mta-/}
+# PKGNAME is a parameter to the following file.
+.include "Makefile.common"
+
+PLIST_SRC+=            ${PKGDIR}/PLIST
+
+.include "pkginstall.mk"
+.include "options.mk"
+
+USERGROUP_PHASE=       configure
+
+CONFIGURE_ENV+=                OPENSSL=${SSLBASE:Q}/bin/openssl
+CONFIGURE_ENV+=                PROCMAIL=${LOCALBASE:Q}/bin/procmail
+
+CONFIGURE_ARGS+=       --datadir=${DATADIR:Q}
+CONFIGURE_ARGS+=       --with-mailuid=${PKG_UID.${COURIER_USER}}
+CONFIGURE_ARGS+=       --with-mailgid=${PKG_GID.${COURIER_GROUP}}
+CONFIGURE_ARGS+=       --with-paranoid-smtpext
+CONFIGURE_ARGS+=       --with-piddir=${VARBASE:Q}/run
+CONFIGURE_ARGS+=       --with-transport=${COURIER_TRANSPORTS:M*:Q}
+CONFIGURE_ARGS+=       --without-certdb
+
+# This argument is actually here just to make the "webmail" configure
+# script work.  The value is not actually used since in reality, we are
+# using the sqwebmail package to provide the Courier webmail component.
+#
+CONFIGURE_ARGS+=       --enable-mimetypes=/nonexistent
+
+INSTALL_DIRS=          webadmin courier
+INSTALL_AM_MAKEFLAGS+= sysconfdir=${EGDIR:Q}
+INSTALL_AM_MAKEFLAGS+= htmldocdir=${DOCDIR:Q}
+INSTALL_MAKE_FLAGS=    ${MAKE_FLAGS} AM_MAKEFLAGS=${INSTALL_AM_MAKEFLAGS:Q}
+
+SUBST_CLASSES+=                courier
+SUBST_FILES.courier=   courier/doc/mkesmtpdcert.8.in                   \
+                       courier/doc/mkesmtpdcert.html.in                \
+                       courier/filters/courierfilter.8.in              \
+                       courier/filters/courierfilter.html.in           \
+                       courier/module.esmtp/esmtpd-msa.dist.in         \
+                       courier/module.esmtp/esmtpd-ssl.dist.in         \
+                       courier/module.esmtp/esmtpd.cnf.in              \
+                       courier/module.esmtp/esmtpd.dist.in             \
+                       courier/module.esmtp/mkesmtpdcert.in
+SUBST_SED.courier=     -e "s|^ESMTPDSTART=.*|ESMTPDSTART=YES|g"        \
+                       -e "s|^ESMTPDSSLSTART=.*|ESMTPDSSLSTART=YES|g"  \
+                       -e "s|@datadir@/esmtpd.pem|@sysconfdir@/esmtpd.pem|g" \
+                       -e "s|@datadir@/esmtpd.rand|@sysconfdir@/esmtpd.rand|g" \
+                       -e "s|@libexecdir@/filters|@libexecdir@/courier/filters|g"
+SUBST_STAGE.courier=   pre-configure
+
+SUBST_CLASSES+=                perms
+SUBST_FILES.perms=     courier/perms.sh.in
+SUBST_SED.perms+=      -e "s,@ROOT_USER@,"${ROOT_USER:Q}",g"           \
+                       -e "s,@ROOT_GROUP@,"${ROOT_GROUP:Q}",g"
+SUBST_STAGE.perms=     pre-configure
+
+SUBST_CLASSES+=                paths
+SUBST_FILES.paths=     ${WRKDIR}/mailer.conf
+SUBST_SED.paths+=      -e 's,@PREFIX@,${PREFIX},g'
+SUBST_STAGE.paths=     post-patch
+
+.include "../../lang/perl5/buildlink3.mk"
+.include "../../security/courier-authlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+
+post-extract:
+       ${CP} ${FILESDIR}/mailer.conf ${WRKDIR}/mailer.conf
+
+post-build:
+       ${CAT} /dev/null > ${WRKDIR}/locallowercase
+       ${ECHO} ${PREFIX:Q}"/bin/maildrop" > ${WRKDIR}/maildropfilter
+
+post-install:
+       cd ${WRKSRC}/courier &&                                         \
+       ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} install-permissions
+       ${INSTALL_DATA} ${WRKDIR}/mailer.conf ${EGDIR}
+       ${INSTALL_DATA} ${WRKDIR}/locallowercase ${EGDIR}/locallowercase
+       ${INSTALL_DATA} ${WRKDIR}/maildropfilter ${EGDIR}/maildropfilter
+
+.include "../../mk/bsd.pkg.mk"
diff -r 7131abed117a -r 48ef38c6649a mail/courier-mta/Makefile.common
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mail/courier-mta/Makefile.common  Fri Apr 28 18:10:21 2006 +0000
@@ -0,0 +1,60 @@
+# $NetBSD: Makefile.common,v 1.1.1.1 2006/04/28 18:10:21 jlam Exp $
+#
+# Package Makefiles should include this file after setting PKGNAME and
+# PKG_SUPPORTED_OPTIONS.
+
+COURIER_VERSION=       0.53.1
+
+.if !defined(PKGNAME)
+PKG_FAIL_REASON+=      "[courier/Makefile.common] PKGNAME must be set."
+.endif
+
+.include "../../mk/bsd.prefs.mk"
+
+DATADIR=               ${PREFIX}/share/courier
+DOCDIR=                        ${PREFIX}/share/doc/courier
+EGDIR=                 ${PREFIX}/share/examples/courier
+LIBEXECDIR=            ${PREFIX}/libexec/courier
+COURIER_STATEDIR=      ${VARBASE}/courier
+
+PKG_SYSCONFSUBDIR=     courier
+PKG_SYSCONFDIR_PERMS=  ${COURIER_USER} ${COURIER_GROUP} 0755
+COURIER_FILE_PERMS=    ${COURIER_USER} ${COURIER_GROUP} 0644
+COURIER_DIR_PERMS=     ${COURIER_USER} ${COURIER_GROUP} 0755
+COURIER_SCRIPT_PERMS=  ${COURIER_USER} ${COURIER_GROUP} 0755
+
+FILES_SUBST+=          COURIER_STATEDIR=${COURIER_STATEDIR:Q}
+
+.include "../../security/courier-authlib/Makefile.common"
+
+USE_LIBTOOL=           yes
+GNU_CONFIGURE=         yes
+CONFIGURE_ARGS+=       --localstatedir=${COURIER_STATEDIR:Q}
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR:Q}
+
+CONFIGURE_ARGS+=       --disable-root-check
+CONFIGURE_ARGS+=       --enable-unicode
+CONFIGURE_ARGS+=       --enable-utf7-folder-encoding
+CONFIGURE_ARGS+=       --with-trashquota
+
+USE_DB185=             yes
+CONFIGURE_ARGS+=       --with-db=db
+.include "../../mk/bdb.buildlink3.mk"
+
+CONFIGURE_ENV+=                SYSCONFTOOL_PERL=${PERL5:Q}
+
+# Note: This expression is the same as ${PKGBASE}, but the latter is
+# not defined yet, so we cannot use it here.
+PKG_OPTIONS_VAR=       PKG_OPTIONS.${PKGNAME:C/-[0-9].*//}
+.include "../../mk/bsd.options.mk"
+
+# The maildir subdirectory can be built with a "fam" option, but it's only
+# useful for the imap server and the webmail client.  Handle the option
+# here, but the corresponding package Makefiles should note that "fam" is



Home | Main Index | Thread Index | Old Index