Rename the initscript and default file back to the upstream name (libvirtd) --- debian/libvirt-bin.default | 17 -- debian/libvirt-bin.init | 232 --------------------- debian/libvirt-bin.libvirtd.default | 17 ++ debian/libvirt-bin.libvirtd.init | 232 +++++++++++++++++++++ debian/libvirt-bin.maintscript | 2 + .../patches/debian/Debianize-libvirt-guests.patch | 4 +- .../debian/Debianize-systemd-service-files.patch | 2 +- debian/patches/debian/remove-RHism.diff.patch | 2 +- debian/rules | 2 +- 9 files changed, 256 insertions(+), 254 deletions(-) delete mode 100644 debian/libvirt-bin.default delete mode 100755 debian/libvirt-bin.init create mode 100644 debian/libvirt-bin.libvirtd.default create mode 100755 debian/libvirt-bin.libvirtd.init create mode 100644 debian/libvirt-bin.maintscript
diff --git a/debian/libvirt-bin.default b/debian/libvirt-bin.default deleted file mode 100644 index e38a69c..0000000 --- a/debian/libvirt-bin.default +++ /dev/null @@ -1,17 +0,0 @@ -# Defaults for libvirt-bin initscript (/etc/init.d/libvirt-bin) -# This is a POSIX shell fragment - -# Start libvirtd to handle qemu/kvm: -start_libvirtd="yes" - -# options passed to libvirtd, add "-l" to listen on tcp -#libvirtd_opts="" - -# pass in location of kerberos keytab -#export KRB5_KTNAME=/etc/libvirt/libvirt.keytab - -# Whether to mount a systemd like cgroup layout (only -# useful when not running systemd) -#mount_cgroups=yes -# Which cgroups to mount -#cgroups="memory devices" diff --git a/debian/libvirt-bin.init b/debian/libvirt-bin.init deleted file mode 100755 index 6552000..0000000 --- a/debian/libvirt-bin.init +++ /dev/null @@ -1,232 +0,0 @@ -#! /bin/sh -# -# Init script for libvirtd -# -# (c) 2007 Guido Guenther <[email protected]> -# based on the skeletons that comes with dh_make -# -### BEGIN INIT INFO -# Provides: libvirt-bin libvirtd -# Required-Start: $network $local_fs $remote_fs $syslog -# Required-Stop: $local_fs $remote_fs $syslog -# Should-Start: avahi-daemon cgconfig -# Should-Stop: avahi-daemon cgconfig -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: libvirt management daemon -### END INIT INFO - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -export PATH -DAEMON=/usr/sbin/libvirtd -NAME=libvirtd -DESC="libvirt management daemon" -cgroups="cpuset cpu cpuacct devices freezer net_cls blkio perf_event" -! grep -qs cgroup_enable=memory /proc/cmdline || cgroups="$cgroups memory" - -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/libvirt-bin ] ; then - . /etc/default/libvirt-bin -fi - -check_start_libvirtd_option() { - if [ ! "$start_libvirtd" = "yes" ]; then - log_warning_msg "Not starting libvirt management daemon libvirtd, disabled via /etc/default/libvirt-bin" - return 1 - else - return 0 - 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 -} - -systemd_running() -{ - if [ -d /run/systemd/system ] ; then - return 0 - fi - return 1 -} - -mount_cgroups() -{ - if ! systemd_running - then - mount -t tmpfs cgroup_root /sys/fs/cgroup || return 1 - for M in $cgroups; do - mkdir /sys/fs/cgroup/$M || return 1 - mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,$M "cgroup_${M}" "/sys/fs/cgroup/${M}" || return 1 - done - else - log_warning_msg "Systemd running, skipping cgroup mount." - fi - -} - -umount_cgroups() -{ - if ! systemd_running - then - for M in $cgroups; do - umount "cgroup_${M}" - rmdir /sys/fs/cgroup/$M - done - umount cgroup_root - else - log_warning_msg "Systemd running, skipping cgroup mount." - fi -} - -check_mount_cgroup_options() { - if [ ! "$mount_cgroups" = "yes" ]; then - return 1 - else - return 0 - fi -} - -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) - if check_start_libvirtd_option; then - log_daemon_msg "Starting $DESC" "$NAME" - if running ; then - log_progress_msg "already running" - log_end_msg 0 - exit 0 - fi - rm -f /var/run/libvirtd.pid - if check_mount_cgroup_options; then - if ! mount_cgroups;then - log_warning_msg "Can not mount cgroups layout" - exit 1 - fi - fi - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --exec $DAEMON -- -d $libvirtd_opts - if running; then - log_end_msg 0 - else - log_end_msg 1 - fi - fi - ;; - stop) - log_daemon_msg "Stopping $DESC" "$NAME" - if ! running ; then - log_progress_msg "not running" - log_end_msg 0 - exit 0 - fi - if check_mount_cgroup_options; then - umount_cgroups - 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) - if check_start_libvirtd_option; then - 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 - 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/libvirt-bin - echo "Usage: $N {start|stop|restart|reload|force-reload|status|force-stop}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/debian/libvirt-bin.libvirtd.default b/debian/libvirt-bin.libvirtd.default new file mode 100644 index 0000000..042a541 --- /dev/null +++ b/debian/libvirt-bin.libvirtd.default @@ -0,0 +1,17 @@ +# Defaults for libvirtd initscript (/etc/init.d/libvirtd) +# This is a POSIX shell fragment + +# Start libvirtd to handle qemu/kvm: +start_libvirtd="yes" + +# options passed to libvirtd, add "-l" to listen on tcp +#libvirtd_opts="" + +# pass in location of kerberos keytab +#export KRB5_KTNAME=/etc/libvirt/libvirt.keytab + +# Whether to mount a systemd like cgroup layout (only +# useful when not running systemd) +#mount_cgroups=yes +# Which cgroups to mount +#cgroups="memory devices" diff --git a/debian/libvirt-bin.libvirtd.init b/debian/libvirt-bin.libvirtd.init new file mode 100755 index 0000000..a2a8f56 --- /dev/null +++ b/debian/libvirt-bin.libvirtd.init @@ -0,0 +1,232 @@ +#! /bin/sh +# +# Init script for libvirtd +# +# (c) 2007 Guido Guenther <[email protected]> +# based on the skeletons that comes with dh_make +# +### BEGIN INIT INFO +# Provides: libvirt-bin libvirtd +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $local_fs $remote_fs $syslog +# Should-Start: avahi-daemon cgconfig +# Should-Stop: avahi-daemon cgconfig +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: libvirt management daemon +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +export PATH +DAEMON=/usr/sbin/libvirtd +NAME=libvirtd +DESC="libvirt management daemon" +cgroups="cpuset cpu cpuacct devices freezer net_cls blkio perf_event" +! grep -qs cgroup_enable=memory /proc/cmdline || cgroups="$cgroups memory" + +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/libvirtd ] ; then + . /etc/default/libvirtd +fi + +check_start_libvirtd_option() { + if [ ! "$start_libvirtd" = "yes" ]; then + log_warning_msg "Not starting libvirt management daemon libvirtd, disabled via /etc/default/libvirtd" + return 1 + else + return 0 + 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 +} + +systemd_running() +{ + if [ -d /run/systemd/system ] ; then + return 0 + fi + return 1 +} + +mount_cgroups() +{ + if ! systemd_running + then + mount -t tmpfs cgroup_root /sys/fs/cgroup || return 1 + for M in $cgroups; do + mkdir /sys/fs/cgroup/$M || return 1 + mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,$M "cgroup_${M}" "/sys/fs/cgroup/${M}" || return 1 + done + else + log_warning_msg "Systemd running, skipping cgroup mount." + fi + +} + +umount_cgroups() +{ + if ! systemd_running + then + for M in $cgroups; do + umount "cgroup_${M}" + rmdir /sys/fs/cgroup/$M + done + umount cgroup_root + else + log_warning_msg "Systemd running, skipping cgroup mount." + fi +} + +check_mount_cgroup_options() { + if [ ! "$mount_cgroups" = "yes" ]; then + return 1 + else + return 0 + fi +} + +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) + if check_start_libvirtd_option; then + log_daemon_msg "Starting $DESC" "$NAME" + if running ; then + log_progress_msg "already running" + log_end_msg 0 + exit 0 + fi + rm -f /var/run/libvirtd.pid + if check_mount_cgroup_options; then + if ! mount_cgroups;then + log_warning_msg "Can not mount cgroups layout" + exit 1 + fi + fi + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -d $libvirtd_opts + if running; then + log_end_msg 0 + else + log_end_msg 1 + fi + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if ! running ; then + log_progress_msg "not running" + log_end_msg 0 + exit 0 + fi + if check_mount_cgroup_options; then + umount_cgroups + 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) + if check_start_libvirtd_option; then + 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 + 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/libvirt-bin.maintscript b/debian/libvirt-bin.maintscript new file mode 100644 index 0000000..8f5637e --- /dev/null +++ b/debian/libvirt-bin.maintscript @@ -0,0 +1,2 @@ +mv_conffile /etc/default/libvirt-bin /etc/default/libvirtd 1.2.1-3~ +mv_conffile /etc/init.d/libvirt-bin /etc/init.d/libvirtd 1.2.1-3~ diff --git a/debian/patches/debian/Debianize-libvirt-guests.patch b/debian/patches/debian/Debianize-libvirt-guests.patch index 877dc30..d9e2b25 100644 --- a/debian/patches/debian/Debianize-libvirt-guests.patch +++ b/debian/patches/debian/Debianize-libvirt-guests.patch @@ -18,8 +18,8 @@ index 38e93c5..7aa6eee 100644 +# +### BEGIN INIT INFO +# Provides: libvirt-guests -+# Required-Start: $remote_fs libvirt-bin -+# Required-Stop: $remote_fs libvirt-bin ++# Required-Start: $remote_fs libvirtd ++# Required-Stop: $remote_fs libvirtd +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: suspend/resume libvirt guests on shutdown/boot diff --git a/debian/patches/debian/Debianize-systemd-service-files.patch b/debian/patches/debian/Debianize-systemd-service-files.patch index 4007d92..afd078e 100644 --- a/debian/patches/debian/Debianize-systemd-service-files.patch +++ b/debian/patches/debian/Debianize-systemd-service-files.patch @@ -17,7 +17,7 @@ index dc2433a..3c2a6b8 100644 [Service] -EnvironmentFile=-/etc/sysconfig/libvirtd -ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS -+EnvironmentFile=-/etc/default/libvirt-bin ++EnvironmentFile=-/etc/default/libvirtd +ExecStart=@sbindir@/libvirtd $libvirtd_opts ExecReload=/bin/kill -HUP $MAINPID KillMode=process diff --git a/debian/patches/debian/remove-RHism.diff.patch b/debian/patches/debian/remove-RHism.diff.patch index 1be4565..743c74f 100644 --- a/debian/patches/debian/remove-RHism.diff.patch +++ b/debian/patches/debian/remove-RHism.diff.patch @@ -15,7 +15,7 @@ index 3534b54..918bba7 100644 Most B<virsh> operations rely upon the libvirt library being able to connect to an already running libvirtd service. This can usually be -done using the command B<service libvirtd start>. -+done using the command B<invoke-rc.d libvirt-bin start>. ++done using the command B<invoke-rc.d libvirtd start>. Most B<virsh> commands require root privileges to run due to the communications channels used to talk to the hypervisor. Running as diff --git a/debian/rules b/debian/rules index 700cc39..72c8af1 100755 --- a/debian/rules +++ b/debian/rules @@ -156,7 +156,7 @@ override_dh_install: override_dh_installinit: dh_systemd_enable - dh_installinit --name=libvirt-bin --restart-after-upgrade -- defaults 28 72 + dh_installinit --name=libvirtd --restart-after-upgrade -- defaults 28 72 dh_installinit --name=libvirt-guests --no-restart-on-upgrade -- defaults 29 71 dh_systemd_start --restart-after-upgrade -- 1.9.0 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

