summaryrefslogtreecommitdiff
path: root/mail-filter/dcc
diff options
context:
space:
mode:
Diffstat (limited to 'mail-filter/dcc')
-rw-r--r--mail-filter/dcc/Manifest5
-rw-r--r--mail-filter/dcc/dcc-2.3.168.ebuild141
-rw-r--r--mail-filter/dcc/files/dccifd.service34
-rw-r--r--mail-filter/dcc/metadata.xml4
4 files changed, 183 insertions, 1 deletions
diff --git a/mail-filter/dcc/Manifest b/mail-filter/dcc/Manifest
index 195859241ebe..f4167d925b0c 100644
--- a/mail-filter/dcc/Manifest
+++ b/mail-filter/dcc/Manifest
@@ -4,7 +4,10 @@ AUX dcc-1.3.158-clang16.patch 559 BLAKE2B 1161c2efb7cab959a394a9d8bb6b538c36c0c9
AUX dcc-1.3.158-fno-common.patch 543 BLAKE2B 004e1f4bd63b2bda4b7eec0bf45f9115c4c7ee43b38fbe9b46904e544933bfa5cac0a17e414897e7069dcf88bf7787cf30fd4cf8e68ce8cd42dc85a98700ad66 SHA512 4aa5dc43b6f96d12d818ba197d98f48e30748ef231116442428c08d82bf9d71f0e5136943d56ba4c10c7072f50684df04ded101c9321a132e2ce11eee838353b
AUX dcc.confd 274 BLAKE2B 757f3e751028b0c35c166f708c328b506721549267bf1e87e841b746f5d35a6bcbeab6dcebe5deb1c4207b8b11dc0db34925cb93410b556508105cc4c64b6132 SHA512 15b7e4ded3e56e9d15509305df244e29ec7a6c3c163c49a4597e16274317d88f5aff5522984a2a3002f838d0220d04c2ea3def8d771712a11685408a4983d3b4
AUX dcc.initd-1.3.154 2793 BLAKE2B 6ad77dfe2a80070c969ed71b0517fdbc0ad0bf2bcc96207fa80a7331d15ba77ac8b5e369c2bec5e164819da876e2ba022f31db3a455d72a6e52387a014d8de38 SHA512 e171e4333d735aa7da99ae322ce04954554a6738b943ca085e51707dd0bf231f7c170211f019027ddf01ec750ed1b8728b5d54b48dee6ee7fc37f8a810aded01
+AUX dccifd.service 709 BLAKE2B 72d8951d4c55f6f8fee8d1cd6ad9307afa8e9e6996b870ac389814654a7de32743163e8f64c7c24cdcbad609400f8d8b17f4f744f75ea83cd41c3cb6acd5afa0 SHA512 14e5967c3d1188b99903e25474a86eaa0f89cec219fdb3a3a76b203f8ad2c3e4554b205cb79440c3ad843eaa38297032014655cbee1706f1c64684e3c8ed5e4c
DIST dcc-1.3.158.tar.Z 1714175 BLAKE2B 19e11e9e78268e76bf97f16ad6f03f0bb114ec9fbc9b1f8bb6ca7ce72fa419b1e50a6d35ee32ed5352b13da96002d313c00a07395317d33082eb69c9ae60008e SHA512 24fba5ea713e8df1468644508c323d64b3868685716b7cc02263933476940a807cfc4593432a9195371308c83d4ea93653e89634681d95dcb32f5d65c7274599
+DIST dcc-2.3.168.tar.Z 1608203 BLAKE2B d0dac4ee233fede16b4904524126cff4f127e59177d11624acf850861b9f267718efab974edafbd4521bcf78a2c3d626876c23c0af3cc108cd131c197dbc9945 SHA512 52a9671ba355a2d3e82246c3b5cf3875148d48bd314371d9e608643a59922becdf024b880e4bd37f6e36aa50830110600960ffa7a3ddd69ed7239bfc0578f141
EBUILD dcc-1.3.158-r1.ebuild 3750 BLAKE2B 976ca6b2cd285416c6d2703ec294207dc0a45685537a2cbaf2a2f343f4e478ecaa40a8a9ac064e8ae0d3e36540ac83bec3e58b9fc3c18ee4b19a816afdf57e6e SHA512 3d8e190823ec4a46e00262a51a68a4f9d4869fe928de2657659080295647d4eb17a33de488991676d11c6f0ff45d8fd42dbb81b5ac14582084fb3a8fa42d1630
EBUILD dcc-1.3.158-r2.ebuild 3767 BLAKE2B f83fc5c2091880233d222d2ddce6450af219f272be41ad5f14a8746c8f8c2196e470c7353d6cfe8400131a45e2c51f8b8d763c5188a65169954edfee8484a84c SHA512 ac0766655f445c3ad2b78f5f5b33591a6ada61b78ecd9e51e013f91323eb5d4481692930a6759f32dbe3f9295951ee3de2f2e93a4bf3ba047b8fa44861623e89
-MISC metadata.xml 317 BLAKE2B 92e853d40d112a562ad2e3afd351af700b6f751f7f2451e41d5db02100be2732730d40df236cbc11354077f0818771715174f0839f36aa824daa69e2218eded9 SHA512 7fe6a76ef0450fccc2121d94e03a45dc87fb21fcc3ed39a5016423a658e61c6ddf7cdcfa9d23fe4269662987268c50ddc25335ccb61f65f5fc2bba6131027b4b
+EBUILD dcc-2.3.168.ebuild 3767 BLAKE2B 98e5ce2c1f66099e759b7b1d0b60b57774015187609ab600bd2b26e4fd40e042e2d3efdb7682bbb5317a0a24a2d1f0da3abb0846b2aea5a8c06f448ed848d6b9 SHA512 5266de17e63b841352d1aa5c93eed84aad74b8dff86ce060e7c44ffa7ebfc1d80d3e7f9457fe1932a9dda5433d6ef99a70eb3f8f3ae00873f2e6981e2596881e
+MISC metadata.xml 422 BLAKE2B d19ea81ac39352e2a970b832fa92caecd263726dcd5e83f77e47e59038f37baf0e796ee49f559b0b16c30f563ab7ced157427dcb49435fdb8d146c9b44846427 SHA512 d19223ffe971fa88248f1a2e8b1147a03bf9026a94637585b33a20ca625d51107b3903e82b756c4a364061371564df805f6634e6d0ee3b384320ac5a7393caab
diff --git a/mail-filter/dcc/dcc-2.3.168.ebuild b/mail-filter/dcc/dcc-2.3.168.ebuild
new file mode 100644
index 000000000000..0ac9be7299a7
--- /dev/null
+++ b/mail-filter/dcc/dcc-2.3.168.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd toolchain-funcs
+
+DESCRIPTION="Distributed Checksum Clearinghouse"
+HOMEPAGE="https://www.rhyolite.com/dcc/"
+SRC_URI="https://www.rhyolite.com/dcc/source/old/${P}.tar.Z"
+
+LICENSE="DCC GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cgi ipv6 rrdtool milter"
+
+RDEPEND="
+ dev-lang/perl
+ || (
+ net-ftp/ftp
+ net-misc/curl
+ net-misc/wget
+ www-client/fetch
+ )
+ milter? ( mail-filter/libmilter:= )
+ rrdtool? ( net-analyzer/rrdtool )"
+DEPEND="${RDEPEND}"
+
+dcc_cgibin=var/www/localhost/cgi-bin/dcc
+dcc_homedir=var/lib/dcc
+dcc_libexec=usr/sbin
+dcc_man=usr/share/man
+dcc_rundir=var/run/dcc
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.158-clang16.patch
+ "${FILESDIR}"/${PN}-1.3.158-c2x.patch
+)
+
+src_configure() {
+ tc-export CC AR RANLIB
+ local myconf=(
+ --bindir="${EPREFIX}"/usr/bin
+ --homedir="${EPREFIX}"/${dcc_homedir}
+ --libexecdir="${EPREFIX}"/${dcc_libexec}
+ --mandir="${EPREFIX}"/usr/share/man
+ --enable-dccifd
+ --enable-server
+ --with-DDC-MD5
+ --with-installroot="${D}"
+ --with-rundir="${EPREFIX}"/${dcc_rundir}
+ --with-uid=root
+ --with-updatedcc_pfile="${EPREFIX}"/${dcc_homedir}/updatecc.pfile
+ --with-db-memory=64
+ --with-max-db-mem=128
+ --with-max-log-size=0
+ --with-make-cmd=${MAKE:-make}
+ $(use_enable ipv6 IPv6)
+ $(use_enable milter dccm)
+ $(use_with cgi cgibin ${dcc_cgibin})
+ $(use_with milter sendmail)
+ )
+
+ einfo "Using config: ${myconf[@]}"
+
+ # This is NOT a normal configure script.
+ ./configure "${myconf[@]}" || die "configure failed!"
+}
+
+moveconf() {
+ local i
+ for i in $@; do
+ mv "${ED}/${dcc_homedir}/${i}" "${ED}"/etc/dcc || die
+ dosym ../../../etc/dcc/"${i}" "${dcc_homedir}/${i}"
+ done
+}
+
+src_install() {
+ # stolen from the RPM .spec and modified for gentoo
+ export MANOWN=root
+ export MANGRP=$(id -g -n root)
+ export BINOWN="${MANOWN}"
+ export BINGRP="${MANGRP}"
+ export DCC_PROTO_HOMEDIR="${ED}/${dcc_homedir}"
+ export DCC_CGIBINDIR="${ED}/${dcc_cgibin}"
+ export DCC_SUID="${BINOWN}"
+ export DCC_OWN="${BINOWN}"
+ export DCC_GRP="${BINGRP}"
+
+ 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
+
+ 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 "${ED}/${dcc_homedir}/dcc_conf" || die
+
+ if use milter ; then
+ # enable milter
+ sed -i -e "s:^[\t #]*\(DCCM_ENABLE[\t ]*=[\t ]*\).*:\1on:g" \
+ "${ED}/${dcc_homedir}"/dcc_conf || die
+ fi
+
+ # provide cronjob
+ mv "${ED}"/usr/sbin/cron-dccd "${ED}"/etc/cron.daily/dccd || die "mv failed"
+
+ # clean up
+ mv "${ED}"/usr/sbin/logger "${ED}"/usr/sbin/logger-dcc || die "mv failed"
+
+ if ! use rrdtool; then
+ # remove rrdtool interface scripts
+ rm "${ED}"/usr/sbin/dcc-stats-{collect,graph,init} || die "Failed to clean up rrdtool scripts"
+ fi
+
+ # clean up
+ rm "${ED}"/usr/sbin/{rcDCC,updatedcc} || die
+
+ # 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 "${ED}"/"${dcc_homedir}"/log || die
+
+ dodoc CHANGES
+ doman *.{0,8}
+
+ systemd_dounit "${FILESDIR}/dccifd.service"
+}
diff --git a/mail-filter/dcc/files/dccifd.service b/mail-filter/dcc/files/dccifd.service
new file mode 100644
index 000000000000..4055a752f933
--- /dev/null
+++ b/mail-filter/dcc/files/dccifd.service
@@ -0,0 +1,34 @@
+[Unit]
+Description=DCC (Distributed Checksum Clearinghouses) interface daemon
+
+[Service]
+Type=forking
+PermissionsStartOnly=true
+RuntimeDirectory=dcc
+ConfigurationDirectory=dcc
+LogsDirectory=dcc
+StateDirectory=dcc
+ExecStart=/usr/sbin/dccifd
+
+#DCC writes pid file with "-" at the beginning which confuses systemd
+#PIDFile=/run/dcc/dccifd.pid
+
+# Hardening
+ProtectSystem=strict
+PrivateDevices=true
+ProtectKernelModules=true
+ProtectKernelLogs=true
+RestrictRealtime=true
+ProtectKernelTunables=true
+ProtectControlGroups=true
+ProtectHome=true
+ProtectHostname=true
+ProtectClock=true
+PrivateTmp=true
+SystemCallArchitectures=native
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/mail-filter/dcc/metadata.xml b/mail-filter/dcc/metadata.xml
index 95bdf6ac5792..d694695270e8 100644
--- a/mail-filter/dcc/metadata.xml
+++ b/mail-filter/dcc/metadata.xml
@@ -4,6 +4,10 @@
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</maintainer>
+<maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+</maintainer>
<use>
<flag name="rrdtool">Enable <pkg>net-analyzer/rrdtool</pkg> interface
scripts</flag>