unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / Atom feed
* [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0.
@ 2021-02-18 20:24 Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 1/4] gnu: libvirt: Enable disk and directory storage Brice Waegeneire
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Brice Waegeneire @ 2021-02-18 20:24 UTC (permalink / raw)
  To: 46623


This patch set update libvirt to 7.0.0, it has only 3 package depending on it.
The build system is changed to meson as upstream deprecated the one we where
ussing.

It also add the ability to select with qemu package, libvirt service
uses.

Brice Waegeneire (4):
  gnu: libvirt: Enable disk and directory storage.
  services: libvirt: Change unix-sock-group default.
  services: libvirt: Add qemu field.
  gnu: libvirt: Update to 7.0.0.

 gnu/local.mk                                  |   4 +-
 .../patches/libvirt-add-install-prefix.patch  | 329 ++++++++++++++++++
 .../libvirt-create-machine-cgroup.patch       |  48 ---
 gnu/packages/virtualization.scm               |  82 ++---
 gnu/services/virtualization.scm               |   8 +-
 5 files changed, 375 insertions(+), 96 deletions(-)
 create mode 100644 gnu/packages/patches/libvirt-add-install-prefix.patch
 delete mode 100644 gnu/packages/patches/libvirt-create-machine-cgroup.patch

--
2.30.1




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 1/4] gnu: libvirt: Enable disk and directory storage.
  2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
@ 2021-02-18 20:48 ` Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 2/4] services: libvirt: Change unix-sock-group default Brice Waegeneire
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Brice Waegeneire @ 2021-02-18 20:48 UTC (permalink / raw)
  To: 46623

* gnu/packages/virtualization.scm (libvirt)[inputs]: Add parted.
[arguments]: Add configure flags to support disk and directory storage.
---
 gnu/packages/virtualization.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 8da57cf6ab..319b57445e 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1031,6 +1031,8 @@ manage system or application containers.")
        (list "--with-qemu"
              "--with-qemu-user=nobody"
              "--with-qemu-group=kvm"
+             "--with-storage-disk"
+             "--with-storage-dir"
              "--with-polkit"
              (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
                             ,name "-" ,version)
@@ -1092,6 +1094,7 @@ manage system or application containers.")
        ("dmidecode" ,dmidecode)
        ("dnsmasq" ,dnsmasq)
        ("ebtables" ,ebtables)
+       ("parted" ,parted)
        ("iproute" ,iproute)
        ("iptables" ,iptables)))
     (native-inputs
-- 
2.30.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 2/4] services: libvirt: Change unix-sock-group default.
  2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 1/4] gnu: libvirt: Enable disk and directory storage Brice Waegeneire
@ 2021-02-18 20:48 ` Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 3/4] services: libvirt: Add qemu field Brice Waegeneire
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Brice Waegeneire @ 2021-02-18 20:48 UTC (permalink / raw)
  To: 46623

When accessing libvrt remotely, polkit can't be used so unless using
the root account it's better give access to the libvirt-sock to the
libvirt group by default.

*
gnu/services/virtualization.scm (libvirt-configuration)[unix-sock-group]:
Change default from "root" to "libvirt".
---
 gnu/services/virtualization.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index a45da14a80..afc47ff578 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -168,7 +168,7 @@ stopping the Avahi daemon.")
    "Default mDNS advertisement name. This must be unique on the
 immediate broadcast network.")
   (unix-sock-group
-   (string "root")
+   (string "libvirt")
    "UNIX domain socket group ownership. This can be used to
 allow a 'trusted' set of users access to management capabilities
 without becoming root.")
-- 
2.30.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 3/4] services: libvirt: Add qemu field.
  2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 1/4] gnu: libvirt: Enable disk and directory storage Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 2/4] services: libvirt: Change unix-sock-group default Brice Waegeneire
@ 2021-02-18 20:48 ` Brice Waegeneire
  2021-02-18 20:48 ` [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
  2021-04-01 20:29 ` bug#46623: " Ludovic Courtès
  4 siblings, 0 replies; 15+ messages in thread
From: Brice Waegeneire @ 2021-02-18 20:48 UTC (permalink / raw)
  To: 46623

* gnu/services/virtualization.scm (libvirt-configuration): Add 'qemu'
field.
(libvirt-service-type): Replace 'qemu' package with the one specified in
the service configuration.
---
 gnu/services/virtualization.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index afc47ff578..a0820c9bab 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -131,6 +131,10 @@
   (libvirt
    (package libvirt)
    "Libvirt package.")
+  (qemu
+   (package qemu)
+   "Qemu package.")
+
   (listen-tls?
    (boolean #t)
    "Flag listening for secure TLS connections on the public TCP/IP port.
@@ -485,7 +489,7 @@ potential infinite waits blocking libvirt."))
                                      (lambda (config)
                                        (list
                                         (libvirt-configuration-libvirt config)
-                                        qemu)))
+                                        (libvirt-configuration-qemu config))))
                   (service-extension activation-service-type
                                      %libvirt-activation)
                   (service-extension shepherd-root-service-type
-- 
2.30.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0.
  2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
                   ` (2 preceding siblings ...)
  2021-02-18 20:48 ` [bug#46623] [PATCH 3/4] services: libvirt: Add qemu field Brice Waegeneire
@ 2021-02-18 20:48 ` Brice Waegeneire
  2021-04-02 11:56   ` Pierre Langlois
  2021-04-01 20:29 ` bug#46623: " Ludovic Courtès
  4 siblings, 1 reply; 15+ messages in thread
From: Brice Waegeneire @ 2021-02-18 20:48 UTC (permalink / raw)
  To: 46623

* gnu/packages/virtualization.scm (libvirt): Update to 7.0.0.
[arguemnts]: Switch to meson, only build system supported by upstream.
[inputs]: Add libssh2 and readline.
[native-inputs]: Add bash-completion, gettext, python-docutils and
rpcsvc-proto.
* gnu/packages/patches/libvirt-add-install-prefix.patch: New file...
* gnu/local.mk: ...add it.
* gnu/packages/patches/libvirt-create-machine-cgroup.patch: Delete file,
merged by upstream.
---
 gnu/local.mk                                  |   4 +-
 .../patches/libvirt-add-install-prefix.patch  | 329 ++++++++++++++++++
 .../libvirt-create-machine-cgroup.patch       |  48 ---
 gnu/packages/virtualization.scm               |  83 ++---
 4 files changed, 368 insertions(+), 96 deletions(-)
 create mode 100644 gnu/packages/patches/libvirt-add-install-prefix.patch
 delete mode 100644 gnu/packages/patches/libvirt-create-machine-cgroup.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 250901f6d9..ce3a1aef96 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -34,7 +34,7 @@
 # Copyright © 2020 Felix Gruber <felgru@posteo.net>
 # Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 # Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
-# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 # Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 # Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 # Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
@@ -1219,7 +1219,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
-  %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
+  %D%/packages/patches/libvirt-add-install-prefix.patch	\
   %D%/packages/patches/libziparchive-add-includes.patch		\
   %D%/packages/patches/localed-xorg-keyboard.patch		\
   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
diff --git a/gnu/packages/patches/libvirt-add-install-prefix.patch b/gnu/packages/patches/libvirt-add-install-prefix.patch
new file mode 100644
index 0000000000..1331fa9b6f
--- /dev/null
+++ b/gnu/packages/patches/libvirt-add-install-prefix.patch
@@ -0,0 +1,329 @@
+Patch from NixOS: 
+https://raw.githubusercontent.com/NixOS/nixpkgs/b98031a49c66095dd1eb9185ecdaeeb5e3cd752d/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
+
+From a896b0be849455edb83a9305dfec9b41447ef3e4 Mon Sep 17 00:00:00 2001
+From: Euan Kemp <euank@euank.com>
+Date: Thu, 14 Jan 2021 00:32:00 -0800
+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_options.txt                 |  2 ++
+ src/libxl/meson.build             |  6 +++---
+ src/locking/meson.build           |  8 ++++----
+ src/lxc/meson.build               |  6 +++---
+ src/meson.build                   | 18 +++++++++---------
+ src/network/meson.build           | 12 ++++++------
+ 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 ++--
+ 12 files changed, 53 insertions(+), 42 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index b5164f6..33719f1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -39,6 +39,8 @@ if host_machine.system() == 'windows'
+   conf.set('WINVER', '0x0600') # Win Vista / Server 2008
+ endif
+ 
++# patched in for nix
++install_prefix = get_option('install_prefix')
+ 
+ # set various paths
+ 
+@@ -57,6 +59,13 @@ else
+   sysconfdir = prefix / get_option('sysconfdir')
+ endif
+ 
++# nix: don't prefix the localstatedir; some things need to write to it, so it
++# can't be in the nix store, and that's what the prefix is.
++# We'll prefix things ourselves where needed
++localstatedir = get_option('localstatedir')
++# Same for sysconfidr
++sysconfdir = get_option('sysconfdir')
++
+ # if --prefix is /usr, don't use /usr/var for localstatedir or /usr/etc for
+ # sysconfdir as this makes a lot of things break in testing situations
+ if prefix == '/usr'
+diff --git a/meson_options.txt b/meson_options.txt
+index e5d79c2..081cd32 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,5 @@
++option('install_prefix', type: 'string', value: '', description: 'prefix for nix store installation')
++
+ option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update')
+ option('packager', type: 'string', value: '', description: 'Extra packager name')
+ option('packager_version', type: 'string', value: '', description: 'Extra packager version')
+diff --git a/src/libxl/meson.build b/src/libxl/meson.build
+index 3bb6cc5..78d7be0 100644
+--- a/src/libxl/meson.build
++++ b/src/libxl/meson.build
+@@ -84,8 +84,8 @@ if conf.has('WITH_LIBXL')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'libxl',
+-    runstatedir / 'libvirt' / 'libxl',
+-    localstatedir / 'log' / 'libvirt' / 'libxl',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl',
++    install_prefix + runstatedir / 'libvirt' / 'libxl',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl',
+   ]
+ endif
+diff --git a/src/locking/meson.build b/src/locking/meson.build
+index 8a28310..9da81cc 100644
+--- a/src/locking/meson.build
++++ b/src/locking/meson.build
+@@ -243,14 +243,14 @@ if conf.has('WITH_LIBVIRTD')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'lockd',
+-    localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
+-    runstatedir / 'libvirt' / 'lockd',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
++    install_prefix + runstatedir / 'libvirt' / 'lockd',
+   ]
+ 
+   if conf.has('WITH_SANLOCK')
+     virt_install_dirs += [
+-      localstatedir / 'lib' / 'libvirt' / 'sanlock',
++      install_prefix + localstatedir / 'lib' / 'libvirt' / 'sanlock',
+     ]
+   endif
+ endif
+diff --git a/src/lxc/meson.build b/src/lxc/meson.build
+index f8e2a88..96d6687 100644
+--- a/src/lxc/meson.build
++++ b/src/lxc/meson.build
+@@ -182,8 +182,8 @@ if conf.has('WITH_LXC')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'lxc',
+-    runstatedir / 'libvirt' / 'lxc',
+-    localstatedir / 'log' / 'libvirt' / 'lxc',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc',
++    install_prefix + runstatedir / 'libvirt' / 'lxc',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc',
+   ]
+ endif
+diff --git a/src/meson.build b/src/meson.build
+index 7c47821..d33d16a 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -669,7 +669,7 @@ endforeach
+ 
+ virt_conf_files += 'libvirt.conf'
+ 
+-install_data(virt_conf_files, install_dir: confdir)
++install_data(virt_conf_files, install_dir: install_prefix + confdir)
+ install_data(virt_aug_files, install_dir: virt_aug_dir)
+ 
+ # augeas_test_data:
+@@ -729,7 +729,7 @@ foreach data : virt_daemon_confs
+     output: '@0@.conf'.format(data['name']),
+     configuration: daemon_conf,
+     install: true,
+-    install_dir: confdir,
++    install_dir: install_prefix + confdir,
+   )
+ 
+   if data.get('with_ip', false)
+@@ -853,14 +853,14 @@ if conf.has('WITH_LIBVIRTD')
+ 
+       install_data(
+         init_file,
+-        install_dir: sysconfdir / 'init.d',
++        install_dir: install_prefix + sysconfdir / 'init.d',
+         rename: [ init['name'] ],
+       )
+ 
+       if init.has_key('confd')
+         install_data(
+           init['confd'],
+-          install_dir: sysconfdir / 'conf.d',
++          install_dir: install_prefix + sysconfdir / 'conf.d',
+           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
+ # Install empty directories
+ 
+ virt_install_dirs += [
+-  localstatedir / 'cache' / 'libvirt',
+-  localstatedir / 'lib' / 'libvirt' / 'images',
+-  localstatedir / 'lib' / 'libvirt' / 'filesystems',
+-  localstatedir / 'lib' / 'libvirt' / 'boot',
++  install_prefix + localstatedir / 'cache' / 'libvirt',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'images',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'filesystems',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'boot',
+ ]
+ 
+ meson.add_install_script(
+diff --git a/src/network/meson.build b/src/network/meson.build
+index 3ec598c..b02040b 100644
+--- a/src/network/meson.build
++++ b/src/network/meson.build
+@@ -79,9 +79,9 @@ if conf.has('WITH_NETWORK')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'network',
+-    localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
+-    runstatedir / 'libvirt' / 'network',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'network',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
++    install_prefix + runstatedir / 'libvirt' / 'network',
+   ]
+ 
+   configure_file(
+@@ -89,12 +89,12 @@ if conf.has('WITH_NETWORK')
+     output: '@BASENAME@',
+     copy: true,
+     install: true,
+-    install_dir: confdir / 'qemu' / 'networks',
++    install_dir: install_prefix + confdir / 'qemu' / 'networks',
+   )
+ 
+   meson.add_install_script(
+     meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(),
+-    confdir / 'qemu' / 'networks' / 'autostart',
++    install_prefix + confdir / 'qemu' / 'networks' / 'autostart',
+     '../default.xml', 'default.xml',
+   )
+ 
+diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build
+index 0d96c54..66c92a1 100644
+--- a/src/nwfilter/xml/meson.build
++++ b/src/nwfilter/xml/meson.build
+@@ -25,4 +25,4 @@ nwfilter_xml_files = [
+   'qemu-announce-self.xml',
+ ]
+ 
+-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 90640b0..8802cec 100644
+--- a/src/qemu/meson.build
++++ b/src/qemu/meson.build
+@@ -171,12 +171,12 @@ if conf.has('WITH_QEMU')
+   }
+ 
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'qemu',
+-    runstatedir / 'libvirt' / 'qemu',
+-    localstatedir / 'cache' / 'libvirt' / 'qemu',
+-    localstatedir / 'log' / 'libvirt' / 'qemu',
+-    localstatedir / 'lib' / 'libvirt' / 'swtpm',
+-    runstatedir / 'libvirt' / 'qemu' / 'swtpm',
+-    localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu',
++    install_prefix + runstatedir / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm',
++    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm',
++    install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
+   ]
+ endif
+diff --git a/src/remote/meson.build b/src/remote/meson.build
+index 9ad2f6a..429a15b 100644
+--- a/src/remote/meson.build
++++ b/src/remote/meson.build
+@@ -245,7 +245,7 @@ if conf.has('WITH_REMOTE')
+     }
+ 
+     virt_install_dirs += [
+-      localstatedir / 'log' / 'libvirt',
++      install_prefix + localstatedir / 'log' / 'libvirt',
+     ]
+ 
+     logrotate_conf = configuration_data()
+@@ -259,7 +259,7 @@ if conf.has('WITH_REMOTE')
+       )
+       install_data(
+         log_file,
+-        install_dir: sysconfdir / 'logrotate.d',
++        install_dir: install_prefix + sysconfdir / 'logrotate.d',
+         rename: [ name ],
+       )
+     endforeach
+@@ -309,7 +309,7 @@ endif
+ if conf.has('WITH_SASL')
+   install_data(
+     'libvirtd.sasl',
+-    install_dir: sysconfdir / 'sasl2',
++    install_dir: install_prefix + sysconfdir / 'sasl2',
+     rename: [ 'libvirt.conf' ],
+   )
+ endif
+diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
+index af43780..e2d6c81 100644
+--- a/src/security/apparmor/meson.build
++++ b/src/security/apparmor/meson.build
+@@ -17,22 +17,22 @@ foreach name : apparmor_gen_profiles
+     output: name,
+     configuration: apparmor_gen_profiles_conf,
+     install: true,
+-    install_dir: apparmor_dir,
++    install_dir: install_prefix + apparmor_dir,
+   )
+ endforeach
+ 
+ install_data(
+   [ 'libvirt-qemu', 'libvirt-lxc' ],
+-  install_dir: apparmor_dir / 'abstractions',
++  install_dir: install_prefix + apparmor_dir / 'abstractions',
+ )
+ 
+ install_data(
+   [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
+-  install_dir: apparmor_dir / 'libvirt',
++  install_dir: install_prefix + apparmor_dir / 'libvirt',
+ )
+ 
+ install_data(
+   'usr.lib.libvirt.virt-aa-helper.local',
+-  install_dir: apparmor_dir / 'local',
++  install_dir: install_prefix + apparmor_dir / 'local',
+   rename: 'usr.lib.libvirt.virt-aa-helper',
+ )
+diff --git a/tools/meson.build b/tools/meson.build
+index b8c6802..dacd0ff 100644
+--- a/tools/meson.build
++++ b/tools/meson.build
+@@ -115,7 +115,7 @@ if conf.has('WITH_LOGIN_SHELL')
+     install_rpath: libvirt_rpath,
+   )
+ 
+-  install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt')
++  install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt')
+ endif
+ 
+ if host_machine.system() == 'windows'
+@@ -274,7 +274,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',
+   )
diff --git a/gnu/packages/patches/libvirt-create-machine-cgroup.patch b/gnu/packages/patches/libvirt-create-machine-cgroup.patch
deleted file mode 100644
index 585ac237e1..0000000000
--- a/gnu/packages/patches/libvirt-create-machine-cgroup.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 9ca0b2955edea162b255b428e493cd8ffac52167 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miguel=20=C3=81ngel=20Arruga=20Vivas?=
- <rosen644835@gmail.com>
-Date: Fri, 1 Nov 2019 17:29:00 +0100
-Subject: [PATCH] vircgroup: Ensure /machine group is associated with its
- parent.
-
-Call first virCgroupNew on the parent group virCgroupNewPartition if
-it is available on before the creation of the child group.  This
-ensures that the creation of a first level group on the unified
-architecture, as the check at virCgroupV2ParseControllersFile as the
-parent file is there.
-
-Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1760233
----
- src/util/vircgroup.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
-index b46f20abfd..33c61f2d45 100644
---- a/src/util/vircgroup.c
-+++ b/src/util/vircgroup.c
-@@ -855,9 +855,6 @@ virCgroupNewPartition(const char *path,
-     if (virCgroupSetPartitionSuffix(path, &newPath) < 0)
-         goto cleanup;
- 
--    if (virCgroupNew(-1, newPath, NULL, controllers, group) < 0)
--        goto cleanup;
--
-     if (STRNEQ(newPath, "/")) {
-         char *tmp;
-         parentPath = g_strdup(newPath);
-@@ -868,7 +865,12 @@ virCgroupNewPartition(const char *path,
- 
-         if (virCgroupNew(-1, parentPath, NULL, controllers, &parent) < 0)
-             goto cleanup;
-+    }
- 
-+    if (virCgroupNew(-1, newPath, parent, controllers, group) < 0)
-+        goto cleanup;
-+
-+    if (parent) {
-         if (virCgroupMakeGroup(parent, *group, create, VIR_CGROUP_NONE) < 0)
-             goto cleanup;
-     }
--- 
-2.23.0
-
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 319b57445e..4f0ba1c8ff 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -41,7 +41,9 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
@@ -93,6 +95,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sphinx)
@@ -1015,66 +1018,48 @@ manage system or application containers.")
 (define-public libvirt
   (package
     (name "libvirt")
-    (version "5.8.0")
+    (version "7.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://libvirt.org/sources/libvirt-"
                            version ".tar.xz"))
        (sha256
-        (base32 "0m8cqaqflvys5kaqpvb0qr4k365j09jc5xk6x70yvg8qkcl2hcz2"))
-       (patches
-        (search-patches "libvirt-create-machine-cgroup.patch"))))
-    (build-system gnu-build-system)
+        (base32 "12fxkpy7j2qhfxypw9jg3bzdd9xx6vf6x96iy5kjihh89n236f6a"))
+       (patches (search-patches "libvirt-add-install-prefix.patch"))))
+    (build-system meson-build-system)
     (arguments
      `(#:configure-flags
-       (list "--with-qemu"
-             "--with-qemu-user=nobody"
-             "--with-qemu-group=kvm"
-             "--with-storage-disk"
-             "--with-storage-dir"
-             "--with-polkit"
-             (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
+       (list "-Ddriver_qemu=enabled"
+             "-Dqemu_user=nobody"
+             "-Dqemu_group=kvm"
+             "-Dstorage_disk=enabled"
+             "-Dstorage_dir=enabled"
+             "-Dpolkit=enabled"
+             "-Dnls=enabled"            ;translations
+             (string-append "-Ddocdir=" (assoc-ref %outputs "out") "/share/doc/"
                             ,name "-" ,version)
+             "-Dbash_completion=enabled"
+             (string-append "-Dinstall_prefix=" (assoc-ref %outputs "out"))
              "--sysconfdir=/etc"
              "--localstatedir=/var")
+       #:meson ,meson-0.55
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'fix-BOURNE_SHELL-definition
-           ;; BOURNE_SHELL is hard-#defined to ‘/bin/sh’, causing test failures.
-           (lambda _
-             (substitute* "config.h.in"
-               (("/bin/sh") (which "sh")))
-             #t))
-         (add-before 'configure 'patch-libtirpc-file-names
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; libvirt uses an m4 macro instead of pkg-config to determine where
-             ;; the RPC headers are located.  Tell it to look in the right place.
-             (substitute* "configure"
-               (("/usr/include/tirpc")  ;defined in m4/virt-xdr.m4
-                (string-append (assoc-ref inputs "libtirpc")
-                               "/include/tirpc")))
-             #t))
          (add-before 'configure 'disable-broken-tests
            (lambda _
-             (let ((tests (list "commandtest"      ; hangs idly
-                                "qemuxml2argvtest" ; fails
-                                "qemuhotplugtest"  ; fails
-                                "virnetsockettest" ; tries to network
-                                "virshtest")))     ; fails
-               (substitute* "tests/Makefile.in"
-                 (((format #f "(~a)\\$\\(EXEEXT\\)" (string-join tests "|")))
+             (let ((tests (list "commandtest"           ; hangs idly
+                                "qemuxml2argvtest"      ; fails
+                                "virnetsockettest")))   ; tries to network
+               (substitute* "tests/meson.build"
+                 (((format #f ".*'name': '(~a)'.*" (string-join tests "|")))
                   ""))
                #t)))
-         (replace 'install
-           ;; Since the sysconfdir and localstatedir should be /etc and /var
-           ;; at runtime, we must prevent writing to them at installation
-           ;; time.
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "install"
-                    "sysconfdir=/tmp/etc"
-                    "localstatedir=/tmp/var"
-                    make-flags))))))
+         (add-before 'install 'no-polkit-magic
+           ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
+           (lambda _
+             (setenv "PKEXEC_UID" "something")
+             #t)))))
     (inputs
      `(("libxml2" ,libxml2)
        ("eudev" ,eudev)
@@ -1083,11 +1068,13 @@ manage system or application containers.")
        ("dbus" ,dbus)
        ("libpcap" ,libpcap)
        ("libnl" ,libnl)
+       ("libssh2" ,libssh2)             ;optional
        ("libtirpc" ,libtirpc)           ;for <rpc/rpc.h>
        ("libuuid" ,util-linux "lib")
        ("lvm2" ,lvm2)                   ;for libdevmapper
        ("curl" ,curl)
        ("openssl" ,openssl)
+       ("readline" ,readline)
        ("cyrus-sasl" ,cyrus-sasl)
        ("libyajl" ,libyajl)
        ("audit" ,audit)
@@ -1098,11 +1085,15 @@ manage system or application containers.")
        ("iproute" ,iproute)
        ("iptables" ,iptables)))
     (native-inputs
-     `(("xsltproc" ,libxslt)
+     `(("bash-completion" ,bash-completion)
+       ("gettext" ,gettext-minimal)
+       ("xsltproc" ,libxslt)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("polkit" ,polkit)
-       ("python" ,python-wrapper)))
+       ("python" ,python-wrapper)
+       ("python-docutils" ,python-docutils) ;for rst2html
+       ("rpcsvc-proto" ,rpcsvc-proto)))     ;for rpcgen
     (home-page "https://libvirt.org")
     (synopsis "Simple API for virtualization")
     (description "Libvirt is a C toolkit to interact with the virtualization
-- 
2.30.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* bug#46623: [PATCH 0/4] gnu: libvirt: Update to 7.0.0.
  2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
                   ` (3 preceding siblings ...)
  2021-02-18 20:48 ` [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
@ 2021-04-01 20:29 ` Ludovic Courtès
  4 siblings, 0 replies; 15+ messages in thread
From: Ludovic Courtès @ 2021-04-01 20:29 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: 46623-done

Hi Brice,

Brice Waegeneire <brice@waegenei.re> skribis:

> This patch set update libvirt to 7.0.0, it has only 3 package depending on it.
> The build system is changed to meson as upstream deprecated the one we where
> ussing.

I’m just noticing this patch series, superseded by
<https://issues.guix.gnu.org/47285>, which I pushed recently.

Let us know if you think anything’s missing!

Thanks, and apologies for the duplicated work.

Ludo’.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0.
  2021-02-18 20:48 ` [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
@ 2021-04-02 11:56   ` Pierre Langlois
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
  2021-04-05 16:37     ` [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Ludovic Courtès
  0 siblings, 2 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:56 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: 46623

[-- Attachment #1: Type: text/plain, Size: 994 bytes --]

Hi Brice,

Brice Waegeneire writes:

> * gnu/packages/virtualization.scm (libvirt): Update to 7.0.0.
> [arguemnts]: Switch to meson, only build system supported by upstream.
> [inputs]: Add libssh2 and readline.
> [native-inputs]: Add bash-completion, gettext, python-docutils and
> rpcsvc-proto.
> * gnu/packages/patches/libvirt-add-install-prefix.patch: New file...
> * gnu/local.mk: ...add it.
> * gnu/packages/patches/libvirt-create-machine-cgroup.patch: Delete file,
> merged by upstream.

I applied this patch locally on top of patch 1/4 and tested it, I can
confirm that it works and passes https://issues.guix.gnu.org/47541, as
opposed to my approach :-).

Here's a new patch series that adds your 1&4 patches, updated to 7.2.0
and then updates dependent packages.  I've also extended the system test
so that it can catch issues with the /var and /etc runtime directories.

I've not looked at patches 2&3, on the service itself yet though.

Anyways, WDYT? OK to commit?

Thanks,
Pierre

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package.
  2021-04-02 11:56   ` Pierre Langlois
@ 2021-04-02 11:58     ` Pierre Langlois
  2021-04-02 11:58       ` [bug#46623] [PATCH 2/6] gnu: libvirt: Enable disk and directory storage Pierre Langlois
                         ` (4 more replies)
  2021-04-05 16:37     ` [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Ludovic Courtès
  1 sibling, 5 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:58 UTC (permalink / raw)
  To: 46623; +Cc: Pierre Langlois

* gnu/tests/virtualization.scm (run-libvirt-test): Chdir to "/tmp" before
running test.  Add "connect" test.
---
 gnu/tests/virtualization.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index e95787ee19..9f9d3a5e26 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -92,10 +93,20 @@
             0
             (marionette-eval
              `(begin
+                (chdir "/tmp")
                 (system* ,(string-append #$libvirt "/bin/virsh")
                          "-c" "qemu:///system" "version"))
              marionette))

+          (test-eq "connect"
+            0
+            (marionette-eval
+             `(begin
+                (chdir "/tmp")
+                (system* ,(string-append #$libvirt "/bin/virsh")
+                         "-c" "qemu:///system" "connect"))
+             marionette))
+
           (test-end)
           (exit (= (test-runner-fail-count (test-runner-current)) 0)))))

--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 2/6] gnu: libvirt: Enable disk and directory storage.
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
@ 2021-04-02 11:58       ` Pierre Langlois
  2021-04-02 11:58       ` [bug#46623] [PATCH 3/6] gnu: libvirt: Update to 7.2.0 Pierre Langlois
                         ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:58 UTC (permalink / raw)
  To: 46623; +Cc: Brice Waegeneire

From: Brice Waegeneire <brice@waegenei.re>

* gnu/packages/virtualization.scm (libvirt)[inputs]: Add parted.
[arguments]: Add configure flags to support disk and directory storage.
---
 gnu/packages/virtualization.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index c6929b9f1a..4e7f9c8e4e 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1081,6 +1081,8 @@ manage system or application containers.")
        (list "--with-qemu"
              "--with-qemu-user=nobody"
              "--with-qemu-group=kvm"
+             "--with-storage-disk"
+             "--with-storage-dir"
              "--with-polkit"
              (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
                             ,name "-" ,version)
@@ -1142,6 +1144,7 @@ manage system or application containers.")
        ("dmidecode" ,dmidecode)
        ("dnsmasq" ,dnsmasq)
        ("ebtables" ,ebtables)
+       ("parted" ,parted)
        ("iproute" ,iproute)
        ("iptables" ,iptables)))
     (native-inputs
--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 3/6] gnu: libvirt: Update to 7.2.0.
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
  2021-04-02 11:58       ` [bug#46623] [PATCH 2/6] gnu: libvirt: Enable disk and directory storage Pierre Langlois
@ 2021-04-02 11:58       ` Pierre Langlois
  2021-04-02 11:59       ` [bug#46623] [PATCH 4/6] gnu: python-libvirt: " Pierre Langlois
                         ` (2 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:58 UTC (permalink / raw)
  To: 46623; +Cc: Pierre Langlois, Brice Waegeneire

From: Brice Waegeneire <brice@waegenei.re>

* gnu/packages/virtualization.scm (libvirt): Update to 7.2.0.
[arguemnts]: Switch to meson, only build system supported by upstream.
[inputs]: Add libssh2 and readline.
[native-inputs]: Add bash-completion, gettext, python-docutils and
rpcsvc-proto.
* gnu/packages/patches/libvirt-add-install-prefix.patch: New file...
* gnu/local.mk: ...add it.
* gnu/packages/patches/libvirt-create-machine-cgroup.patch: Delete file,
merged by upstream.

Tested-by: Pierre Langlois <pierre.langlois@gmx.com>
---
 gnu/local.mk                                  |   4 +-
 .../patches/libvirt-add-install-prefix.patch  | 329 ++++++++++++++++++
 gnu/packages/virtualization.scm               |  82 ++---
 3 files changed, 367 insertions(+), 48 deletions(-)
 create mode 100644 gnu/packages/patches/libvirt-add-install-prefix.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 1a72e896a8..e0fff1f59c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -34,7 +34,7 @@
 # Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
 # Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 # Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
-# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 # Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 # Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 # Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
@@ -1263,7 +1263,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
   %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
   %D%/packages/patches/libffi-float128-powerpc64le.patch	\
-  %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
+  %D%/packages/patches/libvirt-add-install-prefix.patch	\
   %D%/packages/patches/libziparchive-add-includes.patch		\
   %D%/packages/patches/localed-xorg-keyboard.patch		\
   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
diff --git a/gnu/packages/patches/libvirt-add-install-prefix.patch b/gnu/packages/patches/libvirt-add-install-prefix.patch
new file mode 100644
index 0000000000..1331fa9b6f
--- /dev/null
+++ b/gnu/packages/patches/libvirt-add-install-prefix.patch
@@ -0,0 +1,329 @@
+Patch from NixOS:
+https://raw.githubusercontent.com/NixOS/nixpkgs/b98031a49c66095dd1eb9185ecdaeeb5e3cd752d/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
+
+From a896b0be849455edb83a9305dfec9b41447ef3e4 Mon Sep 17 00:00:00 2001
+From: Euan Kemp <euank@euank.com>
+Date: Thu, 14 Jan 2021 00:32:00 -0800
+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_options.txt                 |  2 ++
+ src/libxl/meson.build             |  6 +++---
+ src/locking/meson.build           |  8 ++++----
+ src/lxc/meson.build               |  6 +++---
+ src/meson.build                   | 18 +++++++++---------
+ src/network/meson.build           | 12 ++++++------
+ 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 ++--
+ 12 files changed, 53 insertions(+), 42 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index b5164f6..33719f1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -39,6 +39,8 @@ if host_machine.system() == 'windows'
+   conf.set('WINVER', '0x0600') # Win Vista / Server 2008
+ endif
+
++# patched in for nix
++install_prefix = get_option('install_prefix')
+
+ # set various paths
+
+@@ -57,6 +59,13 @@ else
+   sysconfdir = prefix / get_option('sysconfdir')
+ endif
+
++# nix: don't prefix the localstatedir; some things need to write to it, so it
++# can't be in the nix store, and that's what the prefix is.
++# We'll prefix things ourselves where needed
++localstatedir = get_option('localstatedir')
++# Same for sysconfidr
++sysconfdir = get_option('sysconfdir')
++
+ # if --prefix is /usr, don't use /usr/var for localstatedir or /usr/etc for
+ # sysconfdir as this makes a lot of things break in testing situations
+ if prefix == '/usr'
+diff --git a/meson_options.txt b/meson_options.txt
+index e5d79c2..081cd32 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,5 @@
++option('install_prefix', type: 'string', value: '', description: 'prefix for nix store installation')
++
+ option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update')
+ option('packager', type: 'string', value: '', description: 'Extra packager name')
+ option('packager_version', type: 'string', value: '', description: 'Extra packager version')
+diff --git a/src/libxl/meson.build b/src/libxl/meson.build
+index 3bb6cc5..78d7be0 100644
+--- a/src/libxl/meson.build
++++ b/src/libxl/meson.build
+@@ -84,8 +84,8 @@ if conf.has('WITH_LIBXL')
+   }
+
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'libxl',
+-    runstatedir / 'libvirt' / 'libxl',
+-    localstatedir / 'log' / 'libvirt' / 'libxl',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl',
++    install_prefix + runstatedir / 'libvirt' / 'libxl',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl',
+   ]
+ endif
+diff --git a/src/locking/meson.build b/src/locking/meson.build
+index 8a28310..9da81cc 100644
+--- a/src/locking/meson.build
++++ b/src/locking/meson.build
+@@ -243,14 +243,14 @@ if conf.has('WITH_LIBVIRTD')
+   }
+
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'lockd',
+-    localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
+-    runstatedir / 'libvirt' / 'lockd',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
++    install_prefix + runstatedir / 'libvirt' / 'lockd',
+   ]
+
+   if conf.has('WITH_SANLOCK')
+     virt_install_dirs += [
+-      localstatedir / 'lib' / 'libvirt' / 'sanlock',
++      install_prefix + localstatedir / 'lib' / 'libvirt' / 'sanlock',
+     ]
+   endif
+ endif
+diff --git a/src/lxc/meson.build b/src/lxc/meson.build
+index f8e2a88..96d6687 100644
+--- a/src/lxc/meson.build
++++ b/src/lxc/meson.build
+@@ -182,8 +182,8 @@ if conf.has('WITH_LXC')
+   }
+
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'lxc',
+-    runstatedir / 'libvirt' / 'lxc',
+-    localstatedir / 'log' / 'libvirt' / 'lxc',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc',
++    install_prefix + runstatedir / 'libvirt' / 'lxc',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc',
+   ]
+ endif
+diff --git a/src/meson.build b/src/meson.build
+index 7c47821..d33d16a 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -669,7 +669,7 @@ endforeach
+
+ virt_conf_files += 'libvirt.conf'
+
+-install_data(virt_conf_files, install_dir: confdir)
++install_data(virt_conf_files, install_dir: install_prefix + confdir)
+ install_data(virt_aug_files, install_dir: virt_aug_dir)
+
+ # augeas_test_data:
+@@ -729,7 +729,7 @@ foreach data : virt_daemon_confs
+     output: '@0@.conf'.format(data['name']),
+     configuration: daemon_conf,
+     install: true,
+-    install_dir: confdir,
++    install_dir: install_prefix + confdir,
+   )
+
+   if data.get('with_ip', false)
+@@ -853,14 +853,14 @@ if conf.has('WITH_LIBVIRTD')
+
+       install_data(
+         init_file,
+-        install_dir: sysconfdir / 'init.d',
++        install_dir: install_prefix + sysconfdir / 'init.d',
+         rename: [ init['name'] ],
+       )
+
+       if init.has_key('confd')
+         install_data(
+           init['confd'],
+-          install_dir: sysconfdir / 'conf.d',
++          install_dir: install_prefix + sysconfdir / 'conf.d',
+           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
+ # Install empty directories
+
+ virt_install_dirs += [
+-  localstatedir / 'cache' / 'libvirt',
+-  localstatedir / 'lib' / 'libvirt' / 'images',
+-  localstatedir / 'lib' / 'libvirt' / 'filesystems',
+-  localstatedir / 'lib' / 'libvirt' / 'boot',
++  install_prefix + localstatedir / 'cache' / 'libvirt',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'images',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'filesystems',
++  install_prefix + localstatedir / 'lib' / 'libvirt' / 'boot',
+ ]
+
+ meson.add_install_script(
+diff --git a/src/network/meson.build b/src/network/meson.build
+index 3ec598c..b02040b 100644
+--- a/src/network/meson.build
++++ b/src/network/meson.build
+@@ -79,9 +79,9 @@ if conf.has('WITH_NETWORK')
+   }
+
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'network',
+-    localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
+-    runstatedir / 'libvirt' / 'network',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'network',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
++    install_prefix + runstatedir / 'libvirt' / 'network',
+   ]
+
+   configure_file(
+@@ -89,12 +89,12 @@ if conf.has('WITH_NETWORK')
+     output: '@BASENAME@',
+     copy: true,
+     install: true,
+-    install_dir: confdir / 'qemu' / 'networks',
++    install_dir: install_prefix + confdir / 'qemu' / 'networks',
+   )
+
+   meson.add_install_script(
+     meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(),
+-    confdir / 'qemu' / 'networks' / 'autostart',
++    install_prefix + confdir / 'qemu' / 'networks' / 'autostart',
+     '../default.xml', 'default.xml',
+   )
+
+diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build
+index 0d96c54..66c92a1 100644
+--- a/src/nwfilter/xml/meson.build
++++ b/src/nwfilter/xml/meson.build
+@@ -25,4 +25,4 @@ nwfilter_xml_files = [
+   'qemu-announce-self.xml',
+ ]
+
+-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 90640b0..8802cec 100644
+--- a/src/qemu/meson.build
++++ b/src/qemu/meson.build
+@@ -171,12 +171,12 @@ if conf.has('WITH_QEMU')
+   }
+
+   virt_install_dirs += [
+-    localstatedir / 'lib' / 'libvirt' / 'qemu',
+-    runstatedir / 'libvirt' / 'qemu',
+-    localstatedir / 'cache' / 'libvirt' / 'qemu',
+-    localstatedir / 'log' / 'libvirt' / 'qemu',
+-    localstatedir / 'lib' / 'libvirt' / 'swtpm',
+-    runstatedir / 'libvirt' / 'qemu' / 'swtpm',
+-    localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu',
++    install_prefix + runstatedir / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu',
++    install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm',
++    install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm',
++    install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
+   ]
+ endif
+diff --git a/src/remote/meson.build b/src/remote/meson.build
+index 9ad2f6a..429a15b 100644
+--- a/src/remote/meson.build
++++ b/src/remote/meson.build
+@@ -245,7 +245,7 @@ if conf.has('WITH_REMOTE')
+     }
+
+     virt_install_dirs += [
+-      localstatedir / 'log' / 'libvirt',
++      install_prefix + localstatedir / 'log' / 'libvirt',
+     ]
+
+     logrotate_conf = configuration_data()
+@@ -259,7 +259,7 @@ if conf.has('WITH_REMOTE')
+       )
+       install_data(
+         log_file,
+-        install_dir: sysconfdir / 'logrotate.d',
++        install_dir: install_prefix + sysconfdir / 'logrotate.d',
+         rename: [ name ],
+       )
+     endforeach
+@@ -309,7 +309,7 @@ endif
+ if conf.has('WITH_SASL')
+   install_data(
+     'libvirtd.sasl',
+-    install_dir: sysconfdir / 'sasl2',
++    install_dir: install_prefix + sysconfdir / 'sasl2',
+     rename: [ 'libvirt.conf' ],
+   )
+ endif
+diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
+index af43780..e2d6c81 100644
+--- a/src/security/apparmor/meson.build
++++ b/src/security/apparmor/meson.build
+@@ -17,22 +17,22 @@ foreach name : apparmor_gen_profiles
+     output: name,
+     configuration: apparmor_gen_profiles_conf,
+     install: true,
+-    install_dir: apparmor_dir,
++    install_dir: install_prefix + apparmor_dir,
+   )
+ endforeach
+
+ install_data(
+   [ 'libvirt-qemu', 'libvirt-lxc' ],
+-  install_dir: apparmor_dir / 'abstractions',
++  install_dir: install_prefix + apparmor_dir / 'abstractions',
+ )
+
+ install_data(
+   [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
+-  install_dir: apparmor_dir / 'libvirt',
++  install_dir: install_prefix + apparmor_dir / 'libvirt',
+ )
+
+ install_data(
+   'usr.lib.libvirt.virt-aa-helper.local',
+-  install_dir: apparmor_dir / 'local',
++  install_dir: install_prefix + apparmor_dir / 'local',
+   rename: 'usr.lib.libvirt.virt-aa-helper',
+ )
+diff --git a/tools/meson.build b/tools/meson.build
+index b8c6802..dacd0ff 100644
+--- a/tools/meson.build
++++ b/tools/meson.build
+@@ -115,7 +115,7 @@ if conf.has('WITH_LOGIN_SHELL')
+     install_rpath: libvirt_rpath,
+   )
+
+-  install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt')
++  install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt')
+ endif
+
+ if host_machine.system() == 'windows'
+@@ -274,7 +274,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',
+   )
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 4e7f9c8e4e..3a71720599 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -42,6 +42,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages check)
@@ -97,6 +98,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sphinx)
@@ -1065,66 +1067,48 @@ manage system or application containers.")
 (define-public libvirt
   (package
     (name "libvirt")
-    (version "5.8.0")
+    (version "7.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://libvirt.org/sources/libvirt-"
                            version ".tar.xz"))
        (sha256
-        (base32 "0m8cqaqflvys5kaqpvb0qr4k365j09jc5xk6x70yvg8qkcl2hcz2"))
-       (patches
-        (search-patches "libvirt-create-machine-cgroup.patch"))))
-    (build-system gnu-build-system)
+        (base32 "1l6i1rz1v9rnp61sgzlrlbsfh03208dbm3b259i0jl5sqz85kx01"))
+       (patches (search-patches "libvirt-add-install-prefix.patch"))))
+    (build-system meson-build-system)
     (arguments
      `(#:configure-flags
-       (list "--with-qemu"
-             "--with-qemu-user=nobody"
-             "--with-qemu-group=kvm"
-             "--with-storage-disk"
-             "--with-storage-dir"
-             "--with-polkit"
-             (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
+       (list "-Ddriver_qemu=enabled"
+             "-Dqemu_user=nobody"
+             "-Dqemu_group=kvm"
+             "-Dstorage_disk=enabled"
+             "-Dstorage_dir=enabled"
+             "-Dpolkit=enabled"
+             "-Dnls=enabled"            ;translations
+             (string-append "-Ddocdir=" (assoc-ref %outputs "out") "/share/doc/"
                             ,name "-" ,version)
+             "-Dbash_completion=enabled"
+             (string-append "-Dinstall_prefix=" (assoc-ref %outputs "out"))
              "--sysconfdir=/etc"
              "--localstatedir=/var")
+       #:meson ,meson-0.55
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'fix-BOURNE_SHELL-definition
-           ;; BOURNE_SHELL is hard-#defined to ‘/bin/sh’, causing test failures.
-           (lambda _
-             (substitute* "config.h.in"
-               (("/bin/sh") (which "sh")))
-             #t))
-         (add-before 'configure 'patch-libtirpc-file-names
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; libvirt uses an m4 macro instead of pkg-config to determine where
-             ;; the RPC headers are located.  Tell it to look in the right place.
-             (substitute* "configure"
-               (("/usr/include/tirpc")  ;defined in m4/virt-xdr.m4
-                (string-append (assoc-ref inputs "libtirpc")
-                               "/include/tirpc")))
-             #t))
          (add-before 'configure 'disable-broken-tests
            (lambda _
-             (let ((tests (list "commandtest"      ; hangs idly
-                                "qemuxml2argvtest" ; fails
-                                "qemuhotplugtest"  ; fails
-                                "virnetsockettest" ; tries to network
-                                "virshtest")))     ; fails
-               (substitute* "tests/Makefile.in"
-                 (((format #f "(~a)\\$\\(EXEEXT\\)" (string-join tests "|")))
+             (let ((tests (list "commandtest"           ; hangs idly
+                                "qemuxml2argvtest"      ; fails
+                                "virnetsockettest")))   ; tries to network
+               (substitute* "tests/meson.build"
+                 (((format #f ".*'name': '(~a)'.*" (string-join tests "|")))
                   ""))
                #t)))
-         (replace 'install
-           ;; Since the sysconfdir and localstatedir should be /etc and /var
-           ;; at runtime, we must prevent writing to them at installation
-           ;; time.
-           (lambda* (#:key make-flags #:allow-other-keys)
-             (apply invoke "make" "install"
-                    "sysconfdir=/tmp/etc"
-                    "localstatedir=/tmp/var"
-                    make-flags))))))
+         (add-before 'install 'no-polkit-magic
+           ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
+           (lambda _
+             (setenv "PKEXEC_UID" "something")
+             #t)))))
     (inputs
      `(("libxml2" ,libxml2)
        ("eudev" ,eudev)
@@ -1133,11 +1117,13 @@ manage system or application containers.")
        ("dbus" ,dbus)
        ("libpcap" ,libpcap)
        ("libnl" ,libnl)
+       ("libssh2" ,libssh2)             ;optional
        ("libtirpc" ,libtirpc)           ;for <rpc/rpc.h>
        ("libuuid" ,util-linux "lib")
        ("lvm2" ,lvm2)                   ;for libdevmapper
        ("curl" ,curl)
        ("openssl" ,openssl)
+       ("readline" ,readline)
        ("cyrus-sasl" ,cyrus-sasl)
        ("libyajl" ,libyajl)
        ("audit" ,audit)
@@ -1148,11 +1134,15 @@ manage system or application containers.")
        ("iproute" ,iproute)
        ("iptables" ,iptables)))
     (native-inputs
-     `(("xsltproc" ,libxslt)
+     `(("bash-completion" ,bash-completion)
+       ("gettext" ,gettext-minimal)
+       ("xsltproc" ,libxslt)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("polkit" ,polkit)
-       ("python" ,python-wrapper)))
+       ("python" ,python-wrapper)
+       ("python-docutils" ,python-docutils) ;for rst2html
+       ("rpcsvc-proto" ,rpcsvc-proto)))     ;for rpcgen
     (home-page "https://libvirt.org")
     (synopsis "Simple API for virtualization")
     (description "Libvirt is a C toolkit to interact with the virtualization
--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 4/6] gnu: python-libvirt: Update to 7.2.0.
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
  2021-04-02 11:58       ` [bug#46623] [PATCH 2/6] gnu: libvirt: Enable disk and directory storage Pierre Langlois
  2021-04-02 11:58       ` [bug#46623] [PATCH 3/6] gnu: libvirt: Update to 7.2.0 Pierre Langlois
@ 2021-04-02 11:59       ` Pierre Langlois
  2021-04-02 11:59       ` [bug#46623] [PATCH 5/6] gnu: libvirt-glib: Update to 4.0.0 Pierre Langlois
  2021-04-02 11:59       ` [bug#46623] [PATCH 6/6] gnu: virt-manager: Update to 3.2.0 Pierre Langlois
  4 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:59 UTC (permalink / raw)
  To: 46623; +Cc: Pierre Langlois

* gnu/packages/virtualization.scm (python-libvirt): Update to 7.2.0.
---
 gnu/packages/virtualization.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3a71720599..d2dc11a0fb 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1196,14 +1197,14 @@ three libraries:
 (define-public python-libvirt
   (package
     (name "python-libvirt")
-    (version "5.8.0")
+    (version "7.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://libvirt.org/sources/python/libvirt-python-"
                            version ".tar.gz"))
        (sha256
-        (base32 "0kyz3lx49d8p75mvbzinxc1zgs8g7adn77y9bm15b8b4ad9zl5s6"))))
+        (base32 "1ryfimhf47s9k4n0gys233bh15l68fccs2bvj8bjwqjm9k2vmhy0"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 5/6] gnu: libvirt-glib: Update to 4.0.0.
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
                         ` (2 preceding siblings ...)
  2021-04-02 11:59       ` [bug#46623] [PATCH 4/6] gnu: python-libvirt: " Pierre Langlois
@ 2021-04-02 11:59       ` Pierre Langlois
  2021-04-02 11:59       ` [bug#46623] [PATCH 6/6] gnu: virt-manager: Update to 3.2.0 Pierre Langlois
  4 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:59 UTC (permalink / raw)
  To: 46623; +Cc: Pierre Langlois

* gnu/packages/virtualization.scm (libvirt-glib): Update to 4.0.0.
[build-system]: Switch to meson-build-system.
---
 gnu/packages/virtualization.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index d2dc11a0fb..e8540762ee 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1155,15 +1155,15 @@ to integrate other virtualization mechanisms if needed.")
 (define-public libvirt-glib
   (package
     (name "libvirt-glib")
-    (version "3.0.0")
+    (version "4.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://libvirt.org/libvirt/glib/"
-                                  "libvirt-glib-" version ".tar.gz"))
+                                  "libvirt-glib-" version ".tar.xz"))
               (sha256
                (base32
-                "1zpbv4ninc57c9rw4zmmkvvqn7154iv1qfr20kyxn8xplalqrzvz"))))
-    (build-system gnu-build-system)
+                "1gdcvqz88qkp402zra9csc6391f2xki1270x683n6ixakl3gf8w4"))))
+    (build-system meson-build-system)
     (inputs
      `(("openssl" ,openssl)
        ("cyrus-sasl" ,cyrus-sasl)
--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 6/6] gnu: virt-manager: Update to 3.2.0.
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
                         ` (3 preceding siblings ...)
  2021-04-02 11:59       ` [bug#46623] [PATCH 5/6] gnu: libvirt-glib: Update to 4.0.0 Pierre Langlois
@ 2021-04-02 11:59       ` Pierre Langlois
  4 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-02 11:59 UTC (permalink / raw)
  To: 46623; +Cc: Pierre Langlois

* gnu/packages/virtualization.scm (virt-manager): Update to 3.2.0.
[arguments]: Remove #:test-target.  Remove fix-qemu-img-reference phase.
Adapt check phase to use pytest, although they still do not run.
[native-inputs]: Add python-docutils.  Suggest adding python-pytest to enable
tests.
---
 gnu/packages/virtualization.scm | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index e8540762ee..ada23d2aa9 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1236,7 +1236,7 @@ virtualization library.")
 (define-public virt-manager
   (package
     (name "virt-manager")
-    (version "2.2.1")
+    (version "3.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://virt-manager.org/download/sources"
@@ -1244,11 +1244,10 @@ virtualization library.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g"))))
+                "11kvpzcmyir91qz0dsnk7748jbb4wr8mrc744w117qc91pcy6vrb"))))
     (build-system python-build-system)
     (arguments
      `(#:use-setuptools? #f          ; uses custom distutils 'install' command
-       #:test-target "test_ui"
        #:tests? #f                      ; TODO The tests currently fail
                                         ; RuntimeError: Loop condition wasn't
                                         ; met
@@ -1266,12 +1265,6 @@ virtualization library.")
              (substitute* "virtinst/buildconfig.py"
                (("/usr") (assoc-ref outputs "out")))
              #t))
-         (add-after 'unpack 'fix-qemu-img-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "virtconv/formats.py"
-               (("/usr(/bin/qemu-img)" _ suffix)
-                (string-append (assoc-ref inputs "qemu") suffix)))
-             #t))
          (add-after 'unpack 'fix-default-uri
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Xen is not available for now - so only patch qemu.
@@ -1302,11 +1295,12 @@ virtualization library.")
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (setenv "HOME" "/tmp")
+               (setenv "XDG_CACHE_HOME" "/tmp")
                (system "Xvfb :1 &")
                (setenv "DISPLAY" ":1")
                ;; Dogtail requires that Assistive Technology support be enabled
                (setenv "GTK_MODULES" "gail:atk-bridge")
-               (invoke "dbus-run-session" "--" "python" "setup.py" "test_ui"))
+               (invoke "dbus-run-session" "--" "pytest" "--uitests"))
              #t))
          (add-after 'install 'glib-or-gtk-compile-schemas
            (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
@@ -1336,7 +1330,9 @@ virtualization library.")
        ("gtk+" ,gtk+ "bin")             ; gtk-update-icon-cache
        ("perl" ,perl)                   ; pod2man
        ("intltool" ,intltool)
+       ("rst2man" ,python-docutils)
        ;; The following are required for running the tests
+       ;; ("python-pytest" ,python-pytest)
        ;; ("python-dogtail" ,python-dogtail)
        ;; ("xvfb" ,xorg-server-for-tests)
        ;; ("dbus" ,dbus)
--
2.31.1





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0.
  2021-04-02 11:56   ` Pierre Langlois
  2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
@ 2021-04-05 16:37     ` Ludovic Courtès
  2021-04-05 18:52       ` Pierre Langlois
  1 sibling, 1 reply; 15+ messages in thread
From: Ludovic Courtès @ 2021-04-05 16:37 UTC (permalink / raw)
  To: Pierre Langlois; +Cc: 46623, Brice Waegeneire

Hi Pierre,

Pierre Langlois <pierre.langlois@gmx.com> skribis:

> Here's a new patch series that adds your 1&4 patches, updated to 7.2.0
> and then updates dependent packages.  I've also extended the system test
> so that it can catch issues with the /var and /etc runtime directories.
>
> I've not looked at patches 2&3, on the service itself yet though.
>
> Anyways, WDYT? OK to commit?

LGTM.  Thanks for investigating, and thank you Brice for showing the way!
:-)

The new virsh test is much welcome.

Ludo’.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0.
  2021-04-05 16:37     ` [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Ludovic Courtès
@ 2021-04-05 18:52       ` Pierre Langlois
  0 siblings, 0 replies; 15+ messages in thread
From: Pierre Langlois @ 2021-04-05 18:52 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Pierre Langlois, Brice Waegeneire, 46623

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]


Ludovic Courtès writes:

> Hi Pierre,
>
> Pierre Langlois <pierre.langlois@gmx.com> skribis:
>
>> Here's a new patch series that adds your 1&4 patches, updated to 7.2.0
>> and then updates dependent packages.  I've also extended the system test
>> so that it can catch issues with the /var and /etc runtime directories.
>>
>> I've not looked at patches 2&3, on the service itself yet though.
>>
>> Anyways, WDYT? OK to commit?
>
> LGTM.  Thanks for investigating, and thank you Brice for showing the way!
> :-)

Thanks Ludo’ and Brice!  I've just pushed the update with
0d4ae86bc2e5c5a87e3d343d2b144ed9afd75314.

By the way, I took a quick look at patches 2&3 as well, for the
services, and they look good to me.

Pierre

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-04-05 18:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-18 20:24 [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
2021-02-18 20:48 ` [bug#46623] [PATCH 1/4] gnu: libvirt: Enable disk and directory storage Brice Waegeneire
2021-02-18 20:48 ` [bug#46623] [PATCH 2/4] services: libvirt: Change unix-sock-group default Brice Waegeneire
2021-02-18 20:48 ` [bug#46623] [PATCH 3/4] services: libvirt: Add qemu field Brice Waegeneire
2021-02-18 20:48 ` [bug#46623] [PATCH 4/4] gnu: libvirt: Update to 7.0.0 Brice Waegeneire
2021-04-02 11:56   ` Pierre Langlois
2021-04-02 11:58     ` [bug#46623] [PATCH 1/6] tests: libvirt: Catch issues with incorrect /var and /etc in package Pierre Langlois
2021-04-02 11:58       ` [bug#46623] [PATCH 2/6] gnu: libvirt: Enable disk and directory storage Pierre Langlois
2021-04-02 11:58       ` [bug#46623] [PATCH 3/6] gnu: libvirt: Update to 7.2.0 Pierre Langlois
2021-04-02 11:59       ` [bug#46623] [PATCH 4/6] gnu: python-libvirt: " Pierre Langlois
2021-04-02 11:59       ` [bug#46623] [PATCH 5/6] gnu: libvirt-glib: Update to 4.0.0 Pierre Langlois
2021-04-02 11:59       ` [bug#46623] [PATCH 6/6] gnu: virt-manager: Update to 3.2.0 Pierre Langlois
2021-04-05 16:37     ` [bug#46623] [PATCH 0/4] gnu: libvirt: Update to 7.0.0 Ludovic Courtès
2021-04-05 18:52       ` Pierre Langlois
2021-04-01 20:29 ` bug#46623: " Ludovic Courtès

unofficial mirror of guix-patches@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git