Version bump with patch from bug #334245. EAPI2, cgi, milter, docs, /var/run tmpfs...
authorRobin H. Johnson <robbat2@gentoo.org>
Sat, 22 Oct 2011 22:57:48 +0000 (22:57 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Sat, 22 Oct 2011 22:57:48 +0000 (22:57 +0000)
Package-Manager: portage-2.2.0_alpha60/cvs/Linux x86_64

mail-filter/dcc/ChangeLog
mail-filter/dcc/Manifest
mail-filter/dcc/dcc-1.3.140.ebuild [new file with mode: 0644]
mail-filter/dcc/files/dcc.initd-1.3.140 [new file with mode: 0644]

index 2ec86a3eb4bc6aef17e3499ae23e13ccdaae939a..8e416d1f154e93a792076609e616c4038c747745 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for mail-filter/dcc
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/dcc/ChangeLog,v 1.63 2011/01/25 04:24:43 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dcc/ChangeLog,v 1.64 2011/10/22 22:57:48 robbat2 Exp $
+
+*dcc-1.3.140 (22 Oct 2011)
+
+  22 Oct 2011; Robin H. Johnson <robbat2@gentoo.org> +files/dcc.initd-1.3.140,
+  +dcc-1.3.140.ebuild:
+  Version bump with patch from bug #334245. EAPI2, cgi, milter, docs, /var/run
+  tmpfs support, POSIX init compliance. Thanks to Eray Aslan <eras@gentoo.org>.
 
   25 Jan 2011; Robin H. Johnson <robbat2@gentoo.org> files/dcc.initd:
   Bug #267780: Fix typo in init script.
index b854f4797f2d1ac6b2d1e4454247d73bf57baae7..4200d9ad8bba0d25fcd55fafcc02298251bc2331 100644 (file)
@@ -1,16 +1,19 @@
 AUX dcc-1.3.86.patch 1337 RMD160 266253bd960c5a81c7af50174818538b6fd734f6 SHA1 dead098768cad2add66d6ab57d973c6aa3e8a285 SHA256 0ff766a5c4254be8af20bfc7e3b350e8f9990faa6ebb87d1f5d8b982f8bb572b
 AUX dcc.confd 274 RMD160 da42330e9085960e6dae4fe26db74ae2742ef0a9 SHA1 36e1920c5cab693e123f6b324bd229903531d8f2 SHA256 c3c379c26d3c06a18ba87bd22bb299cbcacad262eff78ce75385c6d753373a0e
 AUX dcc.initd 3119 RMD160 dc9354fce2a473b4bc1e3f9869f8de566529d1fe SHA1 33d2850814f68dfc9c1484271becbaf5bafb8cd2 SHA256 3b953c64975953d657f67d7d4697626508696ef262e786616a951017445dd339
+AUX dcc.initd-1.3.140 2775 RMD160 89fb974559dace2f443411f7d12acfa1443b7044 SHA1 d063f3c1441e3d306387f96b5245d556ade64333 SHA256 0436a7378e63fa863e54c205c0cd310818c77d0b22bee10d6e118a05cea22be8
 DIST dcc-1.3.102.tar.Z 2451793 RMD160 06f19438705ec8a9a5ea506289b44f92106f900a SHA1 dc6fbdf7a7f617f206434aa16ecf883a99e70ebb SHA256 5da6d017048801b8dec39a7a4a078e15b41fa26aa1c486ad69c1fc1b41bde149
 DIST dcc-1.3.119.tar.Z 1635339 RMD160 bb830466e09088bc0726d295e84b23b228bc8a33 SHA1 af406b57d23a6d7f9cfe3feb779dd0c5d646d41e SHA256 1527d293481a7c957227cc2e39609135401adb0c1281b48f4132ee31bc903bd2
 DIST dcc-1.3.135.tar.Z 1680018 RMD160 1ec575f07b055040f116c71f5beb04c61ac2b7c8 SHA1 a46556a67614cc35941af35fdc02b8974c17d2de SHA256 d439c2d4b05884826646b46139a81a769857e669150c732266cede6a30506670
+DIST dcc-1.3.140.tar.Z 1681539 RMD160 80ce44c7d7dbd9b3c9ac986e0f4558f11be49b22 SHA1 588f1a64809e317bb91a61a4858836584eecd0c3 SHA256 19060563d3d72b70578d8f16e6780458d36f1a1db18a6d1e533bc42d80c38f24
 DIST dcc-1.3.97.tar.Z 2548599 RMD160 b777ed19912f3bb0a617d083d479b9cc2cc47b59 SHA1 8212e07c5eee573c36cdb7527e1efe7573bc05a1 SHA256 d959351a7440e0703f35ebcfc4bfd8e83b92867a82970f716816aa84c55c49f7
 DIST dcc-dccd-1.3.55.tar.Z 1457561 RMD160 8182bdd8f5c96a68ba6989bf37807dfa5aee19b7 SHA1 fa926bfb6c8418cea65cbc0c442c9b0a9a833b36 SHA256 9aa82c645b90a1000c6cc812e6df18768885486e053194220e8753d1c45ebb94
 EBUILD dcc-1.3.102.ebuild 4235 RMD160 00b7c88924a5587eec50550ff4a07b9dd3ef9633 SHA1 332676359980c49d196fddc76f4d6a5e0fbff363 SHA256 4310a1371a7177a02bfb55e170cfc553ab4451f494788f87ab4feeb035606a57
 EBUILD dcc-1.3.119-r1.ebuild 4316 RMD160 a96b559f914c363aea99844e63a9d0c0242c7cc0 SHA1 b2a154e58731659c4816bee90628378cb7835af9 SHA256 dd5febb6de63cc2fb531c61570f4863f49fb39c6fcb6ec4923cedb64398a7802
 EBUILD dcc-1.3.119.ebuild 4281 RMD160 28a2d0da63179a4004b18a3587509ff6716a1df6 SHA1 29a6813eabd963665da5a7459f473e2394108d3e SHA256 5e41bf38b798a92def77c40dabd34d7a243238565de8cdb945ad9990a7c8c9b1
 EBUILD dcc-1.3.135.ebuild 4312 RMD160 b411c1dabf20f8fbc6714838940eab33b30c2ff9 SHA1 19dd8f51d2a028fe066783c88246083d44b198b0 SHA256 9259c69aae7641f99b001638902bf6f7597938d3bfe237b15c3d9e0b4da1f4d5
+EBUILD dcc-1.3.140.ebuild 4488 RMD160 94558ec6c547fe392da2f69dec6250bc24af0168 SHA1 3c26c09198c76927ac751e451de7289b2435ca73 SHA256 6f6aeac5843fabdc619aa9bfa62c89d3f3795f6b1809c9f498cf06549b7f83fb
 EBUILD dcc-1.3.55.ebuild 3905 RMD160 2048de4a0ea38b451806261e00cd5492475f3cd5 SHA1 750529f7bf9aec06595ad8831afd5a6ff16a0720 SHA256 6e40f958e75847e4b515dc20677294808ee11af0474b094c6e3bff160379a036
 EBUILD dcc-1.3.97.ebuild 4234 RMD160 16a8c7f27bea2d3ff7fc647fa11706273177c973 SHA1 9e572f511e0e6f933c2d8f1ce7229e18e6ead319 SHA256 a6aaa86f28b023a7c3d019aeda19bf3de65094bd10460cf5b14a4a9d4f12bc46
-MISC ChangeLog 7631 RMD160 760ce88c795f640a06cbacec5690ffa4d3d0160d SHA1 446eb753970e8aa424b6b316be383050980a73cd SHA256 561238da34dea20611f7de8f79e110eca2ac73cc42b8fba5cd205c3214ed7d08
+MISC ChangeLog 7921 RMD160 13e57d0c56e3adc7e2da73cbeeabf42ff8c7d26b SHA1 4e065f842ea56a54cfb72f895f772f00442c0545 SHA256 259a711d747c00af82dc9d3b04262ca334648a52fd363ac9b620787e2a9b730b
 MISC metadata.xml 324 RMD160 76205802852d0b5b55cdfe30c25452661675f4ae SHA1 9c261fe7a0389a016a42475447505c6c816a6a42 SHA256 ceb55854f84ec88f0305b0138c48c22bd8fa0834127c78cc158447527dad7155
diff --git a/mail-filter/dcc/dcc-1.3.140.ebuild b/mail-filter/dcc/dcc-1.3.140.ebuild
new file mode 100644 (file)
index 0000000..16df86c
--- /dev/null
@@ -0,0 +1,143 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dcc/dcc-1.3.140.ebuild,v 1.1 2011/10/22 22:57:48 robbat2 Exp $
+
+EAPI=2
+
+inherit 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_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/files/dcc.initd-1.3.140 b/mail-filter/dcc/files/dcc.initd-1.3.140
new file mode 100644 (file)
index 0000000..558e27f
--- /dev/null
@@ -0,0 +1,99 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dcc/files/dcc.initd-1.3.140,v 1.1 2011/10/22 22:57:48 robbat2 Exp $
+
+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 ${?}
+               for ((dccmtimeout=0 ; dccmtimeout <= 20 ; dccmtimeout++)); do
+                       if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
+                               break
+                       else
+                               sleep 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
+}