[libvirt] [PATCH] install: fix virtlockd installation

The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init. * src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (CLEANFILES): Clean up built sources. --- src/Makefile.am | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 25b6e3f..dd7e219 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1628,24 +1628,26 @@ EXTRA_DIST += locking/virtlockd.sysconf \ locking/test_libvirt_lockd.aug.in install-sysconfig: - mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \ $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd uninstall-sysconfig: rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : EXTRA_DIST += locking/virtlockd.init.in if WITH_LIBVIRTD if LIBVIRT_INIT_SCRIPT_RED_HAT install-init:: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d $(INSTALL_SCRIPT) virtlockd.init \ $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd uninstall-init:: uninstall-sysconfig - rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd + rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : BUILT_SOURCES += virtlockd.init else @@ -1677,16 +1679,17 @@ SYSTEMD_UNIT_DIR = /lib/systemd/system BUILT_SOURCES += virtlockd.service virtlockd.socket -install-systemd: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) +install-systemd: virtlockd.service virtlockd.socket install-sysconfig + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) $(INSTALL_SCRIPT) virtlockd.service \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ $(INSTALL_SCRIPT) virtlockd.socket \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ uninstall-systemd: uninstall-sysconfig - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : else install-systemd: uninstall-systemd: @@ -2050,5 +2053,6 @@ endif rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||: CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s +CLEANFILES += $(BUILT_SOURCES) DISTCLEANFILES += $(GENERATED_SYM_FILES) MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED) -- 1.8.0.2

On 2012年12月14日 07:49, Eric Blake wrote:
The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init.
* src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (CLEANFILES): Clean up built sources. --- src/Makefile.am | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am index 25b6e3f..dd7e219 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1628,24 +1628,26 @@ EXTRA_DIST += locking/virtlockd.sysconf \ locking/test_libvirt_lockd.aug.in
install-sysconfig: - mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \ $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
uninstall-sysconfig: rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
EXTRA_DIST += locking/virtlockd.init.in
if WITH_LIBVIRTD if LIBVIRT_INIT_SCRIPT_RED_HAT install-init:: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d $(INSTALL_SCRIPT) virtlockd.init \ $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
uninstall-init:: uninstall-sysconfig - rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd
Hum, this should be copy & paste typo.
+ rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
BUILT_SOURCES += virtlockd.init else @@ -1677,16 +1679,17 @@ SYSTEMD_UNIT_DIR = /lib/systemd/system
BUILT_SOURCES += virtlockd.service virtlockd.socket
-install-systemd: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) +install-systemd: virtlockd.service virtlockd.socket install-sysconfig + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) $(INSTALL_SCRIPT) virtlockd.service \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ $(INSTALL_SCRIPT) virtlockd.socket \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
Direct fix from the rules's point of view.
uninstall-systemd: uninstall-sysconfig - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : else install-systemd: uninstall-systemd: @@ -2050,5 +2053,6 @@ endif rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s +CLEANFILES += $(BUILT_SOURCES)
ACK.

On Fri, Dec 14, 2012 at 16:50:17 +0800, Osier Yang wrote:
On 2012年12月14日 07:49, Eric Blake wrote:
The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init.
* src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (CLEANFILES): Clean up built sources. --- src/Makefile.am | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am index 25b6e3f..dd7e219 100644 --- a/src/Makefile.am +++ b/src/Makefile.am ... @@ -2050,5 +2053,6 @@ endif rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s +CLEANFILES += $(BUILT_SOURCES)
I think this is dangerous. IIRC, BUILT_SOURCES includes files we distribute in the tarball, such as those generated from *.x Jirka

On 12/14/2012 05:33 AM, Jiri Denemark wrote:
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s +CLEANFILES += $(BUILT_SOURCES)
I think this is dangerous. IIRC, BUILT_SOURCES includes files we distribute in the tarball, such as those generated from *.x
It copied from daemon/Makefile.am, but that directory didn't have .x files. v2 coming up, with this difference: diff --git i/src/Makefile.am w/src/Makefile.am index ae6384b..53ec9da 100644 --- i/src/Makefile.am +++ w/src/Makefile.am -1651,6 +1651,7 @@ uninstall-init:: uninstall-sysconfig rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : BUILT_SOURCES += virtlockd.init +DISTCLEANFILES += virtlockd.init else install-init:: uninstall-init:: -1679,6 +1680,7 @@ if LIBVIRT_INIT_SCRIPT_SYSTEMD SYSTEMD_UNIT_DIR = /lib/systemd/system BUILT_SOURCES += virtlockd.service virtlockd.socket +DISTCLEANFILES += virtlockd.service virtlockd.socket install-systemd: virtlockd.service virtlockd.socket install-sysconfig $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) -2054,6 +2056,5 @@ endif rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||: CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s -CLEANFILES += $(BUILT_SOURCES) DISTCLEANFILES += $(GENERATED_SYM_FILES) MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED) -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init. * src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (DISTCLEANFILES): Clean up trivially built sources. --- v2: restrict which files are cleaned; again tested with 'make distcheck' src/Makefile.am | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index cb9eb62..53ec9da 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1629,26 +1629,29 @@ EXTRA_DIST += locking/virtlockd.sysconf \ locking/test_libvirt_lockd.aug.in install-sysconfig: - mkdir -p $(DESTDIR)$(sysconfdir)/sysconfig + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \ $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd uninstall-sysconfig: rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : EXTRA_DIST += locking/virtlockd.init.in if WITH_LIBVIRTD if LIBVIRT_INIT_SCRIPT_RED_HAT install-init:: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d + $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d $(INSTALL_SCRIPT) virtlockd.init \ $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd uninstall-init:: uninstall-sysconfig - rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/libvirtd + rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd + rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || : BUILT_SOURCES += virtlockd.init +DISTCLEANFILES += virtlockd.init else install-init:: uninstall-init:: @@ -1677,17 +1680,19 @@ if LIBVIRT_INIT_SCRIPT_SYSTEMD SYSTEMD_UNIT_DIR = /lib/systemd/system BUILT_SOURCES += virtlockd.service virtlockd.socket +DISTCLEANFILES += virtlockd.service virtlockd.socket -install-systemd: virtlockd.init install-sysconfig - mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR) +install-systemd: virtlockd.service virtlockd.socket install-sysconfig + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) $(INSTALL_SCRIPT) virtlockd.service \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ $(INSTALL_SCRIPT) virtlockd.socket \ $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ uninstall-systemd: uninstall-sysconfig - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : else install-systemd: uninstall-systemd: -- 1.8.0.2

On Fri, Dec 14, 2012 at 06:12:07 -0700, Eric Blake wrote:
The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init.
* src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (DISTCLEANFILES): Clean up trivially built sources. ---
v2: restrict which files are cleaned; again tested with 'make distcheck'
src/Makefile.am | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)
ACK Jirka

On 12/14/2012 06:16 AM, Jiri Denemark wrote:
On Fri, Dec 14, 2012 at 06:12:07 -0700, Eric Blake wrote:
The virtlockd daemon scripts were lousy, when compared to their counterparts in daemon/Makefile.am. In particular, when init scripts were selected, this resulted in 'make distcheck' failing due to failure to clean up src/virtlockd.init.
* src/Makefile.am (install-systemd): Fix dependencies. Use MKDIR_P. (uninstall-systemd): Remove empty directory. Use fewer processes. (install-init, install-sysconfig): Use MKDIR_P. (uninstall-init): Remove correct file, and also empty directory. (uninstall-sysconfig): Remove empty directory. (DISTCLEANFILES): Clean up trivially built sources. ---
v2: restrict which files are cleaned; again tested with 'make distcheck'
src/Makefile.am | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)
ACK
Pushed. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (3)
-
Eric Blake
-
Jiri Denemark
-
Osier Yang