[libvirt] [PATCH 4/4] build: install libvirt sysctl file correctly

Eric Blake eblake at redhat.com
Fri Jan 4 22:36:48 UTC 2013


https://bugzilla.redhat.com/show_bug.cgi?id=887017 reports that
even though libvirt attempts to set fs.aio-max-nr via sysctl,
the file was installed with the wrong name and gets ignored by
sysctl.  Furthermore, 'man systcl.d' recommends that packages
install into hard-coded /usr/lib/sysctl.d (even when libdir is
/usr/lib64), so that sysadmins can use /etc/sysctl.d for overrides.

* daemon/Makefile.am (install-sysctl, uninstall-sysctl): Use
correct location.
* libvirt.spec.in (network_files): Reflect this.
---
 daemon/Makefile.am | 10 ++++++----
 libvirt.spec.in    |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 7bcc7e2..c59084c 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -273,14 +273,16 @@ uninstall-sysconfig:
 	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :

 if WITH_SYSCTL
+# Use $(prefix)/lib rather than $(libdir), since man sysctl.d insists on
+# /usr/lib/sysctl.d/ even when libdir is /usr/lib64
 install-sysctl:
-	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysctl.d
+	$(MKDIR_P) $(DESTDIR)$(prefix)/lib/sysctl.d
 	$(INSTALL_DATA) $(srcdir)/libvirtd.sysctl \
-	  $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd
+	  $(DESTDIR)$(prefix)/lib/sysctl.d/libvirtd.conf

 uninstall-sysctl:
-	rm -f $(DESTDIR)$(sysconfdir)/sysctl.d/libvirtd
-	rmdir $(DESTDIR)$(sysconfdir)/sysctl.d || :
+	rm -f $(DESTDIR)$(prefix)/lib/sysctl.d/libvirtd.conf
+	rmdir $(DESTDIR)$(prefix)/lib/sysctl.d || :
 else
 install-sysctl:
 uninstall-sysctl:
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 3aaef02..0a5a8e0 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1681,9 +1681,9 @@ fi
 %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
 %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
 %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
-%config(noreplace) %{_sysconfdir}/sysctl.d/libvirtd
+%config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
 %else
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysctl.d/libvirtd
+rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
 %endif
 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
-- 
1.8.0.2




More information about the libvir-list mailing list