aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordinoex <dinoex@FreeBSD.org>2007-06-10 21:20:37 +0800
committerdinoex <dinoex@FreeBSD.org>2007-06-10 21:20:37 +0800
commit456998c08bf32e9d5f780ced1c8f4dca3b6b7c2d (patch)
tree3b5361c405b8bf6619c0cd2f468f3aac4ecc012c
parent2cf7b6104bc7d8230ad964133560cd280e6ca375 (diff)
downloadfreebsd-ports-gnome-456998c08bf32e9d5f780ced1c8f4dca3b6b7c2d.tar.gz
freebsd-ports-gnome-456998c08bf32e9d5f780ced1c8f4dca3b6b7c2d.tar.zst
freebsd-ports-gnome-456998c08bf32e9d5f780ced1c8f4dca3b6b7c2d.zip
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.
-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