]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tools: Only install guests init script if --with-init=script=redhat
authorCole Robinson <crobinso@redhat.com>
Sun, 21 Oct 2012 02:29:51 +0000 (22:29 -0400)
committerEric Blake <eblake@redhat.com>
Mon, 7 Jan 2013 18:26:52 +0000 (11:26 -0700)
Most of this deals with moving the libvirt-guests.sh script which
does all the work to /usr/libexec, so it can be shared by both
systemd and traditional init. Previously systemd depended on
the script being in /etc/init.d

Required to fix https://bugzilla.redhat.com/show_bug.cgi?id=789747
(cherry picked from commit d13155c20c0df9595e33c120a68b3544192d6740)

.gitignore
libvirt.spec.in
po/POTFILES.in
tools/Makefile.am
tools/libvirt-guests.init.in [new file with mode: 0644]
tools/libvirt-guests.service.in
tools/libvirt-guests.sh.in [moved from tools/libvirt-guests.init.sh with 95% similarity]

index 6db09ef1c672ae0462a884450ebaebc855c3e6e7..c2a73e0199cd3087c6b6ddc46f23b93dea032aff 100644 (file)
 /tools/*.[18]
 /tools/libvirt-guests.init
 /tools/libvirt-guests.service
+/tools/libvirt-guests.sh
 /tools/virsh
 /tools/virsh-*-edit.c
 /tools/virt-*-validate
index 70922c2ce42abbf1bc7cd03e53d1c8a108d34d55..56569c6bdf3d2592af71abd7a9f7fadba50d1c23 100644 (file)
@@ -1382,8 +1382,6 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} \
    $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version}
 
-sed -i -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirt-guests
-
 %if %{with_dtrace}
 %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
@@ -1622,10 +1620,13 @@ fi
 
 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
 
+%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
 %if %{with_systemd}
 %{_unitdir}/libvirtd.service
+%{_unitdir}/libvirt-guests.service
 %else
 %{_sysconfdir}/rc.d/init.d/libvirtd
+%{_sysconfdir}/rc.d/init.d/libvirt-guests
 %endif
 %doc daemon/libvirtd.upstart
 %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
@@ -1886,7 +1887,6 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd
 
 %{_datadir}/libvirt/cpu_map.xml
 
-%{_sysconfdir}/rc.d/init.d/libvirt-guests
 %if %{with_systemd}
 %{_unitdir}/libvirt-guests.service
 %endif
index 74d8dcce5e918ff88e480922d8a8677d7acf79a6..a1969a1f7eb0f2ac36e00e5b7dc594b116e3834f 100644 (file)
@@ -185,7 +185,7 @@ src/xenapi/xenapi_utils.c
 src/xenxs/xen_sxpr.c
 src/xenxs/xen_xm.c
 tools/console.c
-tools/libvirt-guests.init.sh
+tools/libvirt-guests.sh.in
 tools/virsh.c
 tools/virsh-domain-monitor.c
 tools/virsh-domain.c
index d646bab4b87da6f0eeb7a505345060339bc7b133..605bf3b1f2238e496123f08253f1d238b14dadf1 100644 (file)
@@ -41,6 +41,7 @@ DISTCLEANFILES =
 
 bin_SCRIPTS = virt-xml-validate virt-pki-validate
 bin_PROGRAMS = virsh virt-host-validate
+libexec_SCRIPTS = libvirt-guests.sh
 
 if HAVE_SANLOCK
 sbin_SCRIPTS = virt-sanlock-cleanup
@@ -187,7 +188,7 @@ uninstall-sysconfig:
        rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests
        rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||:
 
-EXTRA_DIST += libvirt-guests.init.sh
+EXTRA_DIST += libvirt-guests.sh.in libvirt-guests.init.in
 
 install-initscript: libvirt-guests.init
        $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
@@ -208,7 +209,7 @@ install-init:
 uninstall-init:
 endif # LIBVIRT_INIT_SCRIPT_RED_HAT
 
-libvirt-guests.init: libvirt-guests.init.sh $(top_builddir)/config.status
+libvirt-guests.sh: libvirt-guests.sh.in $(top_builddir)/config.status
        $(AM_V_GEN)sed                                  \
            -e 's!\@PACKAGE\@!$(PACKAGE)!g'             \
            -e 's!\@bindir\@!$(bindir)!g'               \
@@ -219,20 +220,26 @@ libvirt-guests.init: libvirt-guests.init.sh $(top_builddir)/config.status
            < $< > $@-t &&                              \
            chmod a+x $@-t &&                           \
            mv $@-t $@
+BUILT_SOURCES += libvirt-guests.sh
 
+libvirt-guests.init: libvirt-guests.init.in libvirt-guests.sh
+       $(AM_V_GEN)sed \
+               -e 's!\@libexecdir\@!$(libexecdir)!g' \
+       < $< > $@-t && \
+       chmod a+x $@-t && \
+       mv $@-t $@
 
 
 EXTRA_DIST += libvirt-guests.service.in
-
 SYSTEMD_UNIT_DIR = /lib/systemd/system
 
 if LIBVIRT_INIT_SCRIPT_SYSTEMD
-install-systemd: libvirt-guests.service install-initscript install-sysconfig
+install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh
        $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
        $(INSTALL_DATA) libvirt-guests.service \
          $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
 
-uninstall-systemd: uninstall-initscript uninstall-sysconfig
+uninstall-systemd: uninstall-sysconfig
        rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service
        rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||:
 
@@ -251,6 +258,7 @@ libvirt-guests.service: libvirt-guests.service.in $(top_builddir)/config.status
            -e 's!\@localstatedir\@!$(localstatedir)!g' \
            -e 's!\@sbindir\@!$(sbindir)!g'             \
            -e 's!\@sysconfdir\@!$(sysconfdir)!g'       \
+           -e 's!\@libexecdir\@!$(libexecdir)!g'       \
            < $< > $@-t &&                              \
            chmod a+x $@-t &&                           \
            mv $@-t $@
diff --git a/tools/libvirt-guests.init.in b/tools/libvirt-guests.init.in
new file mode 100644 (file)
index 0000000..5f9a60e
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# the following is the LSB init header
+#
+### BEGIN INIT INFO
+# Provides: libvirt-guests
+# Required-Start: libvirtd
+# Required-Stop: libvirtd
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: suspend/resume libvirt guests on shutdown/boot
+# Description: This is a script for suspending active libvirt guests
+#              on shutdown and resuming them on next boot
+#              See http://libvirt.org
+### END INIT INFO
+
+# the following is chkconfig init header
+#
+# libvirt-guests:   suspend/resume libvirt guests on shutdown/boot
+#
+# chkconfig: 345 99 01
+# description:  This is a script for suspending active libvirt guests \
+#               on shutdown and resuming them on next boot \
+#               See http://libvirt.org
+#
+
+exec @libexecdir@/libvirt-guests.sh "$@"
index 0f0c41c0bf222d65b5567d81f9f255a2fc631697..d41bf2b1dee72886a002d8677a70f3a3d54ebdc0 100644 (file)
@@ -6,8 +6,8 @@ After=syslog.target network.target
 EnvironmentFile=-/etc/sysconfig/libvirt-guests
 # Hack just call traditional service until we factor
 # out the code
-ExecStart=/etc/init.d/libvirt-guests start
-ExecStop=/etc/init.d/libvirt-guests stop
+ExecStart=@libexecdir@/libvirt-guests.sh start
+ExecStop=@libexecdir@/libvirt-guests.sh stop
 Type=oneshot
 RemainAfterExit=yes
 StandardOutput=journal+console
similarity index 95%
rename from tools/libvirt-guests.init.sh
rename to tools/libvirt-guests.sh.in
index 99ef331247e68b4d4554de8f4b9ba0e551db65ce..1c9c46b30c05337ff6bf4ed9797f3f2140c7b871 100644 (file)
@@ -1,29 +1,5 @@
 #!/bin/sh
 
-# the following is the LSB init header
-#
-### BEGIN INIT INFO
-# Provides: libvirt-guests
-# Required-Start: libvirtd
-# Required-Stop: libvirtd
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: suspend/resume libvirt guests on shutdown/boot
-# Description: This is a script for suspending active libvirt guests
-#              on shutdown and resuming them on next boot
-#              See http://libvirt.org
-### END INIT INFO
-
-# the following is chkconfig init header
-#
-# libvirt-guests:   suspend/resume libvirt guests on shutdown/boot
-#
-# chkconfig: 345 99 01
-# description:  This is a script for suspending active libvirt guests \
-#               on shutdown and resuming them on next boot \
-#               See http://libvirt.org
-#
-
 sysconfdir="@sysconfdir@"
 localstatedir="@localstatedir@"
 libvirtd="@sbindir@"/libvirtd