app-emulation/spice-vdagent: fix init script
authorMatthias Maier <tamiko@gentoo.org>
Sun, 28 Jul 2019 19:01:38 +0000 (14:01 -0500)
committerMatthias Maier <tamiko@gentoo.org>
Sun, 28 Jul 2019 19:37:44 +0000 (14:37 -0500)
Closes: https://bugs.gentoo.org/670576
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
app-emulation/spice-vdagent/files/spice-vdagent.initd-4 [new file with mode: 0644]
app-emulation/spice-vdagent/spice-vdagent-0.19.0.ebuild

diff --git a/app-emulation/spice-vdagent/files/spice-vdagent.initd-4 b/app-emulation/spice-vdagent/files/spice-vdagent.initd-4
new file mode 100644 (file)
index 0000000..ee416da
--- /dev/null
@@ -0,0 +1,60 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+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 [ ! -e /dev/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} -a -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 $?
+}
index 07401dc249495a7f22929ebc2d4fce2e8d4e945c..d62b552d79d05662e86ca22c22a5d31cd3ed6890 100644 (file)
@@ -65,6 +65,6 @@ src_install() {
 
        keepdir /var/log/spice-vdagentd
 
-       newinitd "${FILESDIR}/${PN}.initd-3" "${PN}"
+       newinitd "${FILESDIR}/${PN}.initd-4" "${PN}"
        newconfd "${FILESDIR}/${PN}.confd-2" "${PN}"
 }