diff options
author | Andrew Savchenko <bircoph@gentoo.org> | 2016-04-22 15:11:10 +0300 |
---|---|---|
committer | Andrew Savchenko <bircoph@gentoo.org> | 2016-04-22 15:11:39 +0300 |
commit | ef7f42bb90ae70f2c4ca34ba737640434af2c4c2 (patch) | |
tree | f0c7fd8e0d786dec96985768016e06d539bd341f /net-proxy/polipo | |
parent | sys-process/procenv: Drop -Werror and -fstack-protector (bug #580808). (diff) | |
download | gentoo-ef7f42bb90ae70f2c4ca34ba737640434af2c4c2.tar.gz gentoo-ef7f42bb90ae70f2c4ca34ba737640434af2c4c2.tar.bz2 gentoo-ef7f42bb90ae70f2c4ca34ba737640434af2c4c2.zip |
net-proxy/polipo: honor multiple instances at init script
Use ${SVCNAME} for ebegin/eend messages.
Package-Manager: portage-2.2.28
Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
Diffstat (limited to 'net-proxy/polipo')
-rw-r--r-- | net-proxy/polipo/files/polipo.initd-4 | 66 | ||||
-rw-r--r-- | net-proxy/polipo/polipo-1.1.1-r3.ebuild | 62 | ||||
-rw-r--r-- | net-proxy/polipo/polipo-9999.ebuild | 4 |
3 files changed, 130 insertions, 2 deletions
diff --git a/net-proxy/polipo/files/polipo.initd-4 b/net-proxy/polipo/files/polipo.initd-4 new file mode 100644 index 000000000000..705185ef7205 --- /dev/null +++ b/net-proxy/polipo/files/polipo.initd-4 @@ -0,0 +1,66 @@ +#!/sbin/runscript +# Copyright 1999-2015 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ${SVCNAME} HTTP proxy" + start-stop-daemon --start --user polipo \ + --background --pidfile "${PIDFILE}" --make-pidfile \ + --exec /usr/bin/polipo -- -c "${CONFFILE}" + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME} HTTP proxy" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-proxy/polipo/polipo-1.1.1-r3.ebuild b/net-proxy/polipo/polipo-1.1.1-r3.ebuild new file mode 100644 index 000000000000..559a3eddc975 --- /dev/null +++ b/net-proxy/polipo/polipo-1.1.1-r3.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 systemd + +DESCRIPTION="A caching web proxy" +HOMEPAGE="http://www.pps.jussieu.fr/~jch/software/polipo/" +LICENSE="MIT GPL-2" +SLOT="0" +IUSE="systemd" + +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-4" ${PN} + insinto /etc/${PN} ; doins "${FILESDIR}/config" + systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service" + if ! use systemd; then + exeinto /etc/cron.weekly ; newexe "${FILESDIR}/${PN}.crond-2" ${PN} + fi + + dodoc CHANGES README + dohtml html/* +} + +pkg_postinst() { + elog "Do not forget to read the manual." + elog "Change the config file in /etc/${PN} to suit your needs." + elog "" + elog "Polipo init scripts can now be multiplexed:" + elog "1. create /etc/${PN}/config.foo" + elog "2. symlink /etc/init.d/{${PN}.foo -> ${PN}}" + elog " a. if you are using OpenRC, symlink /etc/init.d/{${PN}.foo -> ${PN}}" + elog " b. if you are using systemd, execute \"systemctl enable polipo@config.foo\"" + elog "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 8882b5d7f7c7..559a3eddc975 100644 --- a/net-proxy/polipo/polipo-9999.ebuild +++ b/net-proxy/polipo/polipo-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -38,7 +38,7 @@ src_compile() { src_install() { einstall PREFIX=/usr MANDIR=/usr/share/man INFODIR=/usr/share/info "TARGET=${D}" - newinitd "${FILESDIR}/${PN}.initd-2" ${PN} + newinitd "${FILESDIR}/${PN}.initd-4" ${PN} insinto /etc/${PN} ; doins "${FILESDIR}/config" systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service" if ! use systemd; then |