[libvirt] Fix install of libvirt-guests.service and libvirtd.service

Daniel P. Berrange berrange at fedoraproject.org
Thu Dec 8 13:51:17 UTC 2011


commit f99eeb8567005dbba9d48e1101ded615974cf32a
Author: Daniel P. Berrange <berrange at redhat.com>
Date:   Thu Dec 8 13:50:55 2011 +0000

    Fix install of libvirt-guests.service and libvirtd.service

 libvirt-0.9.8-systemd-libvirt-guests.patch |   81 ++++++++++++++++++++++++++++
 libvirt.spec                               |   22 +++++++-
 2 files changed, 101 insertions(+), 2 deletions(-)
---
diff --git a/libvirt-0.9.8-systemd-libvirt-guests.patch b/libvirt-0.9.8-systemd-libvirt-guests.patch
new file mode 100644
index 0000000..7933774
--- /dev/null
+++ b/libvirt-0.9.8-systemd-libvirt-guests.patch
@@ -0,0 +1,81 @@
+commit 455c85302f4ed14c7cd953d10cdfbb0efeccd7ed
+Author: Daniel P. Berrange <berrange at redhat.com>
+Date:   Thu Dec 8 13:30:24 2011 +0000
+
+    Fix installation of libvirt-guests.service
+    
+    The installation rules for the libvirt-guests.service were
+    totally broken
+    
+     - Installing in the wrong location
+     - The location was not overridable
+     - The install-systemd rule was not invoked anywhere
+     - The install-systemd rule was not invoking install-initscript
+       which it depends on
+     - The installed service file lacked a .service extension
+    
+    * tools/Makefile.am: Fix install of libvirt-guests.service
+
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index c735398..25f0ffe 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -148,9 +148,9 @@ endif
+ virsh.1: virsh.pod
+ 	$(AM_V_GEN)$(POD2MAN) $< $(srcdir)/$@
+ 
+-install-data-local: install-init
++install-data-local: install-init install-systemd
+ 
+-uninstall-local: uninstall-init
++uninstall-local: uninstall-init uninstall-systemd
+ 
+ install-sysconfig:
+ 	mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig
+@@ -162,17 +162,20 @@ uninstall-sysconfig:
+ 
+ EXTRA_DIST += libvirt-guests.init.sh
+ 
+-if LIBVIRT_INIT_SCRIPT_RED_HAT
+-install-init: libvirt-guests.init install-sysconfig
++install-initscript: libvirt-guests.init
+ 	mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d
+ 	$(INSTALL_SCRIPT) libvirt-guests.init \
+ 	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests
+ 
+-uninstall-init: install-sysconfig
++uninstall-initscript:
+ 	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirt-guests
+ 
+-BUILT_SOURCES += libvirt-guests.init
+ 
++
++if LIBVIRT_INIT_SCRIPT_RED_HAT
++BUILT_SOURCES += libvirt-guests.init
++install-init: install-sysconfig install-initscript
++uninstall-init: uninstall-sysconfig uninstall-initscript
+ else
+ install-init:
+ uninstall-init:
+@@ -194,14 +197,16 @@ libvirt-guests.init: libvirt-guests.init.sh $(top_builddir)/config.status
+ 
+ EXTRA_DIST += libvirt-guests.service.in
+ 
++SYSTEMD_UNIT_DIR = /lib/systemd/system
++
+ if LIBVIRT_INIT_SCRIPT_SYSTEMD
+-install-systemd: libvirt-guests.service install-sysconfig
+-	mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/systemd.d
++install-systemd: libvirt-guests.service install-initscript install-sysconfig
++	mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
+ 	$(INSTALL_SCRIPT) libvirt-guests.service \
+-	  $(DESTDIR)$(sysconfdir)/rc.d/systemd.d/libvirt-guests
++	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
+ 
+-uninstall-systemd: install-sysconfig
+-	rm -f $(DESTDIR)$(sysconfdir)/rc.d/systemd.d/libvirt-guests
++uninstall-systemd: uninstall-initscript uninstall-sysconfig
++	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
+ 
+ BUILT_SOURCES += libvirt-guests.service
+ 
diff --git a/libvirt.spec b/libvirt.spec
index 4e9f507..7883f08 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -8,6 +8,11 @@
   sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
 %endif
 
+# Default to skipping autoreconf.  Distros can change just this one line
+# (or provide a command-line override) if they backport any patches that
+# touch configure.ac or Makefile.am.
+%define enable_autotools %{?enable_autotools:1}
+
 # A client only build will create a libvirt.so only containing
 # the generic RPC driver, and test driver and no libvirtd
 # Default to a full server + client build
@@ -247,10 +252,11 @@
 Summary: Library providing a simple virtualization API
 Name: libvirt
 Version: 0.9.8
-Release: 1%{?dist}%{?extra_release}
+Release: 2%{?dist}%{?extra_release}
 License: LGPLv2+
 Group: Development/Libraries
 Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
+Patch1: %{name}-%{version}-systemd-libvirt-guests.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 URL: http://libvirt.org/
 
@@ -349,6 +355,11 @@ Requires(postun): systemd-units
 %endif
 
 # All build-time requirements
+%if 0%{?enable_autotools}
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+%endif
 BuildRequires: python-devel
 %if %{with_systemd}
 BuildRequires: systemd-units
@@ -573,6 +584,7 @@ of recent versions of Linux (and other OSes).
 
 %prep
 %setup -q
+%patch1 -p1
 
 %build
 %if ! %{with_xen}
@@ -733,6 +745,9 @@ of recent versions of Linux (and other OSes).
 %define init_scripts --with-init_script=redhat
 %endif
 
+%if 0%{?enable_autotools}
+autoreconf -if
+%endif
 %configure %{?_without_xen} \
            %{?_without_qemu} \
            %{?_without_openvz} \
@@ -780,7 +795,7 @@ gzip -9 ChangeLog
 %install
 rm -fr %{buildroot}
 
-%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir}
+%makeinstall SYSTEMD_UNIT_DIR=%{buildroot}%{_unitdir}
 for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap
 do
   (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
@@ -1257,6 +1272,9 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd
 %endif
 
 %changelog
+* Thu Dec  8 2011 Daniel P. Berrange <berrange at redhat.com> - 0.9.8-2
+- Fix install of libvirt-guests.service & libvirtd.service
+
 * Thu Dec  8 2011 Daniel Veillard <veillard at redhat.com> - 0.9.8-1
 - Add support for QEMU 1.0
 - Add preliminary PPC cpu driver


More information about the scm-commits mailing list