summaryrefslogtreecommitdiff
path: root/net-misc/dropbox/files/dropbox.initd
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/dropbox/files/dropbox.initd')
-rw-r--r--net-misc/dropbox/files/dropbox.initd66
1 files changed, 66 insertions, 0 deletions
diff --git a/net-misc/dropbox/files/dropbox.initd b/net-misc/dropbox/files/dropbox.initd
new file mode 100644
index 00000000..95a230ee
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox.initd
@@ -0,0 +1,66 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+depend() {
+ need localmount net
+ after bootmisc
+}
+
+start() {
+ local tmpnice="${NICE:+"--nicelevel "}${NICE}"
+ local tmpionice="${IONICE:+"--ionice "}${IONICE}"
+ local started=""
+
+ ebegin "Starting dropbox"
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ if test -d "${homedir}" && \
+ echo 0 > ${homedir}/.dropbox/dropbox.pid && \
+ start-stop-daemon -S -b \
+ ${tmpnice} ${tmpionice} \
+ -u ${dbuser} -v \
+ -p ${homedir}/.dropbox/dropbox.pid \
+ -e HOME=${homedir} \
+ -x /opt/bin/dropbox; then
+ started="${started} ${dbuser}"
+ else
+ eend $?
+ eerror "Failed to start dropbox for ${dbuser}"
+ if [ -n "${started}" ]; then
+ eerror "Stopping already started dropbox"
+ DROPBOX_USERS=${started} stop
+ fi
+ return 1
+ fi
+ done
+ if [ -z "${started}" ];then
+ eerror "No dropbox started"
+ eend 1
+ else
+ eend 0
+ fi
+}
+
+stop() {
+ local retval=0
+ ebegin "Stopping dropbox"
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ start-stop-daemon --stop \
+ --pidfile ${homedir}/.dropbox/dropbox.pid || retval=$?
+ done
+ eend ${retval}
+}
+
+status() {
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ if [ -e ${homedir}/.dropbox/dropbox.pid ] ; then
+ echo "dropboxd for USER $dbuser: running."
+ else
+ echo "dropboxd for USER $dbuser: not running."
+ fi
+ done
+}