summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /mail-filter/dcc
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'mail-filter/dcc')
-rw-r--r--mail-filter/dcc/Manifest2
-rw-r--r--mail-filter/dcc/dcc-1.3.140-r1.ebuild147
-rw-r--r--mail-filter/dcc/dcc-1.3.154.ebuild133
-rw-r--r--mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch17
-rw-r--r--mail-filter/dcc/files/dcc-1.3.140-freebsd.patch13
-rw-r--r--mail-filter/dcc/files/dcc-1.3.86.patch41
-rw-r--r--mail-filter/dcc/files/dcc.confd14
-rw-r--r--mail-filter/dcc/files/dcc.initd136
-rw-r--r--mail-filter/dcc/files/dcc.initd-1.3.140101
-rw-r--r--mail-filter/dcc/files/dcc.initd-1.3.154103
-rw-r--r--mail-filter/dcc/metadata.xml12
11 files changed, 719 insertions, 0 deletions
diff --git a/mail-filter/dcc/Manifest b/mail-filter/dcc/Manifest
new file mode 100644
index 000000000000..fd22ebed0025
--- /dev/null
+++ b/mail-filter/dcc/Manifest
@@ -0,0 +1,2 @@
+DIST dcc-1.3.140.tar.Z 1681539 SHA256 19060563d3d72b70578d8f16e6780458d36f1a1db18a6d1e533bc42d80c38f24 SHA512 1c36bb32ae36480ded8306ca6a460a3070758397075cd6a4cee9c01a0e306ad371336037adf7759c8ef96f46b36c408699b7ec43b01268ac8e7c289d1e31d2e1 WHIRLPOOL 9415bd94a74b6e0d22ec323a8cf5227c08f5026c24b1530c7708321d092d5f0c58d6f3d5e7beb03d0dca948ea8c75cf3220d34e1b077030ee0b9b85c80644b64
+DIST dcc-1.3.154.tar.Z 1711292 SHA256 bc2e1496ec04914690c1d6d9d0f8be0954551b4165d731eb2d07dad307269399 SHA512 703bd3de44ccff3f318239dc2ca26a285f83ae0340a91391bcc5b719c298e77c8122d1502665350ddfc9fb14f12d9b6a56cba422ff8985db9cee6c91091fb987 WHIRLPOOL 7595b36066d3a89b1d2f4952334f6abe7cc70a1c03ff06ac6596b8901b8590329c944c9eeb132ed6253a4841150308378bef87dc5b2b74495c92a283110e0b14
diff --git a/mail-filter/dcc/dcc-1.3.140-r1.ebuild b/mail-filter/dcc/dcc-1.3.140-r1.ebuild
new file mode 100644
index 000000000000..740cc7728de3
--- /dev/null
+++ b/mail-filter/dcc/dcc-1.3.140-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="http://www.rhyolite.com/anti-spam/dcc/"
+SRC_URI="http://www.rhyolite.com/anti-spam/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="dev-lang/perl
+ rrdtool? ( net-analyzer/rrdtool )
+ || ( net-misc/wget www-client/fetch net-misc/curl net-ftp/ftp )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )"
+DEPEND="sys-apps/sed
+ sys-devel/gcc
+ ${RDEPEND}"
+
+dcc_cgibin=/var/www/localhost/cgi-bin/dcc
+dcc_homedir=/var/dcc
+dcc_libexec=/usr/sbin
+dcc_man=/usr/share/man
+dcc_rundir=/var/run/dcc
+
+src_prepare() {
+ epatch "${FILESDIR}"/dcc-1.3.140-configure-fix.patch
+}
+
+src_configure() {
+ local myconf
+ myconf="${myconf} --homedir=${dcc_homedir}"
+ myconf="${myconf} --bindir=/usr/bin"
+ myconf="${myconf} --libexecdir=${dcc_libexec}"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --with-updatedcc_pfile=${dcc_homedir}/updatecc.pfile"
+ myconf="${myconf} --with-installroot=${D}"
+ # sigh. should be DCC-MD5 but see line 486 in the shipped configure script
+ myconf="${myconf} --with-DDC-MD5"
+ myconf="${myconf} --with-uid=root"
+ myconf="${myconf} --enable-server"
+ myconf="${myconf} --enable-dccifd"
+ myconf="${myconf} --with-rundir=${dcc_rundir}"
+ myconf="${myconf} --with-db-memory=64"
+ myconf="${myconf} --with-max-db-mem=128"
+ myconf="${myconf} --with-max-log-size=0"
+ myconf="${myconf} $(use_enable ipv6 IPv6)"
+
+ if use milter ; then
+ myconf="${myconf} --enable-dccm"
+ myconf="${myconf} --with-sendmail="
+ else
+ myconf="${myconf} --disable-dccm"
+ fi
+
+ if use cgi ; then
+ myconf="${myconf} --with-cgibin=${dcc_cgibin}"
+ else
+ myconf="${myconf} --without-cgibin"
+ fi
+
+ einfo "Using config: ${myconf}"
+
+ # This is NOT a normal configure script.
+ ./configure ${myconf} || die "configure failed!"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" || die "emake failed!"
+}
+
+moveconf() {
+ local into=/etc/dcc/
+ for i in $@; do
+ mv "${D}${dcc_homedir}/${i}" "${D}${into}"
+ dosym "${into}${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ MANOWN=root MANGRP=root export MANOWN MANGRP
+ BINOWN="${MANOWN}" BINGRP="${MANGRP}" export BINOWN BINGRP
+ DCC_PROTO_HOMEDIR="${D}${dcc_homedir}" export DCC_PROTO_HOMEDIR
+ DCC_CGIBINDIR="${D}${dcc_cgibin}" export DCC_CGIBINDIR
+ DCC_SUID="${BINOWN}" DCC_OWN="${BINOWN}" DCC_GRP="${BINGRP}" export DCC_SUID DCC_OWN DCC_GRP
+
+ dodir /etc/cron.daily "${dcc_homedir}" /usr/bin /usr/sbin /usr/share/man/man{0,8} /etc/dcc
+ if use cgi ; then
+ dodir "${dcc_cgibin}"
+ fi
+ keepdir /var/log/dcc
+
+ # This package now takes "${D}" at compile-time!
+ # make DESTDIR="${D}" DCC_BINDIR="${D}"/usr/bin MANDIR="${D}"/usr/share/man/man DCC_HOMEDIR="${D}"${dcc_homedir} install || die
+ emake install || die "emake install failed"
+
+ # branding and setting reasonable defaults
+ sed -e "s/BRAND=\$/BRAND='Gentoo ${PF}'/;" \
+ -e "s/GREY_ENABLE=\$/GREY_ENABLE=off/;" \
+ -e "s/DCCM_LOG_AT=5\$/DCCM_LOG_AT=50/;" \
+ -e "s,DCCM_LOGDIR=\"log\"\$,DCCM_LOGDIR=\"/var/log/dcc\",;" \
+ -e "s/DCCM_ARGS=\$/DCCM_ARGS='-SHELO -Smail_host -SSender -SList-ID'/;" \
+ -e "s/DCCIFD_ARGS=\$/DCCIFD_ARGS=\"\$DCCM_ARGS\"/;" \
+ -e 's/DCCIFD_ENABLE=off/DCCIFD_ENABLE=on/' \
+ -e 's/DBCLEAN_LOGDAYS=14/DBCLEAN_LOGDAYS=1/' \
+ -i "${D}${dcc_homedir}/dcc_conf"
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${D}${dcc_homedir}"/dcc_conf
+ fi
+
+ # provide cronjob
+ mv "${D}"/usr/sbin/cron-dccd "${D}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${D}"/usr/sbin/logger "${D}"/usr/sbin/logger-dcc || die "mv failed"
+
+ statslist="${D}/usr/sbin/{dcc-stats-graph,dcc-stats-init,dcc-stats-collect}"
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ eval rm -f ${statslist} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm -f "${D}"/usr/sbin/{rcDCC,updatedcc}
+
+ # place configuration files into /etc instead of /var/dcc
+ moveconf dcc_conf flod grey_flod grey_whitelist ids map map.txt whiteclnt whitecommon whitelist
+
+ newinitd "${FILESDIR}"/dcc.initd-1.3.140 dcc
+ newconfd "${FILESDIR}"/dcc.confd dcc
+
+ rmdir "${D}"/var/dcc/log/
+
+ dodoc CHANGES RESTRICTIONS
+ dohtml *.html
+ doman *.{0,8}
+}
diff --git a/mail-filter/dcc/dcc-1.3.154.ebuild b/mail-filter/dcc/dcc-1.3.154.ebuild
new file mode 100644
index 000000000000..35796acc3086
--- /dev/null
+++ b/mail-filter/dcc/dcc-1.3.154.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit base eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="http://www.rhyolite.com/anti-spam/dcc/"
+SRC_URI="http://www.rhyolite.com/anti-spam/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" # ~amd64-fbsd
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="dev-lang/perl
+ rrdtool? ( net-analyzer/rrdtool )
+ || ( net-misc/wget www-client/fetch net-misc/curl net-ftp/ftp )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )"
+DEPEND="sys-apps/sed
+ sys-devel/gcc
+ ${RDEPEND}"
+
+dcc_cgibin=/var/www/localhost/cgi-bin/dcc
+dcc_homedir=/var/dcc
+dcc_libexec=/usr/sbin
+dcc_man=/usr/share/man
+dcc_rundir=/var/run/dcc
+
+PATCHES=( "${FILESDIR}"/dcc-1.3.140-freebsd.patch )
+
+src_configure() {
+ tc-export CC AR RANLIB
+ local myconf
+ myconf="${myconf} --homedir=${dcc_homedir}"
+ myconf="${myconf} --bindir=/usr/bin"
+ myconf="${myconf} --libexecdir=${dcc_libexec}"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --with-updatedcc_pfile=${dcc_homedir}/updatecc.pfile"
+ myconf="${myconf} --with-installroot=${D}"
+ # sigh. should be DCC-MD5 but see line 486 in the shipped configure script
+ myconf="${myconf} --with-DDC-MD5"
+ myconf="${myconf} --with-uid=root"
+ myconf="${myconf} --enable-server"
+ myconf="${myconf} --enable-dccifd"
+ myconf="${myconf} --with-rundir=${dcc_rundir}"
+ myconf="${myconf} --with-db-memory=64"
+ myconf="${myconf} --with-max-db-mem=128"
+ myconf="${myconf} --with-max-log-size=0"
+ myconf="${myconf} --with-make-cmd=${MAKE:-make}"
+ myconf="${myconf} $(use_enable ipv6 IPv6)"
+ myconf="${myconf} $(use_with cgi cgibin ${dcc_cgibin})"
+ myconf="${myconf} $(use_enable milter dccm)"
+ use milter && myconf="${myconf} --with-sendmail="
+
+ einfo "Using config: ${myconf}"
+
+ # This is NOT a normal configure script.
+ ./configure ${myconf} || die "configure failed!"
+}
+
+moveconf() {
+ local into=/etc/dcc/
+ for i in $@; do
+ mv "${D}${dcc_homedir}/${i}" "${D}${into}"
+ dosym "${into}${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ MANOWN=root MANGRP=$(id -g -n root) export MANOWN MANGRP
+ BINOWN="${MANOWN}" BINGRP="${MANGRP}" export BINOWN BINGRP
+ DCC_PROTO_HOMEDIR="${D}${dcc_homedir}" export DCC_PROTO_HOMEDIR
+ DCC_CGIBINDIR="${D}${dcc_cgibin}" export DCC_CGIBINDIR
+ DCC_SUID="${BINOWN}" DCC_OWN="${BINOWN}" DCC_GRP="${BINGRP}" export DCC_SUID DCC_OWN DCC_GRP
+
+ dodir /etc/cron.daily "${dcc_homedir}" /usr/bin /usr/sbin /usr/share/man/man{0,8} /etc/dcc
+ if use cgi ; then
+ dodir "${dcc_cgibin}"
+ fi
+ keepdir /var/log/dcc
+
+ # This package now takes "${D}" at compile-time!
+ # make DESTDIR="${D}" DCC_BINDIR="${D}"/usr/bin MANDIR="${D}"/usr/share/man/man DCC_HOMEDIR="${D}"${dcc_homedir} install || die
+ emake install
+
+ # branding and setting reasonable defaults
+ sed -e "s/BRAND=\$/BRAND='Gentoo ${PF}'/;" \
+ -e "s/GREY_ENABLE=\$/GREY_ENABLE=off/;" \
+ -e "s/DCCM_LOG_AT=5\$/DCCM_LOG_AT=50/;" \
+ -e "s,DCCM_LOGDIR=\"log\"\$,DCCM_LOGDIR=\"/var/log/dcc\",;" \
+ -e "s/DCCM_ARGS=\$/DCCM_ARGS='-SHELO -Smail_host -SSender -SList-ID'/;" \
+ -e "s/DCCIFD_ARGS=\$/DCCIFD_ARGS=\"\$DCCM_ARGS\"/;" \
+ -e 's/DCCIFD_ENABLE=off/DCCIFD_ENABLE=on/' \
+ -e 's/DBCLEAN_LOGDAYS=14/DBCLEAN_LOGDAYS=1/' \
+ -i "${D}${dcc_homedir}/dcc_conf"
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${D}${dcc_homedir}"/dcc_conf
+ fi
+
+ # provide cronjob
+ mv "${D}"/usr/sbin/cron-dccd "${D}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${D}"/usr/sbin/logger "${D}"/usr/sbin/logger-dcc || die "mv failed"
+
+ statslist="${D}/usr/sbin/{dcc-stats-graph,dcc-stats-init,dcc-stats-collect}"
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ eval rm -f ${statslist} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm -f "${D}"/usr/sbin/{rcDCC,updatedcc}
+
+ # place configuration files into /etc instead of /var/dcc
+ moveconf dcc_conf flod grey_flod grey_whitelist ids map map.txt whiteclnt whitecommon whitelist
+
+ newinitd "${FILESDIR}"/dcc.initd-1.3.154 dcc
+ newconfd "${FILESDIR}"/dcc.confd dcc
+
+ rmdir "${D}"/var/dcc/log/
+
+ dodoc CHANGES RESTRICTIONS
+ dohtml *.html
+ doman *.{0,8}
+}
diff --git a/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch b/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch
new file mode 100644
index 000000000000..41620929c61e
--- /dev/null
+++ b/mail-filter/dcc/files/dcc-1.3.140-configure-fix.patch
@@ -0,0 +1,17 @@
+Avoid installing into /no/.
+
+Signed-off-by: Lars Wendler (Polynomial-C) <polynomial-c@gentoo.org>
+X-Gentoo-Bug: 388383
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/388383
+
+--- dcc-1.3.140/configure
++++ dcc-1.3.140/configure
+@@ -3256,7 +3256,7 @@
+ withval="$with_cgibin"
+ :
+ fi
+-if test -n "$with_cgibin" -a "$with_cgi_bin" != no; then
++if test -n "$with_cgibin" -a "$with_cgibin" != no; then
+ cgibin="$with_cgibin"
+ fi
+
diff --git a/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch b/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch
new file mode 100644
index 000000000000..e72224f41c2f
--- /dev/null
+++ b/mail-filter/dcc/files/dcc-1.3.140-freebsd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index 5efe49d..de8d6f2 100755
+--- a/configure
++++ b/configure
+@@ -3677,7 +3677,7 @@ case "$TARGET_SYS" in
+ # compressed via /usr/share/mk
+ mancat=man
+ MANX='$(MAN8)'
+- USE_DCCMANINSTALL='# USE_DCCMANINSTALL=no'
++ USE_DCCMANINSTALL='USE_DCCMANINSTALL=yes'
+ ;;
+ DragonFly)
+ # default to /usr/local/man/man8 and use nroff files, possibly
diff --git a/mail-filter/dcc/files/dcc-1.3.86.patch b/mail-filter/dcc/files/dcc-1.3.86.patch
new file mode 100644
index 000000000000..c1ac27f1075c
--- /dev/null
+++ b/mail-filter/dcc/files/dcc-1.3.86.patch
@@ -0,0 +1,41 @@
+I know it looks weird that we are patching configure here, but there is NO
+configure.{ac,in} source included with this package.
+- Robin H. Johnson <robbat2@gentoo.org>
+
+This patch is from Gentoo bug 182172, and was submitted by steveb
+<steeeeeveee@gmx.net>.
+
+diff -Naur dcc-1.3.86/configure dcc-1.3.86.new/configure
+--- dcc-1.3.86/configure 2008-03-11 16:38:41.000000000 +0100
++++ dcc-1.3.86.new/configure 2008-03-24 19:50:52.802962250 +0100
+@@ -1058,8 +1058,7 @@
+ FreeBSD|DragonFly)
+ PTHREAD_LDFLAGS="$PTHREAD_LDFLAGS -pthread"
+ if test -s /usr/lib/libc_r.a; then
+- # use libc_r on ancient versions
+- appendvar PTHREAD_LIBS -lc_r
++ appendvar PTHREAD_LIBS
+ fi
+ ;;
+ Darwin)
+@@ -3511,7 +3510,7 @@
+ mancat=man
+ MAN8='dcc.8 $(SUBDIR_MAN8)'
+ MAN8INST=''
+- USE_DCCMANINSTALL='# do not use dccmaninstall'
++ USE_DCCMANINSTALL='maninstall:dccmaninstall'
+ ;;
+ DragonFly)
+ # default to /usr/local/man/man8 and use nroff files, possibly
+diff -Naur dcc-1.3.86/thrlib/cmn.c dcc-1.3.86.new/thrlib/cmn.c
+--- dcc-1.3.86/thrlib/cmn.c 2008-02-11 06:00:45.000000000 +0100
++++ dcc-1.3.86.new/thrlib/cmn.c 2008-03-24 19:51:36.333682750 +0100
+@@ -667,7 +667,7 @@
+ LOG_CMN_CAPTION(cwp, DCC_LOG_TRN_MSG_CR);
+ cwp->log_size = MAX_LOG_SIZE+1;
+ #else
+- log_write(&wp->cw, buf, buflen);
++ log_write(cwp, buf, buflen);
+ #endif
+ }
+
diff --git a/mail-filter/dcc/files/dcc.confd b/mail-filter/dcc/files/dcc.confd
new file mode 100644
index 000000000000..a6e556827dbd
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.confd
@@ -0,0 +1,14 @@
+# Config file for /etc/init.d/dcc
+
+# Start server or DCC daemon
+START_DCC_DCCD="yes"
+
+# Start DCC greylisting
+START_DCC_GREY="yes"
+
+# Start milter interface
+START_DCC_DCCM="yes"
+
+# Start general Perl and MTA interface
+# and Postfix before-queue filter
+START_DCC_DCCIF="yes"
diff --git a/mail-filter/dcc/files/dcc.initd b/mail-filter/dcc/files/dcc.initd
new file mode 100644
index 000000000000..a730ddcdf8f5
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd
@@ -0,0 +1,136 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [[ ! -f "/etc/dcc/dcc_conf" || ! -r "/etc/dcc/dcc_conf" ]]
+ then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ else
+ source "/etc/dcc/dcc_conf"
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ if [[ "${START_DCC_DCCD}" == "yes" ]]
+ then
+ if [[ "${DCCD_ENABLE}" != "on" ]]
+ then
+ einfo "DCCD_ENABLE is not setto 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccd" ]]
+ then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled DCCD but start-dccd is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_GREY}" == "yes" ]]
+ then
+ if [[ "${GREY_ENABLE}" != "on" ]]
+ then
+ einfo "GREY_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-grey" ]]
+ then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled GREY but start-grey is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_DCCM}" == "yes" ]]
+ then
+ if [[ "${DCCM_ENABLE}" != "on" ]]
+ then
+ einfo "DCCM_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccm" ]]
+ then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ for ((dccmtimeout=0 ; dccmtimeout <= 20 ; dccmtimeout++))
+ do
+ if [[ ! -S "${DCC_RUNDIR}/dccm" || ! -r "${DCC_RUNDIR}/dccm" ]]
+ then
+ sleep 1
+ else
+ break
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid
+ else
+ eerror "You enabled DCCM but start-dccm is missing or not executable"
+ fi
+ fi
+ fi
+
+ if [[ "${START_DCC_DCCIF}" == "yes" ]]
+ then
+ if [[ "${DCCIFD_ENABLE}" != "on" ]]
+ then
+ einfo "DCCIFD_ENABLE is not set to 'on' in dcc_conf"
+ else
+ if [[ -x "${DCC_LIBEXEC}/start-dccifd" ]]
+ then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ else
+ eerror "You enabled DCCIF but start-dccif is missing or not executable"
+ fi
+ fi
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [[ -r "${DCC_RUNDIR}/dccifd.pid" ]]
+ then
+ ebegin "Stopping dccif"
+ kill -15 $(< ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [[ -r "${DCC_RUNDIR}/dccm.pid" ]]
+ then
+ ebegin "Stopping dccm"
+ kill -15 $(< ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [[ -x "${DCC_LIBEXEC}/stop-dccd" ]]
+ then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [[ -x "${DCC_LIBEXEC}/stop-dccd" ]]
+ then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/files/dcc.initd-1.3.140 b/mail-filter/dcc/files/dcc.initd-1.3.140
new file mode 100644
index 000000000000..f6fa080338c0
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd-1.3.140
@@ -0,0 +1,101 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [ ! -f "/etc/dcc/dcc_conf" ]; then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ fi
+ for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
+ SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
+ read -r ${i} <<-EOF
+ $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
+ EOF
+ done
+ DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
+ if [ ! -d "${DCC_RUNDIR}" ]; then
+ checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
+ atleastone=$( echo ${atleastone} | tr -d 'off' )
+ if [ -z "${atleastone}" ]; then
+ eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
+ return 1
+ fi
+
+ if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ local dccmtimeout=0
+ while [ ${dcctimeout} -le 20 ] ; do
+ if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+ break
+ else
+ sleep 1
+ dcctimeout=$(($dcctimeout + 1))
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
+ fi
+
+ if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
+ ebegin "Stopping dccif"
+ kill -15 $(< ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
+ ebegin "Stopping dccm"
+ kill -15 $(< ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/files/dcc.initd-1.3.154 b/mail-filter/dcc/files/dcc.initd-1.3.154
new file mode 100644
index 000000000000..a810d05f8810
--- /dev/null
+++ b/mail-filter/dcc/files/dcc.initd-1.3.154
@@ -0,0 +1,103 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger
+ need net
+ before mta
+}
+
+checkconfig() {
+ if [ ! -f "/etc/dcc/dcc_conf" ]; then
+ eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
+ return 1
+ fi
+ for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCM_ARGS DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
+ SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
+ read -r ${i} <<-EOF
+ $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
+ EOF
+ done
+ DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
+ if [ ! -d "${DCC_RUNDIR}" ]; then
+ checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
+ atleastone=$( echo ${atleastone} | tr -d 'off' )
+ if [ -z "${atleastone}" ]; then
+ eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
+ return 1
+ fi
+
+ if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
+ ebegin "Starting dccd"
+ ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
+ ebegin "Starting grey"
+ ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
+ ebegin "Starting dccm"
+ ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
+ eend ${?}
+ if !(echo ${DCCM_ARGS}|grep -q "^\-p\|[[:space:]]\-p"); then
+ local dccmtimeout=0
+ while [ ${dccmtimeout} -le 20 ] ; do
+ if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+ break
+ else
+ sleep 1
+ dccmtimeout=$(($dccmtimeout + 1))
+ fi
+ done
+ chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
+ fi
+ sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
+ fi
+
+ if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
+ ebegin "Starting dccif"
+ ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
+ eend ${?}
+ fi
+}
+
+stop() {
+ checkconfig || return 1
+
+ if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
+ ebegin "Stopping dccif"
+ kill -s 15 $(cat ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
+ ebegin "Stopping dccm"
+ kill -s 15 $(cat ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping dccd"
+ ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
+ eend ${?}
+ fi
+
+ if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
+ ebegin "Stopping grey"
+ ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
+ eend ${?}
+ fi
+}
diff --git a/mail-filter/dcc/metadata.xml b/mail-filter/dcc/metadata.xml
new file mode 100644
index 000000000000..e64b530dee24
--- /dev/null
+++ b/mail-filter/dcc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-mail</herd>
+<maintainer>
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+<use>
+ <flag name='rrdtool'>Enable <pkg>net-analyzer/rrdtool</pkg> interface
+ scripts</flag>
+</use>
+</pkgmetadata>