diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/libvirt | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libvirt')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libvirt/0001-qemu-segmentation-fault-in-virtqemud-executing-qemuD.patch | 48 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libvirt/default.nix | 58 |
2 files changed, 37 insertions, 69 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libvirt/0001-qemu-segmentation-fault-in-virtqemud-executing-qemuD.patch b/nixpkgs/pkgs/development/libraries/libvirt/0001-qemu-segmentation-fault-in-virtqemud-executing-qemuD.patch deleted file mode 100644 index 375267dcda79..000000000000 --- a/nixpkgs/pkgs/development/libraries/libvirt/0001-qemu-segmentation-fault-in-virtqemud-executing-qemuD.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 823a62ec8aac4fb75e6e281164f3eb56ae47597c Mon Sep 17 00:00:00 2001 -From: Boris Fiuczynski <fiuczy@linux.ibm.com> -Date: Tue, 1 Mar 2022 18:47:59 +0100 -Subject: [PATCH] qemu: segmentation fault in virtqemud executing - qemuDomainUndefineFlags - -Commit 5adfb3472342741c443ac91dee0abb18b5a3d038 causes a segmentation fault. - -Stack trace of thread 664419: - #0 0x000003ff62ec553c in qemuDomainUndefineFlags (dom=0x3ff6c002810, flags=<optimized out>) at ../src/qemu/qemu_driver.c:6618 - #1 0x000003ff876a7e5c in virDomainUndefineFlags (domain=domain@entry=0x3ff6c002810, flags=<optimized out>) at ../src/libvirt-domain.c:6519 - #2 0x000002aa2b64a808 in remoteDispatchDomainUndefineFlags (server=0x2aa2c3d7880, msg=0x2aa2c3d2770, args=<optimized out>, rerr=0x3ff8287b950, client=<optimized out>) - at src/remote/remote_daemon_dispatch_stubs.h:13080 - #3 remoteDispatchDomainUndefineFlagsHelper (server=0x2aa2c3d7880, client=<optimized out>, msg=0x2aa2c3d2770, rerr=0x3ff8287b950, args=<optimized out>, ret=0x0) - at src/remote/remote_daemon_dispatch_stubs.h:13059 - #4 0x000003ff8758bbf4 in virNetServerProgramDispatchCall (msg=0x2aa2c3d2770, client=0x2aa2c3e3050, server=0x2aa2c3d7880, prog=0x2aa2c3d8010) - at ../src/rpc/virnetserverprogram.c:428 - #5 virNetServerProgramDispatch (prog=0x2aa2c3d8010, server=server@entry=0x2aa2c3d7880, client=0x2aa2c3e3050, msg=0x2aa2c3d2770) at ../src/rpc/virnetserverprogram.c:302 - #6 0x000003ff8758c260 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:140 - #7 virNetServerHandleJob (jobOpaque=0x2aa2c3e2d30, opaque=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:160 - #8 0x000003ff874c49aa in virThreadPoolWorker (opaque=<optimized out>) at ../src/util/virthreadpool.c:164 - #9 0x000003ff874c3f62 in virThreadHelper (data=<optimized out>) at ../src/util/virthread.c:256 - #10 0x000003ff86c1cf8c in start_thread () from /lib64/libc.so.6 - #11 0x000003ff86c9650e in thread_start () from /lib64/libc.so.6 - -Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com> -Reviewed-by: Jim Fehlig <jfehlig@suse.com> -Reviewed-by: Michal Privoznik <mprivozn@redhat.com> ---- - src/qemu/qemu_driver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c -index bcd9bdb436..8337eed510 100644 ---- a/src/qemu/qemu_driver.c -+++ b/src/qemu/qemu_driver.c -@@ -6615,7 +6615,7 @@ qemuDomainUndefineFlags(virDomainPtr dom, - } - } - -- if (vm->def->os.loader->nvram) { -+ if (vm->def->os.loader && vm->def->os.loader->nvram) { - nvram_path = g_strdup(vm->def->os.loader->nvram); - } else if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI) { - qemuDomainNVRAMPathFormat(cfg, vm->def, &nvram_path); --- -2.35.1 - diff --git a/nixpkgs/pkgs/development/libraries/libvirt/default.nix b/nixpkgs/pkgs/development/libraries/libvirt/default.nix index cda7c091908d..0142ac4505f9 100644 --- a/nixpkgs/pkgs/development/libraries/libvirt/default.nix +++ b/nixpkgs/pkgs/development/libraries/libvirt/default.nix @@ -26,6 +26,7 @@ , ninja , perl , perlPackages +, polkit , pkg-config , pmutils , python3 @@ -34,6 +35,7 @@ , stdenv , xhtml1 , yajl +, writeScript # Linux , acl ? null @@ -95,6 +97,8 @@ let ] ++ optionals enableIscsi [ libiscsi openiscsi + ] ++ optionals enableZfs [ + zfs ]); in @@ -109,28 +113,18 @@ stdenv.mkDerivation rec { # NOTE: You must also bump: # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> - version = "8.1.0"; + version = "8.5.0"; - src = - if isDarwin then - fetchurl - { - url = "https://libvirt.org/sources/${pname}-${version}.tar.xz"; - sha256 = "sha256-PGxDvs/+s0o/OXxhYgaqaaiT/4v16CCDk8hOjnU1KTQ="; - } - else - fetchFromGitLab - { - owner = pname; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-nk8pBlss+g4EMy+RnAOyz6YlGGvlBvl5aBpcytsK1wY="; - fetchSubmodules = true; - }; + src = fetchFromGitLab { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-x6TnMFYjcUSdQZd9ctN2hITCAl9TGVb7/qAObGb9xMk="; + fetchSubmodules = true; + }; patches = [ ./0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch - ./0001-qemu-segmentation-fault-in-virtqemud-executing-qemuD.patch ]; # remove some broken tests @@ -141,9 +135,13 @@ stdenv.mkDerivation rec { sed -i '0,/qemuxml2argvtest/{/qemuxml2argvtest/d;}' tests/meson.build '' + optionalString isDarwin '' sed -i '/qemucapabilitiestest/d' tests/meson.build + sed -i '/vircryptotest/d' tests/meson.build + '' + optionalString (isDarwin && isx86_64) '' + sed -i '/qemucaps2xmltest/d' tests/meson.build + sed -i '/qemuhotplugtest/d' tests/meson.build + sed -i '/virnetdaemontest/d' tests/meson.build ''; - nativeBuildInputs = [ meson @@ -227,6 +225,9 @@ stdenv.mkDerivation rec { --replace "gmake" "make" \ --replace "ggrep" "grep" + substituteInPlace src/util/virpolkit.h \ + --replace '"/usr/bin/pkttyagent"' '"${if isLinux then polkit.bin else "/usr"}/bin/pkttyagent"' + patchShebangs . '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides)); @@ -271,7 +272,7 @@ stdenv.mkDerivation rec { (feat "numactl" isLinux) (feat "numad" isLinux) (feat "pciaccess" isLinux) - (feat "polkit" true) + (feat "polkit" isLinux) (feat "readline" true) (feat "secdriver_apparmor" isLinux) (feat "tests" true) @@ -323,12 +324,27 @@ stdenv.mkDerivation rec { gettext() { "${gettext}/bin/gettext" "$@"; } ' '' + optionalString isLinux '' - substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill + for f in $out/lib/systemd/system/*.service ; do + substituteInPlace $f --replace /bin/kill ${coreutils}/bin/kill + done rm $out/lib/systemd/system/{virtlockd,virtlogd}.* wrapProgram $out/sbin/libvirtd \ --prefix PATH : /run/libvirt/nix-emulators:${binPath} ''; + passthru.updateScript = writeScript "update-libvirt" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl jq common-updater-scripts + + set -eu -o pipefail + + libvirtVersion=$(curl https://gitlab.com/api/v4/projects/192693/repository/tags | jq -r '.[].name|select(. | contains("rc") | not)' | head -n1 | sed "s/v//g") + sysvirtVersion=$(curl https://gitlab.com/api/v4/projects/192677/repository/tags | jq -r '.[].name|select(. | contains("rc") | not)' | head -n1 | sed "s/v//g") + update-source-version ${pname} "$libvirtVersion" + update-source-version python3Packages.${pname} "$libvirtVersion" + update-source-version perlPackages.SysVirt "$sysvirtVersion" --file="pkgs/top-level/perl-packages.nix" + ''; + meta = { homepage = "https://libvirt.org/"; description = '' |