diff options
author | Andrew Savchenko <bircoph@gentoo.org> | 2015-01-09 00:13:32 +0000 |
---|---|---|
committer | Andrew Savchenko <bircoph@gentoo.org> | 2015-01-09 00:13:32 +0000 |
commit | 0db445475daa9ff9860afe260651749495234295 (patch) | |
tree | be633c23fa3ec8196847df9e04e94778a6f79a58 | |
parent | Stable for HPPA (bug #534660). (diff) | |
download | gentoo-2-0db445475daa9ff9860afe260651749495234295.tar.gz gentoo-2-0db445475daa9ff9860afe260651749495234295.tar.bz2 gentoo-2-0db445475daa9ff9860afe260651749495234295.zip |
Version bump.
Fix bugs 504030, 510056, 520598.
Provide security update for bug 385307.
Add init.d script multiplexing. Update crond file to support
multiplexing.
Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
(Portage version: 2.2.15/cvs/Linux i686, signed Manifest commit with key 565953B95372756C)
-rw-r--r-- | net-proxy/polipo/ChangeLog | 12 | ||||
-rw-r--r-- | net-proxy/polipo/files/polipo.crond-2 | 22 | ||||
-rw-r--r-- | net-proxy/polipo/files/polipo.initd-2 | 66 | ||||
-rw-r--r-- | net-proxy/polipo/polipo-1.1.1.ebuild | 56 | ||||
-rw-r--r-- | net-proxy/polipo/polipo-9999.ebuild | 44 |
5 files changed, 182 insertions, 18 deletions
diff --git a/net-proxy/polipo/ChangeLog b/net-proxy/polipo/ChangeLog index fe5df4a8e6d2..381bd8029077 100644 --- a/net-proxy/polipo/ChangeLog +++ b/net-proxy/polipo/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-proxy/polipo # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/ChangeLog,v 1.41 2015/01/08 14:10:03 bircoph Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/ChangeLog,v 1.42 2015/01/09 00:13:32 bircoph Exp $ + +*polipo-1.1.1 (09 Jan 2015) + + 09 Jan 2015; Andrew Savchenko <bircoph@gentoo.org> +polipo-1.1.1.ebuild, + polipo-9999.ebuild, +files/polipo.crond-2, +files/polipo.initd-2: + Version bump. + Fix bugs 504030, 510056, 520598. + Provide security update for bug 385307. + Add init.d script multiplexing. Update crond file to support + multiplexing. 08 Jan 2015; Andrew Savchenko <bircoph@gentoo.org> metadata.xml: Add myself to maintainers. diff --git a/net-proxy/polipo/files/polipo.crond-2 b/net-proxy/polipo/files/polipo.crond-2 new file mode 100644 index 000000000000..6b2d609d6d6a --- /dev/null +++ b/net-proxy/polipo/files/polipo.crond-2 @@ -0,0 +1,22 @@ +#!/bin/bash + +# Loop through all init.d instances +for f in /etc/init.d/polipo*; do + # only proceed if daemon is running + "${f}" --quiet status || continue + + myname="${f#/etc/init.d/polipo}" + conffile="/etc/polipo/config${myname}" + pidfile="/var/run/polipo${myname}.pid" + + # check if disk cache is enabled + polipo -v -c "${CONFFILE}" | + awk '$1 ~ /diskCacheRoot/ { if ($3 == "(none)") exit 1}' || + continue + + # Expire old cached objects + kill -USR1 $(cat "${pidfile}") + sleep 1 + nice -n 15 su -s "/bin/sh" -c "polipo -c ${conffile} -x" polipo > /dev/null + kill -USR2 $(cat "${pidfile}") +done diff --git a/net-proxy/polipo/files/polipo.initd-2 b/net-proxy/polipo/files/polipo.initd-2 new file mode 100644 index 000000000000..4187f17c3177 --- /dev/null +++ b/net-proxy/polipo/files/polipo.initd-2 @@ -0,0 +1,66 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/files/polipo.initd-2,v 1.1 2015/01/09 00:13:32 bircoph Exp $ + +CONFFILE="/etc/polipo/config${SVCNAME#polipo}" +PIDFILE="/var/run/${SVCNAME}.pid" + +depend() { + need net +} + +checkconfig() { + { polipo -v -c "${CONFFILE}" || return 1 ; } | { + local retvalue=0 + local name type value desc + while read name type value desc ; do + case ${name} in + configFile) + if [ "${value}" = "(none)" ] ; then + eerror "Unable to read configuration file /etc/polipo/config" + retvalue=1 + fi + ;; + daemonise) + if [ "${value}" != "false" ] ; then + eerror "Configuration option not supported by this init script: ${name}=${value}" + retvalue=1 + fi + ;; + pidFile) + if [ "${value}" != "(none)" ] ; then + eerror "Configuration option not supported by this init script: ${name}=${value}" + retvalue=1 + fi + ;; + diskCacheRoot) + if [ "${value}" != "(none)" ] ; then + # Ensure that cache directory exists and have proper permissions + if ! [[ -d "{value}" ]]; then + mkdir -p -m 0750 "${value}" + chown polipo:polipo "${value}" + fi + fi + ;; + esac + done + return ${retvalue} + } +} + +start() { + checkconfig || return 1 + + ebegin "Starting Polipo HTTP proxy" + start-stop-daemon --start --user polipo \ + --background --pidfile "${PIDFILE}" --make-pidfile \ + --exec /usr/bin/polipo -- -c "${CONFFILE}" + eend $? +} + +stop() { + ebegin "Stopping Polipo HTTP proxy" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-proxy/polipo/polipo-1.1.1.ebuild b/net-proxy/polipo/polipo-1.1.1.ebuild new file mode 100644 index 000000000000..060b37631cbb --- /dev/null +++ b/net-proxy/polipo/polipo-1.1.1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/polipo-1.1.1.ebuild,v 1.1 2015/01/09 00:13:32 bircoph Exp $ + +EAPI="5" + +if [[ ${PV} == "9999" ]] ; then + _GIT=git-r3 + EGIT_REPO_URI="https://github.com/jech/${PN}.git" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://www.pps.jussieu.fr/~jch/software/files/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +inherit ${_GIT} toolchain-funcs user + +DESCRIPTION="A caching web proxy" +HOMEPAGE="http://www.pps.jussieu.fr/~jch/software/polipo/" +LICENSE="MIT GPL-2" +SLOT="0" + +DEPEND="sys-apps/texinfo" +RDEPEND="" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/cache/${PN} ${PN} +} + +src_compile() { + tc-export CC + emake PREFIX=/usr "CDEBUGFLAGS=${CFLAGS}" all +} + +src_install() { + einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}" + + newinitd "${FILESDIR}/${PN}.initd-2" ${PN} + insinto /etc/${PN} ; doins "${FILESDIR}/config" + exeinto /etc/cron.weekly ; newexe "${FILESDIR}/${PN}.crond-2" ${PN} + + dodoc CHANGES README + dohtml html/* +} + +pkg_postinst() { + einfo "Do not forget to read the manual." + einfo "Change the config file in /etc/${PN} to suit your needs." + einfo "" + einfo "Polipo OpenRC init scripts can now be multiplexed:" + einfo "1. create /etc/${PN}/config.foo" + einfo "2. symlink /etc/init.d/{${PN}.foo -> ${PN}}" + einfo "3. make sure all instances use unique ip:port pair and cachedir, if any" +} diff --git a/net-proxy/polipo/polipo-9999.ebuild b/net-proxy/polipo/polipo-9999.ebuild index 9dc65913ac60..868014539d4a 100644 --- a/net-proxy/polipo/polipo-9999.ebuild +++ b/net-proxy/polipo/polipo-9999.ebuild @@ -1,40 +1,45 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/polipo-9999.ebuild,v 1.2 2014/01/08 06:26:54 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-proxy/polipo/polipo-9999.ebuild,v 1.3 2015/01/09 00:13:32 bircoph Exp $ EAPI="5" -inherit eutils toolchain-funcs user git-2 +if [[ ${PV} == "9999" ]] ; then + _GIT=git-r3 + EGIT_REPO_URI="https://github.com/jech/${PN}.git" + SRC_URI="" + KEYWORDS="" +else + SRC_URI="http://www.pps.jussieu.fr/~jch/software/files/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +inherit ${_GIT} toolchain-funcs user DESCRIPTION="A caching web proxy" HOMEPAGE="http://www.pps.jussieu.fr/~jch/software/polipo/" -EGIT_REPO_URI="git://git.wifi.pps.univ-paris-diderot.fr/polipo" - LICENSE="MIT GPL-2" SLOT="0" DEPEND="sys-apps/texinfo" -RDEPEND="${DEPEND}" +RDEPEND="" pkg_setup() { - enewgroup polipo - enewuser polipo -1 -1 /var/cache/polipo polipo + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/cache/${PN} ${PN} } src_compile() { tc-export CC - emake PREFIX=/usr "CDEBUGFLAGS=${CFLAGS}" all || die "build failed" + emake PREFIX=/usr "CDEBUGFLAGS=${CFLAGS}" all } src_install() { - einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}" || die "install failed" - - newinitd "${FILESDIR}/polipo.initd" polipo - insinto /etc/polipo ; doins "${FILESDIR}/config" - exeinto /etc/cron.daily ; newexe "${FILESDIR}/polipo.crond" polipo.sh + einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}" - diropts -m0750 -o polipo -g polipo - keepdir /var/cache/polipo + newinitd "${FILESDIR}/${PN}.initd-2" ${PN} + insinto /etc/${PN} ; doins "${FILESDIR}/config" + exeinto /etc/cron.weekly ; newexe "${FILESDIR}/${PN}.crond-2" ${PN} dodoc CHANGES README dohtml html/* @@ -42,5 +47,10 @@ src_install() { pkg_postinst() { einfo "Do not forget to read the manual." - einfo "Change the config file in /etc/polipo to suit your needs." + einfo "Change the config file in /etc/${PN} to suit your needs." + einfo "" + einfo "Polipo OpenRC init scripts can now be multiplexed:" + einfo "1. create /etc/${PN}/config.foo" + einfo "2. symlink /etc/init.d/{${PN}.foo -> ${PN}}" + einfo "3. make sure all instances use unique ip:port pair and cachedir, if any" } |