commit febbdb687b331819c096ee1456fca7ffaa7baea8 Author: Thomas Penteker <tek@serverop.de> Date: Sun May 15 23:35:27 2016 +0200 qemu-ga: fix run script diff --git a/qemu-agent/.footprint b/qemu-agent/.footprint index a580f7d..a57c3c3 100644 --- a/qemu-agent/.footprint +++ b/qemu-agent/.footprint @@ -8,3 +8,6 @@ drwxr-xr-x root/root etc/rc.d/ drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/qemu-ga +drwxr-xr-x root/root var/ +drwxr-xr-x root/root var/run/ +drwxr-xr-x root/root var/run/qemu-ga/ diff --git a/qemu-agent/Pkgfile b/qemu-agent/Pkgfile index e4c392d..fcfa1cd 100644 --- a/qemu-agent/Pkgfile +++ b/qemu-agent/Pkgfile @@ -29,4 +29,5 @@ build() { install scripts/qemu-guest-agent/fsfreeze-hook $PKG/etc/qemu cp -a scripts/qemu-guest-agent/fsfreeze-hook.d $PKG/etc/qemu install -D -m 755 $SRC/qemu-agent $PKG/etc/rc.d/qemu-agent + install -d -m 755 $PKG/var/run/qemu-ga } diff --git a/qemu-agent/qemu-agent b/qemu-agent/qemu-agent index ddd8cd2..2228885 100755 --- a/qemu-agent/qemu-agent +++ b/qemu-agent/qemu-agent @@ -1,27 +1,34 @@ #!/bin/sh # -# /etc/rc.d/qemu-agent: start/stop qemu guest agent +# /etc/rc.d/sshd: start/stop qemu-ga daemon # +SSD=/sbin/start-stop-daemon +PROG=/usr/bin/qemu-ga +PID=/var/run/qemu-ga.pid + case $1 in start) - /usr/bin/qemu-ga + $SSD --start --pidfile $PID --exec $PROG -- -t /var/run/qemu-ga ;; stop) - if [ -f /var/run/sshd.pid ]; then - kill $(< /var/run/sshd.pid) - rm -f /var/run/sshd.pid - else - killall -q /usr/sbin/sshd - fi + $SSD --stop --retry 10 --pidfile $PID ;; restart) $0 stop - sleep 2 $0 start ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running with pid $(cat $PID)" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; *) - echo "usage: $0 [start|stop|restart]" + echo "usage: $0 [start|stop|restart|status]" ;; esac