[PATCH] gnu: libvirt: Don't wrap with PATH

  • Done
  • quality assurance status badge
Details
One participant
  • ???
Owner
unassigned
Submitted by
???
Severity
normal
?
(address . bug-guix@gnu.org)
87y2zdh23u.fsf@member.fsf.org
Hello, this patch will make libvirt use
"<emulator>/run/current-system/profile/bin/qemu-system-x86_64</emulator>"
in machine's definition, and it can use 'ovs-vsctl' in PATH:
From e463ef6952009a46c96981df0647cee414fb71a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
Date: Wed, 28 Aug 2019 20:49:40 +0800
Subject: [PATCH] gnu: libvirt: Don't wrap with PATH.

This reverts commit 903e051a71467bc96a054c9b4ed89348fdae8977 to fix
https://bugs.gnu.org/31365. The full path of the 'ip' command is already
embedded, and we want to search 'qemu' in PATH.

* gnu/packages/virtualization.scm (libvirt): Remove 'wrap-libvirtd phase. Add
configure flags to run qemu as 'nobody:kvm'.
* gnu/services/virtualization.scm (libvirt-service-type): Add 'qemu' to the
system profile.
---
gnu/packages/virtualization.scm | 17 +++++------------
gnu/services/virtualization.scm | 6 ++++--
2 files changed, 9 insertions(+), 14 deletions(-)

Toggle diff (60 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 26477714e4..f46c31df1f 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -401,7 +401,10 @@ manage system or application containers.")
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--with-polkit"
+ (list "--with-qemu"
+ "--with-qemu-user=nobody"
+ "--with-qemu-group=kvm"
+ "--with-polkit"
(string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
,name "-" ,version)
"--sysconfdir=/etc"
@@ -431,23 +434,13 @@ manage system or application containers.")
(apply invoke "make" "install"
"sysconfdir=/tmp/etc"
"localstatedir=/tmp/var"
- make-flags)))
- (add-after 'install 'wrap-libvirtd
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-program (string-append out "/sbin/libvirtd")
- `("PATH" = (,(string-append (assoc-ref inputs "iproute")
- "/sbin")
- ,(string-append (assoc-ref inputs "qemu")
- "/bin"))))
- #t))))))
+ make-flags))))))
(inputs
`(("libxml2" ,libxml2)
("eudev" ,eudev)
("libpciaccess" ,libpciaccess)
("gnutls" ,gnutls)
("dbus" ,dbus)
- ("qemu" ,qemu)
("libpcap" ,libpcap)
("libnl" ,libnl)
("libuuid" ,util-linux)
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index 705ed84d06..03aedd326c 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -442,8 +442,10 @@ potential infinite waits blocking libvirt."))
(service-extension polkit-service-type
(compose list libvirt-configuration-libvirt))
(service-extension profile-service-type
- (compose list
- libvirt-configuration-libvirt))
+ (lambda (config)
+ (list
+ (libvirt-configuration-libvirt config)
+ qemu)))
(service-extension activation-service-type
%libvirt-activation)
(service-extension shepherd-root-service-type
--
2.19.2
?
(address . 37209-done@debbugs.gnu.org)
874l1jxeqn.fsf@member.fsf.org
iyzsong@member.fsf.org (???) writes:

Toggle quote (10 lines)
> Hello, this patch will make libvirt use
> "<emulator>/run/current-system/profile/bin/qemu-system-x86_64</emulator>"
> in machine's definition, and it can use 'ovs-vsctl' in PATH:
>
>>From e463ef6952009a46c96981df0647cee414fb71a6 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
> Date: Wed, 28 Aug 2019 20:49:40 +0800
> Subject: [PATCH] gnu: libvirt: Don't wrap with PATH.
>

Pushed, well I should sent it <guix-patches>..
Closed
?