summaryrefslogtreecommitdiff
blob: d054665f860404a2502865bfbe7636c370bf494b (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
#!/sbin/openrc-run
# Copyright 2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	 need net
	 use dns
}

start() {
	if ! [ -d "${RBOTDIR}" ]; then
		eerror "The path you specified (${RBOTDIR}) is not a directory."
		eerror "Please set RBOTDIR variable in /etc/conf.d/${myservice}"
		eerror "to a proper value for an rbot base directory."
		return 1
	fi

	if ! [ -f "${RBOTDIR}/conf.yaml" ]; then
		eerror "You didn't configure rbot yet. Please configure rbot by running"
		eerror "	rbot ${RBOTDIR}"
		eerror "at least once."
		return 1
	fi

	# for a series of reason, we can't rely on the process being started
	# with 'ruby' name. As using ruby18 would break for ruby 1.9, get the
	# linked name to use as rubyname.
	ruby="$(readlink /usr/bin/ruby)"

	export USER="${RBOTUSER%%:*}"
	export HOME="/dev/null"
	ebegin "Starting rbot"
	start-stop-daemon \
		--start \
		--exec "/usr/bin/${ruby}" --name "${ruby}" \
		--pidfile "${RBOTDIR}/rbot.pid" \
		--chuid "${RBOTUSER}" \
		-- /usr/bin/rbot --background "${RBOTDIR}"
	eend $?
}

stop() {
	# for a series of reason, we can't rely on the process being started
	# with 'ruby' name. As using ruby18 would break for ruby 1.9, get the
	# linked name to use as rubyname.
	ruby="$(readlink /usr/bin/ruby)"

	ebegin "Stopping rbot"
	start-stop-daemon --stop \
		--exec "/usr/bin/${ruby}" \
		--pidfile "${RBOTDIR}/rbot.pid" \
		--user "${RBOTUSER%%:*}"
	eend $?
}