summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/ufdbguard/ufdbguard-1.29.ebuild')
-rw-r--r--net-proxy/ufdbguard/ufdbguard-1.29.ebuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/net-proxy/ufdbguard/ufdbguard-1.29.ebuild b/net-proxy/ufdbguard/ufdbguard-1.29.ebuild
new file mode 100644
index 000000000000..4b553452454d
--- /dev/null
+++ b/net-proxy/ufdbguard/ufdbguard-1.29.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic user
+
+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() {
+ enewgroup squid
+ enewuser squid -1 -1 /var/cache/squid squid
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.29-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
+}