summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/spice-vdagent/files/spice-vdagent.initd-2')
-rw-r--r--app-emulation/spice-vdagent/files/spice-vdagent.initd-261
1 files changed, 61 insertions, 0 deletions
diff --git a/app-emulation/spice-vdagent/files/spice-vdagent.initd-2 b/app-emulation/spice-vdagent/files/spice-vdagent.initd-2
new file mode 100644
index 000000000000..acb4e8cb987d
--- /dev/null
+++ b/app-emulation/spice-vdagent/files/spice-vdagent.initd-2
@@ -0,0 +1,61 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/spice-vdagent/files/spice-vdagent.initd-2,v 1.1 2012/07/08 03:20:31 cardoe Exp $
+
+depend() {
+ after dbus
+}
+
+PIDFILE="/var/run/spice-vdagentd/spice-vdagentd.pid"
+
+start() {
+ PORT="${PORT:-/dev/virtio-ports/com.redhat.spice.0}"
+ DEVICE="${DEVICE:-/dev/uinput}"
+
+ ebegin "Checking for required modules and devices"
+
+ if [[ ! -d /sys/module/uinput ]]; then
+ modprobe -q uinput
+ fi
+
+ if [[ ! -d /sys/module/uinput ]]; then
+ eerror "Module 'uinput' not loaded or not enabled in the kernel"
+ eend 1
+ return 1
+ fi
+
+ if [[ ! -c "${PORT}" ]] ; then
+ eerror "Required virtio port does not exist. Make sure you"
+ eerror "started the virtual machine with appropriate parameters."
+ eend 1
+ return 1
+ fi
+ eend 0
+
+ if [[ ! -c ${DEVICE} && -c /dev/input/uinput ]]; then
+ DEVICE=/dev/input/uinput
+ fi
+
+ # recreate the directory since /var/run may reside on a ramdisk
+ mkdir -p /var/run/spice-vdagentd
+
+ # cleanup stalled socket
+ rm -f /var/run/spice-vdagentd/spice-vdagent-sock
+
+ ebegin "Starting spice VD agent daemon"
+ start-stop-daemon \
+ --start \
+ --pidfile "${PIDFILE}" \
+ --exec /usr/sbin/spice-vdagentd \
+ -- -u "${DEVICE}" ${SPICE_VDAGENT_ARGS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping spice VD agent daemon"
+ start-stop-daemon \
+ --stop \
+ --pidfile "${PIDFILE}"
+ eend $?
+}