From d886a9ae83cbf2f81da9ff014c0b6fdc2953a4c3 Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Mon, 14 Mar 2022 10:12:12 -0700 Subject: [PATCH] libvirt: 7.10.0 -> 8.1.0 --- ...n-install-prefix-for-building-on-nix.patch | 263 +++++++++++++----- .../development/libraries/libvirt/default.nix | 10 +- 2 files changed, 197 insertions(+), 76 deletions(-) diff --git a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch index 760235245c8d..0945f21211dc 100644 --- a/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch +++ b/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch @@ -1,4 +1,4 @@ -From a6593bf70dd5f91acc7c2795d658a49eb9d4f672 Mon Sep 17 00:00:00 2001 +From ad42041cfedcf25716429d2aad16641e0e2a012f Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Thu, 14 Jan 2021 00:32:00 -0800 Subject: [PATCH] meson: patch in an install prefix for building on nix @@ -6,23 +6,28 @@ Subject: [PATCH] meson: patch in an install prefix for building on nix Used in the nixpkgs version of libvirt so that we can install things in the nix store, but read them from the root filesystem. --- - meson.build | 9 +++++++++ + meson.build | 9 ++++++++ meson_options.txt | 2 ++ - src/ch/meson.build | 4 ++-- - src/libxl/meson.build | 6 +++--- - src/locking/meson.build | 8 ++++---- - src/lxc/meson.build | 6 +++--- - src/meson.build | 18 +++++++++--------- - src/network/meson.build | 10 +++++----- + src/ch/meson.build | 6 ++--- + src/interface/meson.build | 2 +- + src/libxl/meson.build | 18 +++++++-------- + src/locking/meson.build | 8 +++---- + src/lxc/meson.build | 10 ++++---- + src/meson.build | 18 +++++++-------- + src/network/meson.build | 14 ++++++------ + src/node_device/meson.build | 2 +- + src/nwfilter/meson.build | 6 ++--- src/nwfilter/xml/meson.build | 2 +- - src/qemu/meson.build | 14 +++++++------- - src/remote/meson.build | 6 +++--- - src/security/apparmor/meson.build | 8 ++++---- - tools/meson.build | 4 ++-- - 13 files changed, 54 insertions(+), 43 deletions(-) + src/qemu/meson.build | 38 +++++++++++++++---------------- + src/remote/meson.build | 10 ++++---- + src/secret/meson.build | 4 ++-- + src/security/apparmor/meson.build | 8 +++---- + src/storage/meson.build | 6 ++--- + tools/meson.build | 2 +- + 18 files changed, 88 insertions(+), 77 deletions(-) diff --git a/meson.build b/meson.build -index ad0cd44aca..bdd87c926a 100644 +index 9016c0458a..b26e690194 100644 --- a/meson.build +++ b/meson.build @@ -39,6 +39,8 @@ if host_machine.system() == 'windows' @@ -59,40 +64,66 @@ index 5b43cdbd6b..e9dff18441 100644 option('packager', type: 'string', value: '', description: 'Extra packager name') option('packager_version', type: 'string', value: '', description: 'Extra packager version') diff --git a/src/ch/meson.build b/src/ch/meson.build -index e34974d56c..4767763c2c 100644 +index 66b77907b0..6aa9bbc548 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build -@@ -68,7 +68,7 @@ if conf.has('WITH_CH') +@@ -64,8 +64,8 @@ if conf.has('WITH_CH') } virt_install_dirs += [ - localstatedir / 'lib' / 'libvirt' / 'ch', +- localstatedir / 'log' / 'libvirt' / 'ch', - runstatedir / 'libvirt' / 'ch', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'ch', ++ install_prefix + localstatedir / 'log' / 'libvirt' / 'ch', + install_prefix + runstatedir / 'libvirt' / 'ch', ] endif -diff --git a/src/libxl/meson.build b/src/libxl/meson.build -index 9793899106..4904387162 100644 ---- a/src/libxl/meson.build -+++ b/src/libxl/meson.build -@@ -84,8 +84,8 @@ if conf.has('WITH_LIBXL') +diff --git a/src/interface/meson.build b/src/interface/meson.build +index 828f274422..2a6b1f8c5e 100644 +--- a/src/interface/meson.build ++++ b/src/interface/meson.build +@@ -56,6 +56,6 @@ if conf.has('WITH_INTERFACE') } virt_install_dirs += [ +- runstatedir / 'libvirt' / 'interface', ++ install_prefix + runstatedir / 'libvirt' / 'interface', + ] + endif +diff --git a/src/libxl/meson.build b/src/libxl/meson.build +index 0cc277db82..48d8c5b962 100644 +--- a/src/libxl/meson.build ++++ b/src/libxl/meson.build +@@ -79,14 +79,14 @@ if conf.has('WITH_LIBXL') + } + + virt_install_dirs += [ +- confdir / 'libxl', +- confdir / 'libxl' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'libxl', -- runstatedir / 'libvirt' / 'libxl', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump', +- localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save', - localstatedir / 'log' / 'libvirt' / 'libxl', +- runstatedir / 'libvirt' / 'libxl', ++ install_prefix + confdir / 'libxl', ++ install_prefix + confdir / 'libxl' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl', -+ install_prefix + runstatedir / 'libvirt' / 'libxl', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save', + install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl', ++ install_prefix + runstatedir / 'libvirt' / 'libxl', ] endif diff --git a/src/locking/meson.build b/src/locking/meson.build -index 184d3c3f56..7ffd3740e3 100644 +index 72f7780438..abe70d20d5 100644 --- a/src/locking/meson.build +++ b/src/locking/meson.build -@@ -243,14 +243,14 @@ if conf.has('WITH_LIBVIRTD') +@@ -238,14 +238,14 @@ if conf.has('WITH_LIBVIRTD') } virt_install_dirs += [ @@ -112,26 +143,39 @@ index 184d3c3f56..7ffd3740e3 100644 endif endif diff --git a/src/lxc/meson.build b/src/lxc/meson.build -index ad5c659dba..8010dfbf02 100644 +index 99d4a34213..aae477c1ee 100644 --- a/src/lxc/meson.build +++ b/src/lxc/meson.build -@@ -181,8 +181,8 @@ if conf.has('WITH_LXC') +@@ -176,10 +176,10 @@ if conf.has('WITH_LXC') } virt_install_dirs += [ +- confdir / 'lxc', +- confdir / 'lxc' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'lxc', -- runstatedir / 'libvirt' / 'lxc', - localstatedir / 'log' / 'libvirt' / 'lxc', +- runstatedir / 'libvirt' / 'lxc', ++ install_prefix + confdir / 'lxc', ++ install_prefix + confdir / 'lxc' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc', -+ install_prefix + runstatedir / 'libvirt' / 'lxc', + install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc', ++ install_prefix + runstatedir / 'libvirt' / 'lxc', ] endif diff --git a/src/meson.build b/src/meson.build -index 2bd88e6699..76df507968 100644 +index b2d951d36c..305716010f 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -669,7 +669,7 @@ endforeach +@@ -210,7 +210,7 @@ openrc_init_files = [] + + # virt_install_dirs: + # list of directories to create during installation +-virt_install_dirs = [ confdir ] ++virt_install_dirs = [ install_prefix + confdir ] + + # driver_source_files: + # driver source files to check +@@ -663,7 +663,7 @@ endforeach virt_conf_files += 'libvirt.conf' @@ -140,7 +184,7 @@ index 2bd88e6699..76df507968 100644 install_data(virt_aug_files, install_dir: virt_aug_dir) # augeas_test_data: -@@ -729,7 +729,7 @@ foreach data : virt_daemon_confs +@@ -723,7 +723,7 @@ foreach data : virt_daemon_confs output: '@0@.conf'.format(data['name']), configuration: daemon_conf, install: true, @@ -149,15 +193,16 @@ index 2bd88e6699..76df507968 100644 ) if data.get('with_ip', false) -@@ -853,14 +853,14 @@ if conf.has('WITH_LIBVIRTD') +@@ -847,7 +847,7 @@ if conf.has('WITH_LIBVIRTD') install_data( init_file, - install_dir: sysconfdir / 'init.d', + install_dir: install_prefix + sysconfdir / 'init.d', + install_mode: 'rwxr-xr-x', rename: [ init['name'] ], ) - +@@ -855,7 +855,7 @@ if conf.has('WITH_LIBVIRTD') if init.has_key('confd') install_data( init['confd'], @@ -166,16 +211,7 @@ index 2bd88e6699..76df507968 100644 rename: [ init['name'] ], ) endif -@@ -872,7 +872,7 @@ if init_script != 'none' - foreach sysconf : sysconf_files - install_data( - sysconf['file'], -- install_dir: sysconfdir / 'sysconfig', -+ install_dir: install_prefix + sysconfdir / 'sysconfig', - rename: [ sysconf['name'] ], - ) - endforeach -@@ -897,10 +897,10 @@ endif +@@ -882,10 +882,10 @@ endif # Install empty directories virt_install_dirs += [ @@ -191,23 +227,27 @@ index 2bd88e6699..76df507968 100644 meson.add_install_script( diff --git a/src/network/meson.build b/src/network/meson.build -index d6fb624bb7..96b757b144 100644 +index b5eff0c3ab..a0f26d624e 100644 --- a/src/network/meson.build +++ b/src/network/meson.build -@@ -78,9 +78,9 @@ if conf.has('WITH_NETWORK') +@@ -73,11 +73,11 @@ if conf.has('WITH_NETWORK') } virt_install_dirs += [ +- confdir / 'qemu' / 'networks', +- confdir / 'qemu' / 'networks' / 'autostart', - localstatedir / 'lib' / 'libvirt' / 'network', - localstatedir / 'lib' / 'libvirt' / 'dnsmasq', - runstatedir / 'libvirt' / 'network', ++ install_prefix + confdir / 'qemu' / 'networks', ++ install_prefix + confdir / 'qemu' / 'networks' / 'autostart', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'network', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq', + install_prefix + runstatedir / 'libvirt' / 'network', ] configure_file( -@@ -88,12 +88,12 @@ if conf.has('WITH_NETWORK') +@@ -85,12 +85,12 @@ if conf.has('WITH_NETWORK') output: '@BASENAME@', copy: true, install: true, @@ -222,6 +262,35 @@ index d6fb624bb7..96b757b144 100644 '../default.xml', 'default.xml', ) +diff --git a/src/node_device/meson.build b/src/node_device/meson.build +index 1c95975c37..a7831242db 100644 +--- a/src/node_device/meson.build ++++ b/src/node_device/meson.build +@@ -64,6 +64,6 @@ if conf.has('WITH_NODE_DEVICES') + } + + virt_install_dirs += [ +- runstatedir / 'libvirt' / 'nodedev', ++ install_prefix + runstatedir / 'libvirt' / 'nodedev', + ] + endif +diff --git a/src/nwfilter/meson.build b/src/nwfilter/meson.build +index 55cf8fcce4..d331086f2e 100644 +--- a/src/nwfilter/meson.build ++++ b/src/nwfilter/meson.build +@@ -62,9 +62,9 @@ if conf.has('WITH_NWFILTER') + } + + virt_install_dirs += [ +- confdir / 'nwfilter', +- runstatedir / 'libvirt' / 'nwfilter-binding', +- runstatedir / 'libvirt' / 'nwfilter', ++ install_prefix + confdir / 'nwfilter', ++ install_prefix + runstatedir / 'libvirt' / 'nwfilter-binding', ++ install_prefix + runstatedir / 'libvirt' / 'nwfilter', + ] + + subdir('xml') diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build index 0d96c54ebe..66c92a1016 100644 --- a/src/nwfilter/xml/meson.build @@ -233,43 +302,71 @@ index 0d96c54ebe..66c92a1016 100644 -install_data(nwfilter_xml_files, install_dir: sysconfdir / 'libvirt' / 'nwfilter') +install_data(nwfilter_xml_files, install_dir: install_prefix + sysconfdir / 'libvirt' / 'nwfilter') diff --git a/src/qemu/meson.build b/src/qemu/meson.build -index 3898d23877..c2a2675187 100644 +index 39f0f615cc..5f6f30f82b 100644 --- a/src/qemu/meson.build +++ b/src/qemu/meson.build -@@ -171,12 +171,12 @@ if conf.has('WITH_QEMU') - } +@@ -175,24 +175,24 @@ if conf.has('WITH_QEMU') + endif virt_install_dirs += [ -- localstatedir / 'lib' / 'libvirt' / 'qemu', -- runstatedir / 'libvirt' / 'qemu', +- confdir / 'qemu', +- confdir / 'qemu' / 'autostart', - localstatedir / 'cache' / 'libvirt' / 'qemu', -- localstatedir / 'log' / 'libvirt' / 'qemu', +- localstatedir / 'lib' / 'libvirt' / 'qemu', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save', +- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot', - localstatedir / 'lib' / 'libvirt' / 'swtpm', -- runstatedir / 'libvirt' / 'qemu' / 'swtpm', +- localstatedir / 'log' / 'libvirt' / 'qemu', - localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu', -+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu', -+ install_prefix + runstatedir / 'libvirt' / 'qemu', +- runstatedir / 'libvirt' / 'qemu', +- runstatedir / 'libvirt' / 'qemu' / 'dbus', +- runstatedir / 'libvirt' / 'qemu' / 'slirp', +- runstatedir / 'libvirt' / 'qemu' / 'swtpm', ++ install_prefix + confdir / 'qemu', ++ install_prefix + confdir / 'qemu' / 'autostart', + install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu', -+ install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save', ++ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot', + install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm', -+ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm', ++ install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu', + install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu', ++ install_prefix + runstatedir / 'libvirt' / 'qemu', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'dbus', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'slirp', ++ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm', ] endif diff --git a/src/remote/meson.build b/src/remote/meson.build -index 0a188268b5..702822612e 100644 +index b2aafe6320..6972d254ca 100644 --- a/src/remote/meson.build +++ b/src/remote/meson.build -@@ -245,7 +245,7 @@ if conf.has('WITH_REMOTE') +@@ -235,9 +235,9 @@ if conf.has('WITH_REMOTE') } virt_install_dirs += [ - localstatedir / 'log' / 'libvirt', +- runstatedir / 'libvirt', +- runstatedir / 'libvirt' / 'common', + install_prefix + localstatedir / 'log' / 'libvirt', ++ install_prefix + runstatedir / 'libvirt', ++ install_prefix + runstatedir / 'libvirt' / 'common', ] logrotate_conf = configuration_data() -@@ -259,7 +259,7 @@ if conf.has('WITH_REMOTE') +@@ -251,7 +251,7 @@ if conf.has('WITH_REMOTE') ) install_data( log_file, @@ -278,7 +375,7 @@ index 0a188268b5..702822612e 100644 rename: [ name ], ) endforeach -@@ -309,7 +309,7 @@ endif +@@ -301,7 +301,7 @@ endif if conf.has('WITH_SASL') install_data( 'libvirtd.sasl', @@ -287,6 +384,20 @@ index 0a188268b5..702822612e 100644 rename: [ 'libvirt.conf' ], ) endif +diff --git a/src/secret/meson.build b/src/secret/meson.build +index 1bda59849b..392bc2cb2e 100644 +--- a/src/secret/meson.build ++++ b/src/secret/meson.build +@@ -45,7 +45,7 @@ if conf.has('WITH_SECRETS') + } + + virt_install_dirs += [ +- confdir / 'secrets', +- runstatedir / 'libvirt' / 'secrets', ++ install_prefix + confdir / 'secrets', ++ install_prefix + runstatedir / 'libvirt' / 'secrets', + ] + endif diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build index 990f00b4f3..e5a7a14e1d 100644 --- a/src/security/apparmor/meson.build @@ -318,8 +429,25 @@ index 990f00b4f3..e5a7a14e1d 100644 + install_dir: install_prefix + apparmor_dir / 'local', rename: 'usr.lib.libvirt.virt-aa-helper', ) +diff --git a/src/storage/meson.build b/src/storage/meson.build +index 26e7ff1a1a..ad5c6eddc3 100644 +--- a/src/storage/meson.build ++++ b/src/storage/meson.build +@@ -127,9 +127,9 @@ if conf.has('WITH_STORAGE') + } + + virt_install_dirs += [ +- confdir / 'storage', +- confdir / 'storage' / 'autostart', +- runstatedir / 'libvirt' / 'storage', ++ install_prefix + confdir / 'storage', ++ install_prefix + confdir / 'storage' / 'autostart', ++ install_prefix + runstatedir / 'libvirt' / 'storage', + ] + endif + diff --git a/tools/meson.build b/tools/meson.build -index 3fba313e5f..a2b891b86c 100644 +index f4b4a16c29..059c73a955 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -120,7 +120,7 @@ if conf.has('WITH_LOGIN_SHELL') @@ -331,15 +459,6 @@ index 3fba313e5f..a2b891b86c 100644 endif if host_machine.system() == 'windows' -@@ -307,7 +307,7 @@ configure_file( - if init_script == 'systemd' - install_data( - 'libvirt-guests.sysconf', -- install_dir: sysconfdir / 'sysconfig', -+ install_dir: install_prefix + sysconfdir / 'sysconfig', - rename: 'libvirt-guests', - ) - -- 2.35.1 diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index d467e6347f0c..14e0e478790c 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -109,14 +109,14 @@ stdenv.mkDerivation rec { # NOTE: You must also bump: # # SysVirt in - version = "7.10.0"; + version = "8.1.0"; src = if isDarwin then fetchurl { url = "https://libvirt.org/sources/${pname}-${version}.tar.xz"; - sha256 = "sha256-yzGAFK8JcyeSjG49cpIuO+AqPmQBJHsqpS2auOC0gPk="; + sha256 = "sha256-PGxDvs/+s0o/OXxhYgaqaaiT/4v16CCDk8hOjnU1KTQ="; } else fetchFromGitLab @@ -124,7 +124,7 @@ stdenv.mkDerivation rec { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-bB8LsjZFeJbMmmC0YRPyMag2MBhwagUFC7aB1KhZEkA="; + sha256 = "sha256-nk8pBlss+g4EMy+RnAOyz6YlGGvlBvl5aBpcytsK1wY="; fetchSubmodules = true; }; @@ -138,6 +138,8 @@ stdenv.mkDerivation rec { sed -i '/virnetsockettest/d' tests/meson.build # delete only the first occurrence of this sed -i '0,/qemuxml2argvtest/{/qemuxml2argvtest/d;}' tests/meson.build + '' + optionalString isDarwin '' + sed -i '/qemucapabilitiestest/d' tests/meson.build ''; @@ -228,7 +230,7 @@ stdenv.mkDerivation rec { '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides)); - mesonAutoFeatures = "auto"; + mesonAutoFeatures = "disabled"; mesonFlags = let