summaryrefslogtreecommitdiff
blob: b0468da818bc357e368aa11a1ead0b2bb0318b8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/sbin/openrc-run
# 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() {
	use 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 $?
}