forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
calibre-server.init
58 lines (54 loc) · 1.77 KB
/
calibre-server.init
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
#!/sbin/openrc-run
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
depend() {
need net
need localmount
after bootmisc
}
checkconfig() {
if [ "${CALIBRE_USER}" = "" -o "${CALIBRE_USER}" = "root" ] ; then
eerror "Please edit /etc/conf.d/calibre-server"
eerror "You have to specify a user to run calibre-server as, as we will not run it as root!"
eerror "Modify CALIBRE_USER to your needs (you can also add a group, after a colon)"
return 1
fi
if ! getent passwd "${CALIBRE_USER%:*}" >/dev/null ; then
eerror "Please edit /etc/conf.d/calibre-server"
eerror "Your user has to exist!"
return 1
fi
if [ "${CALIBRE_USER%:*}" != "${CALIBRE_USER}" ] ; then
if ! getent group "${CALIBRE_USER#*:}" >/dev/null ; then
eerror "Please edit /etc/conf.d/calibre-server"
eerror "Your group has to exist too!"
return 1
fi
fi
if [ "${CALIBRE_LIBRARY}" = "" ] ; then
CALIBRE_USER_HOME=$(getent passwd "${CALIBRE_USER%:*}" | cut -d ':' -f 6)
CALIBRE_LIBRARY="${CALIBRE_USER_HOME}/Calibre Library"
fi
if [ ! -d "${CALIBRE_LIBRARY}" ] ; then
eerror "Please edit /etc/conf.d/calibre-server"
eerror "The Calibre library, '${CALIBRE_LIBRARY},' does not exist."
eerror "Please modify CALIBRE_LIBRARY to point to a valid library."
return 1
fi
return 0
}
start() {
checkconfig || return $?
local pidfile=/var/run/calibre-server.pid
ebegin "Starting calibre-server"
start-stop-daemon --user "${CALIBRE_USER}" \
--pidfile "${pidfile}" --make-pidfile --background --exec /usr/bin/calibre-server \
-- --with-library "${CALIBRE_LIBRARY}" ${CALIBRE_OPTS}
eend $?
}
stop() {
ebegin "Stopping calibre-server"
start-stop-daemon --stop --user "${CALIBRE_USER}" \
--pidfile /var/run/calibre-server.pid
eend $?
}