summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2011-10-22 00:15:55 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2011-10-22 00:15:55 +0000
commit0dd44f8013ae24c13bfd186415b7b368f61d9aad (patch)
treecc32496be52fc312f46eb56c7814fa47ac3eab7d /net-proxy/ufdbguard
parentRemove old. (diff)
downloadgentoo-2-0dd44f8013ae24c13bfd186415b7b368f61d9aad.tar.gz
gentoo-2-0dd44f8013ae24c13bfd186415b7b368f61d9aad.tar.bz2
gentoo-2-0dd44f8013ae24c13bfd186415b7b368f61d9aad.zip
Revision bump to update the init script to be more sophisticated thanks to OpenRC.
(Portage version: 2.2.0_alpha69/cvs/Linux x86_64)
Diffstat (limited to 'net-proxy/ufdbguard')
-rw-r--r--net-proxy/ufdbguard/ChangeLog9
-rw-r--r--net-proxy/ufdbguard/files/ufdb.initd.268
-rw-r--r--net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild137
3 files changed, 213 insertions, 1 deletions
diff --git a/net-proxy/ufdbguard/ChangeLog b/net-proxy/ufdbguard/ChangeLog
index d85f1f738b23..da3162c32264 100644
--- a/net-proxy/ufdbguard/ChangeLog
+++ b/net-proxy/ufdbguard/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-proxy/ufdbguard
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-proxy/ufdbguard/ChangeLog,v 1.21 2011/09/14 15:21:34 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/ufdbguard/ChangeLog,v 1.22 2011/10/22 00:15:54 flameeyes Exp $
+
+*ufdbguard-1.26-r1 (22 Oct 2011)
+
+ 22 Oct 2011; Diego E. Pettenò <flameeyes@gentoo.org>
+ +ufdbguard-1.26-r1.ebuild, +files/ufdb.initd.2:
+ Revision bump to update the init script to be more sophisticated thanks to
+ OpenRC.
14 Sep 2011; Diego E. Pettenò <flameeyes@gentoo.org> ChangeLog:
Forcing Manifest regeneration.
diff --git a/net-proxy/ufdbguard/files/ufdb.initd.2 b/net-proxy/ufdbguard/files/ufdb.initd.2
new file mode 100644
index 000000000000..75370da7917d
--- /dev/null
+++ b/net-proxy/ufdbguard/files/ufdb.initd.2
@@ -0,0 +1,68 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/ufdbguard/files/ufdb.initd.2,v 1.1 2011/10/22 00:15:55 flameeyes Exp $
+
+# reconfig is what the upstream documentation suggests, so let's
+# provide it for compatibility.
+extra_started_commands="reload reconfig"
+
+: ${configfile:=/etc/ufdbGuard.conf}
+
+pidfile=/var/run/ufdbguard/ufdbguardd.pid
+command=/usr/libexec/ufdbguard/ufdbguardd
+command_arguments="-c ${configfile} ${FUDB_OPTS}"
+
+start_stop_daemon_args="--user ${UFDB_USER} --wait 1500"
+
+name="ufdbGuard Daemon"
+
+depend() {
+ need net
+ before squid
+ use logger
+}
+
+get_config() {
+ # Okay this sounds silly, but it is important because the settings
+ # in ufdbGuard are quoted, so this unquotes them.
+ eval echo $(awk '$1 == "'$1'" { print $2 }' "${configfile}")
+}
+
+gentables() {
+ local dbhome=$(get_config dbhome)
+
+ for gt in ${UFDB_GT} ; do
+ [ -f "${dbhome}/${gt}/domains" ] || continue
+
+ urls=
+ [ -f "${dbhome}/${gt}/urls" ] && urls="${dbhome}/${gt}/urls"
+
+ ebegin "Generating domainlist ${gt}"
+ ufdbGenTable ${GENTABLE_OPTIONS} -t "${gt}" -d "${dbhome}/${gt}/domains" ${urls:+-u "${urls}"}
+ eend $?
+ done
+}
+
+start_pre() {
+ gentables
+
+ checkpath -d -m 0755 -o ${UFDB_USER} $(get_config logdir) /var/run/ufdbguardd
+}
+
+reload() {
+ if ! [ -f ${pidfile} ]; then
+ eerror "Unable to find PID file for ufdbguardd, was it just started?"
+ return 1
+ fi
+
+ gentables
+
+ ebegin "Reloading ufdbGuard"
+ kill -HUP "$(cat ${pidfile})"
+ eend $? "Failed to reload ufdbGuard"
+}
+
+reconfig() {
+ reload
+}
diff --git a/net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild b/net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild
new file mode 100644
index 000000000000..2497f64aa63e
--- /dev/null
+++ b/net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild,v 1.1 2011/10/22 00:15:55 flameeyes Exp $
+
+EAPI="4"
+
+inherit eutils flag-o-matic
+
+MY_P="ufdbGuard-${PV}"
+
+DESCRIPTION="ufdbGuard is a redirector for the Squid internet proxy."
+HOMEPAGE="http://www.urlfilterdb.com/en/products/ufdbguard.html"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz
+ doc? ( mirror://sourceforge/${PN}/ReferenceManual_v${PV/\./_}.pdf -> ${P}-manual.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+httpd doc"
+
+RDEPEND="dev-libs/openssl
+ app-arch/bzip2
+ net-misc/wget"
+
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex"
+
+RDEPEND="${RDEPEND}
+ sys-apps/openrc"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ # create the squid user exactly as done by net-proxy/squid-3.1.9
+ enewgroup squid 31
+ enewuser squid 31 -1 /var/cache/squid squid
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.23-parallel-make.patch
+ epatch "${FILESDIR}"/${PN}-1.24-gentoo.patch
+
+ egrep -r -e '/var/tmp/ufdb(guard|http)d.pid' "${S}" -lZ | xargs -0 \
+ sed -i -e 's:/var/tmp/ufdb\(guard\|http\)d.pid:/var/run/ufdbguard/ufdb\1d.pid:' \
+ || die
+
+ # directory where ufdbhttpd is to be found
+ sed -i -e 's:DEFAULT_BINDIR.*:DEFAULT_BINDIR "/usr/libexec/ufdbguard":' \
+ src/ufdb.h.in || die
+}
+
+src_configure() {
+ # better safe than sorry, the code has a number of possible
+ # breakage, and at least one certain breakage.
+ append-flags -fno-strict-aliasing
+
+ econf \
+ --with-ufdb-user=squid \
+ --with-ufdb-config=/etc \
+ --with-ufdb-logdir=/var/log/ufdbguard \
+ --with-ufdb-dbhome=/usr/share/ufdbguard/blacklists \
+ --with-ufdb-images_dir=/usr/share/ufdbguard/images
+}
+
+src_install() {
+ dodoc CHANGELOG INSTALL README src/sampleufdbGuard.conf
+ doman doc/*.1
+
+ dobin src/ufdbAnalyse src/ufdbGenTable src/ufdbGrab \
+ src/ufdbConvertDB
+ dosbin src/ufdbUpdate
+
+ exeinto /usr/libexec/ufdbguard
+ doexe src/mtserver/ufdbguardd src/mtserver/ufdbgclient
+
+ if use httpd; then
+ exeinto /usr/libexec/ufdbguard
+ doexe src/ufdbhttpd
+ fi
+
+ keepdir /usr/share/ufdbguard/blacklists
+
+ insinto /etc
+ doins src/ufdbGuard.conf
+
+ insinto /usr/share/ufdbguard/images
+ doins src/images/*
+
+ newconfd "${FILESDIR}"/ufdb.confd ufdb
+ newinitd "${FILESDIR}"/ufdb.initd.2 ufdb
+
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}"/ufdbUpdate.cron ufdbUpdate
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ newins "${DISTDIR}"/${P}-manual.pdf ReferenceManual.pdf
+ fi
+}
+
+pkg_postinst() {
+ elog "The default location for the blacklist database has been"
+ elog "moved to /usr/share/ufdbguard/blacklists."
+ elog ""
+ elog "The configuration file is no longer configurable in the"
+ elog "service file, and now resides at /etc/ufdbGuard.conf ."
+ elog ""
+ elog "The service script has been renamed from ufdbguad to simply"
+ elog "/etc/init.d/ufdb, to follow the official documentation, and"
+ elog "it gained a reload option with a reconfig alias."
+ elog ""
+ elog "You can configure the username and password parameters for"
+ elog "ufdbUpdate, to fetch the blacklist database provided by"
+ elog "URLfilterDB, directly in /etc/conf.d/ufdb without touching"
+ elog "the script itself."
+ elog ""
+ elog "To enable ufdbguard in squid, you should add this to your"
+ elog "squid.conf:"
+ elog ""
+ elog " url_rewrite_program /usr/libexec/ufdbguard/ufdbgclient -l /var/log/ufdbguard"
+ elog " url_rewrite_children 64"
+ elog ""
+ if ! use httpd; then
+ elog "You chose to not install the lightweight http daemon that"
+ elog "comes with ufdbguard."
+ else
+ elog "The ufdb service will start both the ufdbguardd daemon and"
+ elog "the ufdbhttpd http daemon to provide a local redirect CGI."
+ elog "If you don't want this to happen, disable the httpd USE flag."
+ fi
+ if use doc; then
+ elog ""
+ elog "The reference manual has been installed as"
+ elog " /usr/share/doc/${PF}/ReferenceManual.pdf"
+ fi
+}