net-proxy/polipo: fix bug 567660

Replace bash-specific test expression by a POSIX compatible one.

Package-Manager: portage-2.2.26
Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
This commit is contained in:
Andrew Savchenko
2015-12-07 15:39:58 +03:00
parent b016e3fcd2
commit b40f47bc15
2 changed files with 128 additions and 0 deletions

View File

@@ -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 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 $?
}

View File

@@ -0,0 +1,62 @@
# Copyright 1999-2015 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-3" ${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"
}