aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/Makefile1
-rw-r--r--mail/meta1/Makefile180
-rw-r--r--mail/meta1/distinfo3
-rw-r--r--mail/meta1/pkg-descr21
-rw-r--r--mail/meta1/pkg-plist64
5 files changed, 269 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile
index 3516a783186b..4e66d3c30bb3 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -237,6 +237,7 @@
SUBDIR += mdpop3d
SUBDIR += mess822
SUBDIR += messagewall
+ SUBDIR += meta1
SUBDIR += metamail
SUBDIR += mew
SUBDIR += mew-emacs20
diff --git a/mail/meta1/Makefile b/mail/meta1/Makefile
new file mode 100644
index 000000000000..e9d3e93931a6
--- /dev/null
+++ b/mail/meta1/Makefile
@@ -0,0 +1,180 @@
+# New ports collection makefile for: meta1
+# Date created: 19 Oct 2006
+# Whom: dirk.meyer@dinoex.sub.org
+#
+# $FreeBSD$
+#
+
+PORTNAME= meta1
+PORTVERSION= 1.0.PreAlpha17.0
+CATEGORIES= mail ipv6
+MASTER_SITES= http://www.MeTA1.org/download/.prealpha/sctoo/
+PKGNAMESUFFIX?= ${TLS_SUFFIX}${SASL_SUFFIX}${LDAP_SUFFIX}${BERKELEYDB_SUFFIX}${PMILTER_SUFFIX}${PKGNAMESUFFIX2}
+DISTNAME= ${PORTNAME}-${PORTVERSION}
+
+MAINTAINER= dinoex@FreeBSD.org
+COMMENT= Secure and efficient mail gateway
+
+NOT_FOR_ARCHS= ia64
+CONFILCTS= smx-*
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+GNU_CONFIGURE= yes
+CONFIGURE_TARGET=
+CONFIGURE_ARGS+= --disable-dependency-tracking
+MAKE_ENV+= META1CONFDIR="${META1CONFDIR}"
+MAN8= createmap.8 mailq.8 mcp.8 milter-spamd.8 milter-regex.8 qmgr.8 \
+ qmgrctl.8 runas.8 meta1.8 smar.8 smtpc.8 smtps.8
+MLINKS= sendmailx.conf.5 meta1.conf.5 \
+ sendmailx.8 sendmailX.8
+PORTDOCS= README.dvi README.html README.pdf README.ps README.txt \
+ img1.png img2.png img3.png img4.png img5.png img6.png \
+ nx_grp_g.png overview1.eps overview1.gif overview1.pdf \
+ prev_g.png up_g.png pmilter.api.tex
+PLIST_SUB+= SPOOL=${DESTDIR}/var/spool
+PLIST_SUB+= NOLOGIN=${NOLOGIN_CMD}
+EXTRA_SBIN= libcheck/noroot libconf/tree libmta/statit \
+ libmta/t-hostname checks/t-getgroup
+
+# Options to define Features:
+# META1_WITHOUT_TLS=yes
+# META1_WITHOUT_SASL=yes
+# META1_WITHOUT_PMILTER=yes
+# META1_WITH_INTERNAL_BERKELEYD=yes
+# META1_WITH_BERKELEYDB=yes
+# Set either WITH_BDB_VER or META1_WITH_BDB_VER
+# to the version of Berkely DB to use.
+
+# default config:
+META1CONFDIR?= ${PREFIX}/etc/meta1
+
+.if defined(META1_WITH_BERKELEYDB_VER)
+META1_WITH_BERKELEYDB= yes
+OBSOLETE_BDB_VAR= META1_WITH_BERKELEYDB_VER BERKELEYDB_PORT \
+ BERKELEYDB_LIB BERKELEYDB_LIBDIR BERKELEYDB_INCLUDE
+IGNORE= use META1_WITH_BERKELEYDB to select Berkeley DB
+.endif
+
+.if defined(META1_WITH_INTERNAL_BERKELEYD)
+BERKELEYDB_SUFFIX= -intbdb
+PLIST_SUB+= WITH_BDBINT=""
+.else
+.if defined(META1_WITH_BDB_VER)
+META1_WITH_BERKELEYDB=yes
+.endif
+.if !defined(META1_WITH_BERKELEYDB)
+META1_WITH_BERKELEYDB=yes
+WITH_BDB_VER= 43
+.endif
+USE_BDB= 41+
+IGNORE_WITH_BDB= 2 3 40
+BERKELEYDB_SUFFIX= -${BDB_INCLUDE_DIR:S,^${LOCALBASE}/include/,,}
+CONFIGURE_ARGS+= --disable-included-bdb
+CONFIGURE_ARGS+= --with-bdb-incdir=${BDB_INCLUDE_DIR}
+CONFIGURE_ARGS+= --with-bdb-libdir=${BDB_LIB_DIR}
+PLIST_SUB+= WITH_BDBINT="@comment "
+.endif
+
+.if defined(META1_WITHOUT_SASL)
+SASL_SUFFIX?= -nosasl
+CONFIGURE_ARGS+= --disable-SASL
+.else
+LIB_DEPENDS+= sasl2.2:${PORTSDIR}/security/cyrus-sasl2
+.if !defined(META1_WITHOUT_SASLAUTHD)
+RUN_DEPENDS+= ${LOCALBASE}/sbin/saslauthd:${PORTSDIR}/security/cyrus-sasl2-saslauthd
+.endif
+CONFIGURE_ARGS+= --enable-SASL
+CONFIGURE_ARGS+= --with-sasl-incdir=${LOCALBASE}/include
+CONFIGURE_ARGS+= --with-sasl-libdir=${LOCALBASE}/lib
+.endif
+
+.if defined(META1_WITHOUT_TLS) || defined(WITHOUT_TLS)
+TLS_SUFFIX?= -notls
+CONFIGURE_ARGS+= --disable-TLS
+.else
+CONFIGURE_ARGS+= --enable-TLS
+.endif
+
+.if defined(META1_WITHOUT_PMILTER) || defined(WITHOUT_PMILTER)
+PMILTER_SUFFIX?= -nopmilter
+CONFIGURE_ARGS+= --disable-pmilter
+.else
+USE_OPENSSL= yes
+CONFIGURE_ARGS+= --enable-pmilter
+.endif
+
+post-patch:
+ ${REINPLACE_CMD} -e 's|echo aout|echo elf|' \
+ ${WRKSRC}/db-4.3.28.NC/dist/configure
+
+post-configure:
+ @${CP} ${WRKSRC}/misc/sm.check.sh ${WRKSRC}/misc/sm.setup.sh \
+ ${WRKDIR}/
+ @${REINPLACE_CMD} -e 's|/etc/meta1|${META1CONFDIR}|g' \
+ -e 's|$${SD}/misc|${PREFIX}/bin|' \
+ -e 's|$${SD}/libcheck|${PREFIX}/sbin|' \
+ -e 's|$${SD}/libmta|${PREFIX}/sbin|' \
+ -e 's|$${SD}/checks|${PREFIX}/sbin|' \
+ ${WRKDIR}/sm.check.sh
+ @${REINPLACE_CMD} -e 's|/etc/meta1|${META1CONFDIR}|g' \
+ -e 's|[.]/misc|${PREFIX}/bin|' \
+ -e 's|$${S}/libconf|${PREFIX}/sbin|' \
+ -e 's|[.]/libmta|${PREFIX}/sbin|' \
+ -e 's|[.]/checks|${PREFIX}/sbin|' \
+ -e 's|=mcp.sh|=${PREFIX}/etc/rc.d/meta1-mcp.sh|' \
+ ${WRKDIR}/sm.setup.sh
+
+test:
+ (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check)
+
+regression-test: test
+
+pre-install:
+ if ! pw groupshow meta1s; then pw groupadd meta1s -g 260; fi
+ if ! pw groupshow meta1q; then pw groupadd meta1q -g 261; fi
+ if ! pw groupshow meta1c; then pw groupadd meta1c -g 262; fi
+ if ! pw groupshow meta1m; then pw groupadd meta1m -g 263; fi
+ if ! pw groupshow meta1; then pw groupadd meta1 -g 264; fi
+ if ! pw usershow meta1s; then pw useradd meta1s -g meta1s -u 260 \
+ -h - -d ${NONEXISTENT} -s ${NOLOGIN_CMD} -c "MeTA1 SMTPS"; fi
+ if ! pw usershow meta1q; then pw useradd meta1q -g meta1q -u 261 \
+ -h - -d ${NONEXISTENT} -s ${NOLOGIN_CMD} -c "MeTA1 QMGR"; fi
+ if ! pw usershow meta1c; then pw useradd meta1c -g meta1c -u 262 \
+ -h - -d ${NONEXISTENT} -s ${NOLOGIN_CMD} -c "MeTA1 SMTPC"; fi
+ if ! pw usershow meta1m; then pw useradd meta1m -g meta1m -u 263 \
+ -h - -d ${NONEXISTENT} -s ${NOLOGIN_CMD} -c "MeTA1 misc"; fi
+ if ! pw usershow meta1; then pw useradd meta1 -g meta1 -u 264 \
+ -h - -d ${NONEXISTENT} -s ${NOLOGIN_CMD} -c "MeTA1 other"; fi
+ pw groupmod meta1c -m meta1s
+ pw groupmod meta1m -m meta1s,meta1q
+.if !defined(BATCH)
+ cd ${WRKSRC} && ${SH} ./misc/sm.setup.sh
+.endif
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/sm.check.sh ${PREFIX}/sbin/
+ ${INSTALL_SCRIPT} ${WRKDIR}/sm.setup.sh ${PREFIX}/sbin/
+.for i in ${EXTRA_SBIN}
+ ${INSTALL_PROGRAM} ${WRKSRC}/${i} ${PREFIX}/sbin/
+.endfor
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ @cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}/
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if !defined(UID)
+UID!= ${ID} -u
+.endif
+.if ${UID} != 0
+post-build: test
+.endif
+
+.if ${OSVERSION} < 500000
+NOLOGIN_CMD?= /sbin/nologin
+.else
+NOLOGIN_CMD?= /usr/sbin/nologin
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/mail/meta1/distinfo b/mail/meta1/distinfo
new file mode 100644
index 000000000000..307e808edfdf
--- /dev/null
+++ b/mail/meta1/distinfo
@@ -0,0 +1,3 @@
+MD5 (meta1-1.0.PreAlpha17.0.tar.gz) = 079dceaee6e191e17b4accad2a45c123
+SHA256 (meta1-1.0.PreAlpha17.0.tar.gz) = 43dbad8cf5c8db3a7420fbadef00e5380b883aa27f28f594f784ed20d00b96ce
+SIZE (meta1-1.0.PreAlpha17.0.tar.gz) = 4204351
diff --git a/mail/meta1/pkg-descr b/mail/meta1/pkg-descr
new file mode 100644
index 000000000000..4e3f624b05be
--- /dev/null
+++ b/mail/meta1/pkg-descr
@@ -0,0 +1,21 @@
+MeTA1 is a message transfer agent that has been designed with
+these main topics in minds:
+
+ * Security
+ * Reliability
+ * Efficiency
+ * Configurability
+ * Extendibility
+
+MeTA1 consists of five main modules of which only one runs as root:
+
+ * mcp: the main control program is similar to inetd(8):
+ it starts all other MeTA1 modules and watches over their execution.
+ mcp runs as root in order to bind to port 25 and to change the uid
+ of the processes it starts.
+ * smtps: the SMTP server receives e-mails.
+ * smtpc: the SMTP client sends e-mails.
+ * smar: the address resolver provides lookups in various maps
+ including DNS for mail routing.
+ * qmgr: the queue manager controls the flow of e-mails through the
+ SMTP servers and clients.
diff --git a/mail/meta1/pkg-plist b/mail/meta1/pkg-plist
new file mode 100644
index 000000000000..be8b11e0f91c
--- /dev/null
+++ b/mail/meta1/pkg-plist
@@ -0,0 +1,64 @@
+@exec if ! pw groupshow meta1s 2>/dev/null; then pw groupadd meta1s -g 260; fi
+@exec if ! pw groupshow meta1q 2>/dev/null; then pw groupadd meta1q -g 261; fi
+@exec if ! pw groupshow meta1c 2>/dev/null; then pw groupadd meta1c -g 262; fi
+@exec if ! pw groupshow meta1m 2>/dev/null; then pw groupadd meta1m -g 263; fi
+@exec if ! pw groupshow meta1 2>/dev/null; then pw groupadd meta1 -g 264; fi
+@exec if ! pw usershow meta1s 2>/dev/null; then pw useradd meta1s -g meta1s -u 260 -h - -d /nonexistent -s %%NOLOGIN%% -c "MeTA1 SMTPS"; fi
+@exec if ! pw usershow meta1q 2>/dev/null; then pw useradd meta1q -g meta1q -u 261 -h - -d /nonexistent -s %%NOLOGIN%% -c "MeTA1 QMGR"; fi
+@exec if ! pw usershow meta1c 2>/dev/null; then pw useradd meta1c -g meta1c -u 262 -h - -d /nonexistent -s %%NOLOGIN%% -c "MeTA1 SMTPC"; fi
+@exec if ! pw usershow meta1m 2>/dev/null; then pw useradd meta1m -g meta1m -u 263 -h - -d /nonexistent -s %%NOLOGIN%% -c "MeTA1 misc"; fi
+@exec if ! pw usershow meta1 2>/dev/null; then pw useradd meta1 -g meta1 -u 264 -h - -d /nonexistent -s %%NOLOGIN%% -c "MeTA1 other"; fi
+@exec pw groupmod meta1c -m meta1s
+@exec pw groupmod meta1m -m meta1s,meta1q
+@unexec if pw usershow meta1s; then pw userdel meta1s; fi
+@unexec if pw usershow meta1q; then pw userdel meta1q; fi
+@unexec if pw usershow meta1c; then pw userdel meta1c; fi
+@unexec if pw usershow meta1m; then pw userdel meta1m; fi
+@unexec if pw usershow meta1; then pw userdel meta1; fi
+%%WITH_BDBINT%%bin/db_archive
+%%WITH_BDBINT%%bin/db_checkpoint
+%%WITH_BDBINT%%bin/db_deadlock
+%%WITH_BDBINT%%bin/db_dump
+%%WITH_BDBINT%%bin/db_load
+%%WITH_BDBINT%%bin/db_printlog
+%%WITH_BDBINT%%bin/db_recover
+%%WITH_BDBINT%%bin/db_stat
+%%WITH_BDBINT%%bin/db_upgrade
+%%WITH_BDBINT%%bin/db_verify
+%%WITH_BDBINT%%include/db.h
+%%WITH_BDBINT%%lib/libdb-4.3.a
+%%WITH_BDBINT%%lib/libdb.a
+bin/createmap
+bin/log2time
+bin/mailq
+bin/mailq.sh
+bin/qmgrctl
+bin/qmgrctl.sh
+bin/rcvrenvfromlog.sh
+bin/runas
+bin/smconf
+include/meta1/hdrmoddef.h
+include/meta1/mfapi.h
+include/meta1/pmfapi.h
+include/meta1/pmfdef.h
+include/meta1/smreplycodes.h
+include/meta1/smmts.h
+lib/meta1/libpmilter.a
+lib/meta1/libpmutil.a
+libexec/qmgr
+libexec/smar
+libexec/smtpc
+libexec/smtps
+sbin/greyprint
+sbin/greyrm
+sbin/mcp
+sbin/noroot
+sbin/sm.check.sh
+sbin/sm.setup.sh
+sbin/statit
+sbin/t-hostname
+sbin/t-getgroup
+sbin/tree
+@dirrm include/meta1
+@dirrm lib/meta1
+@exec %D/sbin/sm.setup.sh