diff options
Diffstat (limited to 'app-text/calibre/files/calibre-server-3.init')
-rw-r--r-- | app-text/calibre/files/calibre-server-3.init | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/app-text/calibre/files/calibre-server-3.init b/app-text/calibre/files/calibre-server-3.init new file mode 100644 index 00000000..049d3e42 --- /dev/null +++ b/app-text/calibre/files/calibre-server-3.init @@ -0,0 +1,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 \ + -- ${CALIBRE_OPTS} "${CALIBRE_LIBRARY}" + eend $? +} + +stop() { + ebegin "Stopping calibre-server" + start-stop-daemon --stop --user "${CALIBRE_USER}" \ + --pidfile /var/run/calibre-server.pid + eend $? +} |