mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-13 10:30:43 +02:00
gnu: libvirt: Fix path to Linux modules.
* gnu/packages/virtualization.scm (libvirt): Use LINUX_MODULE_DIRECTORY to find modules. [source]: Add libvirt-respect-modules-path.patch. * gnu/packages/patches/libvirt-respect-modules-path.patch: New file. * gnu/local.mk: Register new file. * gnu/services/virtualization.scm (libvirt-shepherd-service) <#:environment-variables>: Pass LINUX_MODULE_DIRECTORY. Change-Id: Idde5b59df3c1641fcbab376e6c694730769294d3 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
8e61e3baf6
commit
614ba97d98
4 changed files with 25 additions and 5 deletions
|
@ -1674,6 +1674,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/librewolf-neuter-locale-download.patch \
|
||||
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
|
||||
%D%/packages/patches/libvirt-add-install-prefix.patch \
|
||||
%D%/packages/patches/libvirt-respect-modules-path.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/lightdm-arguments-ordering.patch \
|
||||
%D%/packages/patches/lightdm-vnc-ipv6.patch \
|
||||
|
|
15
gnu/packages/patches/libvirt-respect-modules-path.patch
Normal file
15
gnu/packages/patches/libvirt-respect-modules-path.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
Honor the LINUX_MODULE_DIRECTORY environment variable.
|
||||
|
||||
Upstream-status: N/A
|
||||
|
||||
--- a/src/util/virpci.c
|
||||
+++ b/src/util/virpci.c
|
||||
@@ -1459,6 +1459,7 @@ virPCIDeviceFindBestVFIOVariant(virPCIDevice *dev,
|
||||
}
|
||||
|
||||
uname(&unameInfo);
|
||||
- modulesAliasPath = g_strdup_printf("/lib/modules/%s/modules.alias", unameInfo.release);
|
||||
+ char* modulepath = getenv("LINUX_MODULE_DIRECTORY");
|
||||
+ modulesAliasPath = g_strdup_printf("%s/%s/modules.alias", modulepath ? modulepath : "/lib/modules", unameInfo.release);
|
||||
if (virFileReadAll(modulesAliasPath, 8 * 1024 * 1024, &modulesAliasContent) < 0)
|
||||
return -1;
|
|
@ -1562,7 +1562,8 @@ pretty simple, REST API.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "15jpfrn3d2zyhbm5ip7bmpjb6ch2bfxm1h6yfgh0l3bw3g9ppgg1"))
|
||||
(patches (search-patches "libvirt-add-install-prefix.patch"))))
|
||||
(patches (search-patches "libvirt-add-install-prefix.patch"
|
||||
"libvirt-respect-modules-path.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -508,11 +508,14 @@ potential infinite waits blocking libvirt."))
|
|||
(list (string-append #$libvirt "/sbin/libvirtd")
|
||||
"-f" #$config-file
|
||||
#$@(if listen-tcp? '("--listen") '()))
|
||||
;; For finding qemu and ip binaries.
|
||||
;; For finding qemu, ip binaries and kernel modules.
|
||||
#:environment-variables
|
||||
(list (string-append
|
||||
"PATH=/run/current-system/profile/bin:"
|
||||
"/run/current-system/profile/sbin"))))
|
||||
(list
|
||||
(string-append
|
||||
"PATH=/run/current-system/profile/bin:"
|
||||
"/run/current-system/profile/sbin")
|
||||
"LINUX_MODULE_DIRECTORY="
|
||||
"/run/booted-system/kernel/lib/modules")))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define libvirt-service-type
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue