diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2011-10-22 00:15:55 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2011-10-22 00:15:55 +0000 |
commit | 0dd44f8013ae24c13bfd186415b7b368f61d9aad (patch) | |
tree | cc32496be52fc312f46eb56c7814fa47ac3eab7d /net-proxy/ufdbguard | |
parent | Remove old. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-proxy/ufdbguard/files/ufdb.initd.2 | 68 | ||||
-rw-r--r-- | net-proxy/ufdbguard/ufdbguard-1.26-r1.ebuild | 137 |
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 +} |