59 lines
1.8 KiB
Plaintext
59 lines
1.8 KiB
Plaintext
#!/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 \
|
|
-- ${CALIBRE_OPTS} "${CALIBRE_LIBRARY}"
|
|
eend $?
|
|
}
|
|
|
|
stop() {
|
|
ebegin "Stopping calibre-server"
|
|
start-stop-daemon --stop --user "${CALIBRE_USER}" \
|
|
--pidfile /var/run/calibre-server.pid
|
|
eend $?
|
|
}
|