Rename libvirt-bin.service file back to the upstream (libvirtd.service) name.
In the process systemd might become confused, so we need to be sure to properly stop the libvirtd daemon before trying to restart it again We also need to take care of removing all reference to libvirt-bin.service, use the new "purge" verb that has ben introduced in deb-systemd-helper 1.18. Closes: #730604 --- debian/control | 2 +- debian/libvirt-bin.postinst | 12 ++++++++++++ debian/patches/debian/Debianize-systemd-service-files.patch | 11 +---------- debian/rules | 2 -- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/debian/control b/debian/control index 348b9f5..2d74337 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Debian Libvirt Maintainers <pkg-libvirt-maintain...@lists.alioth.deb Uploaders: Guido Günther <a...@sigxcpu.org>, Laurent Léonard <laur...@open-minds.org> Build-Depends: debhelper (>= 7), - dh-systemd (>= 1.3), + dh-systemd (>= 1.18), libxml2-dev, libncurses5-dev, libreadline-dev, diff --git a/debian/libvirt-bin.postinst b/debian/libvirt-bin.postinst index b3df139..05c4638 100644 --- a/debian/libvirt-bin.postinst +++ b/debian/libvirt-bin.postinst @@ -96,6 +96,18 @@ case "$1" in add_users_groups add_statoverrides + # When renaming the .service file, systemd might become confused, we + # need to ensure that the libvirtd daemon is fully stopped before + # trying to restart it again. (Bug: #730604) + if dpkg --compare-versions "$2" le-nl "1.2.1-3~"; then + if [ -d /run/systemd/system ]; then + start-stop-daemon --stop --quiet --pidfile /var/run/libvirtd.pid \ + --oknodo --exec /usr/sbin/libvirtd --retry 1 + fi + # Remove everything we know about libvirt-bin.service + deb-systemd-helper purge libvirt-bin.service >/dev/null + fi + # Make sure the directories don't get removed on package removal since # logrotate chokes otherwise. for dir in qemu uml lxc; do diff --git a/debian/patches/debian/Debianize-systemd-service-files.patch b/debian/patches/debian/Debianize-systemd-service-files.patch index afd078e..c0813a0 100644 --- a/debian/patches/debian/Debianize-systemd-service-files.patch +++ b/debian/patches/debian/Debianize-systemd-service-files.patch @@ -7,8 +7,6 @@ Subject: Debianize systemd service files tools/libvirt-guests.service.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in -index dc2433a..3c2a6b8 100644 --- a/daemon/libvirtd.service.in +++ b/daemon/libvirtd.service.in @@ -13,8 +13,8 @@ Documentation=man:libvirtd(8) @@ -22,16 +20,9 @@ index dc2433a..3c2a6b8 100644 ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in -index d8d7adf..e743edd 100644 --- a/tools/libvirt-guests.service.in +++ b/tools/libvirt-guests.service.in -@@ -1,11 +1,11 @@ - [Unit] - Description=Suspend Active Libvirt Guests --After=network.target libvirtd.service -+After=network.target libvirt-bin.service - Documentation=man:libvirtd(8) +@@ -5,7 +5,7 @@ Documentation=man:libvirtd(8) Documentation=http://libvirt.org [Service] diff --git a/debian/rules b/debian/rules index 72c8af1..427334e 100755 --- a/debian/rules +++ b/debian/rules @@ -140,8 +140,6 @@ override_dh_install: debian/libvirt-bin.libvirt-guests.init cp tools/libvirt-guests.sysconf \ debian/libvirt-bin.libvirt-guests.default - -mv debian/libvirt-bin/lib/systemd/system/libvirtd.service \ - debian/libvirt-bin/lib/systemd/system/libvirt-bin.service for l in $(LOGROTATE); do \ cp $(CURDIR)/debian/build/daemon/$$l.logrotate \ -- 1.9.0 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org