[Pkg-libvirt-commits] [libvirt] 07/09: Ship virtlogd

Guido Guenther agx at moszumanska.debian.org
Fri Dec 4 17:31:19 UTC 2015


This is an automated email from the git hooks/post-receive script.

agx pushed a commit to annotated tag debian/1.3.0_rc1-1
in repository libvirt.

commit 71d0f8b907cc9753241317088311119e1503270b
Author: Guido Günther <agx at sigxcpu.org>
Date:   Fri Dec 4 14:23:20 2015 +0100

    Ship virtlogd
---
 debian/libvirt-daemon-system.install       |   1 +
 debian/libvirt-daemon-system.libvirtd.init |   4 +-
 debian/libvirt-daemon-system.virtlogd.init | 161 +++++++++++++++++++++++++++++
 debian/rules                               |   3 +
 4 files changed, 167 insertions(+), 2 deletions(-)

diff --git a/debian/libvirt-daemon-system.install b/debian/libvirt-daemon-system.install
index 88a830b..091cfc8 100644
--- a/debian/libvirt-daemon-system.install
+++ b/debian/libvirt-daemon-system.install
@@ -1,3 +1,4 @@
 etc/libvirt/libvirtd.conf
 etc/libvirt/virtlockd.conf
+etc/libvirt/virtlogd.conf
 etc/sasl2/*
diff --git a/debian/libvirt-daemon-system.libvirtd.init b/debian/libvirt-daemon-system.libvirtd.init
index caec3ed..b6f0fef 100755
--- a/debian/libvirt-daemon-system.libvirtd.init
+++ b/debian/libvirt-daemon-system.libvirtd.init
@@ -7,8 +7,8 @@
 #
 ### BEGIN INIT INFO
 # Provides:          libvirtd
-# Required-Start:    $network $local_fs $remote_fs $syslog
-# Required-Stop:     $local_fs $remote_fs $syslog
+# Required-Start:    $network $local_fs $remote_fs $syslog virtlogd
+# Required-Stop:     $local_fs $remote_fs $syslog virtlogd
 # Should-Start:      avahi-daemon cgconfig
 # Should-Stop:       avahi-daemon cgconfig
 # Default-Start:     2 3 4 5
diff --git a/debian/libvirt-daemon-system.virtlogd.init b/debian/libvirt-daemon-system.virtlogd.init
new file mode 100755
index 0000000..61157b5
--- /dev/null
+++ b/debian/libvirt-daemon-system.virtlogd.init
@@ -0,0 +1,161 @@
+#! /bin/sh
+#
+# Init script for virtlogd
+#
+# (c) 2015 Guido Guenther <agx at sigxcpu.org>
+# based on the skeletons that comes with dh_make
+#
+### BEGIN INIT INFO
+# Provides:          virtlogd
+# Required-Start:    $local_fs $remote_fs $syslog
+# Required-Stop:     $local_fs $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Libvirt logging daemon
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+export PATH
+DAEMON=/usr/sbin/virtlogd
+NAME=virtlogd
+DESC="libvirt logging daemon"
+
+test -x $DAEMON || exit 0
+. /lib/lsb/init-functions
+
+PIDFILE=/var/run/$NAME.pid
+DODTIME=1                   # Time to wait for the server to die, in seconds
+
+# Include libvirtd defaults if available
+if [ -f /etc/default/virtlogd ] ; then
+	. /etc/default/virtlogd
+fi
+
+running_pid()
+{
+    # Check if a given process pid's cmdline matches a given name
+    pid=$1
+    name=$2
+    [ -z "$pid" ] && return 1
+    [ ! -d /proc/$pid ] &&  return 1
+    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
+    # Is this the expected child?
+    [ "$cmd" != "$name" ] &&  return 1
+    return 0
+}
+
+running()
+{
+# Check if the process is running looking at /proc
+# (works for all users)
+    # No pidfile, probably no daemon present
+    [ ! -f "$PIDFILE" ] && return 1
+    # Obtain the pid and check it against the binary name
+    pid=`cat $PIDFILE`
+    running_pid $pid $DAEMON || return 1
+    return 0
+}
+
+force_stop() {
+# Forcefully kill the process
+    [ ! -f "$PIDFILE" ] && return
+    if running ; then
+        kill -15 $pid
+        # Is it really dead?
+        [ -n "$DODTIME" ] && sleep "$DODTIME"s
+        if running ; then
+            kill -9 $pid
+            [ -n "$DODTIME" ] && sleep "$DODTIME"s
+            if running ; then
+                echo "Cannot kill $LABEL (pid=$pid)!"
+                exit 1
+            fi
+        fi
+    fi
+    rm -f $PIDFILE
+    return 0
+}
+
+case "$1" in
+  start)
+      log_daemon_msg "Starting $DESC" "$NAME"
+      if running ;  then
+          log_progress_msg "already running"
+          log_end_msg 0
+          exit 0
+      fi
+      rm -f $PIDFILE
+      start-stop-daemon --start --quiet --pidfile $PIDFILE \
+			--exec $DAEMON -- -d $VIRTLOGD_ARGS
+      if running; then
+	  log_end_msg 0
+      else
+	  log_end_msg 1
+      fi
+      ;;
+  stop)
+      log_daemon_msg "Stopping $DESC" "$NAME"
+      if ! running ;  then
+          log_progress_msg "not running"
+          log_end_msg 0
+          exit 0
+      fi
+      start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+			--exec $DAEMON
+      log_end_msg 0
+      ;;
+  force-stop)
+      log_daemon_msg "Forcefully stopping $DESC" "$NAME"
+      force_stop
+      if ! running; then
+	  log_end_msg 0
+      else
+	  log_end_msg 1
+      fi
+      ;;
+  restart)
+      log_daemon_msg "Restarting $DESC" "$DAEMON"
+      start-stop-daemon --oknodo --stop --quiet --pidfile \
+			/var/run/$NAME.pid --exec $DAEMON
+      [ -n "$DODTIME" ] && sleep $DODTIME
+      start-stop-daemon --start --quiet --pidfile \
+			/var/run/$NAME.pid --exec $DAEMON -- -d $libvirtd_opts
+      if running; then
+	  log_end_msg 0
+      else
+	  log_end_msg 1
+      fi
+      ;;
+  reload|force-reload)
+      if running; then
+          log_daemon_msg "Reloading configuration of $DESC" "$NAME"
+	  start-stop-daemon --stop --signal 1 --quiet --pidfile \
+			    /var/run/$NAME.pid --exec $DAEMON
+	  log_end_msg 0
+      else
+          log_warning_msg "libvirtd not running, doing nothing."
+      fi
+      ;;
+  status)
+      log_daemon_msg "Checking status of $DESC" "$NAME"
+      if running ;  then
+          log_progress_msg "running"
+          log_end_msg 0
+      else
+          log_progress_msg "not running"
+          log_end_msg 1
+          if [ -f "$PIDFILE" ] ; then
+              exit 1
+          else
+              exit 3
+          fi
+      fi
+      ;;
+  *)
+      N=/etc/init.d/libvirtd
+      echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" >&2
+      exit 1
+      ;;
+esac
+
+exit 0
diff --git a/debian/rules b/debian/rules
index 3b82504..d46fff5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -157,6 +157,8 @@ override_dh_install:
 	    debian/libvirt-daemon-system.libvirt-guests.init
 	cp tools/libvirt-guests.sysconf \
 	    debian/libvirt-daemon-system.libvirt-guests.default
+	cp src/logging/virtlogd.sysconf \
+	    debian/libvirt-daemon-system.virtlogd.default
 	# Add our backward compat polkit rule
 	cp debian/polkit/60-libvirt.pkla \
 	    debian/libvirt-daemon-system/var/lib/polkit-1/localauthority/10-vendor.d/
@@ -197,6 +199,7 @@ endif
 
 override_dh_installinit:
 	dh_systemd_enable
+	dh_installinit -p libvirt-daemon-system --name=virtlogd --no-restart-on-upgrade
 	dh_installinit -p libvirt-daemon-system --name=libvirtd --restart-after-upgrade -- defaults 28 72
 	dh_installinit -p libvirt-daemon-system --name=libvirt-guests --no-restart-on-upgrade -- defaults 29 71
 	dh_systemd_start -p libvirt-daemon-system --restart-after-upgrade libvirtd.service

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-libvirt/libvirt.git



More information about the Pkg-libvirt-commits mailing list