GNU bug report logs - #47285
[PATCH 0/4] Update libvirt and friends.

Previous Next

Package: guix-patches;

Reported by: Pierre Langlois <pierre.langlois <at> gmx.com>

Date: Sat, 20 Mar 2021 21:24:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: bug#47285: closed (Re: bug#47285: [PATCH 0/4] Update libvirt and
 friends.)
Date: Wed, 31 Mar 2021 13:29:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#47285: [PATCH 0/4] Update libvirt and friends.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 47285 <at> debbugs.gnu.org.

-- 
47285: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47285
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 47285-done <at> debbugs.gnu.org
Subject: Re: bug#47285: [PATCH 0/4] Update libvirt and friends.
Date: Wed, 31 Mar 2021 15:28:36 +0200
Hi Pierre,

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

> This is a patch series that updates libvirt to 7.1.0, now using the
> meson build system, and then updates a few dependent packages as well.
>
> Getting libvirt to build and then work properly was quite tedious, given
> that we have to build it so that the binaries refer to /etc and /var at
> runtime, while we set the prefix to the package output.  This was
> relatively straight-forward with the old build system, but with meson I
> ended up having to patch meson.build so that:
>
>   - It allows for localstatedir to not be relative to the prefix. And
>     prevent it from trying to create empty directories in /var during
>     installation.
>
>   - It allows installing configurations, in /gnu/...-libvirt-7.1.0/etc/,
>     but still refer to the system /etc at runtime.  An alternative would
>     be to not do any of the installation steps for /etc files, but doing
>     that was more intrusive a change to the build system, and having
>     those configurations installed could be useful examples, or referred
>     to be services.
>
> Other than that, the rest is pretty straight-forward.  I've tested this
> using the libvirt service and virt-manager, making sure I could still
> boot a VM.  It's all working fine for me, although my use-case is quite
> simple, just the defaults:
>
> (services (cons*
>             (service libvirt-service-type
>               (libvirt-configuration
>                 (unix-sock-group "libvirt")))
>             ...))
>
> Let me know what you think and if that's good enough to apply!  The
> definition is a bit more hacky than I'd like, so any ideas to improve it
> would be great.

AFAICS it all works like a charm, including the system test :-), so I
went ahead and applied the whole series.

Thank you!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: Guix-patches <guix-patches <at> gnu.org>
Subject: [PATCH 0/4] Update libvirt and friends.
Date: Sat, 20 Mar 2021 21:23:00 +0000
[Message part 4 (text/plain, inline)]
Hello Guix!

This is a patch series that updates libvirt to 7.1.0, now using the
meson build system, and then updates a few dependent packages as well.

Getting libvirt to build and then work properly was quite tedious, given
that we have to build it so that the binaries refer to /etc and /var at
runtime, while we set the prefix to the package output.  This was
relatively straight-forward with the old build system, but with meson I
ended up having to patch meson.build so that:

  - It allows for localstatedir to not be relative to the prefix. And
    prevent it from trying to create empty directories in /var during
    installation.

  - It allows installing configurations, in /gnu/...-libvirt-7.1.0/etc/,
    but still refer to the system /etc at runtime.  An alternative would
    be to not do any of the installation steps for /etc files, but doing
    that was more intrusive a change to the build system, and having
    those configurations installed could be useful examples, or referred
    to be services.

Other than that, the rest is pretty straight-forward.  I've tested this
using the libvirt service and virt-manager, making sure I could still
boot a VM.  It's all working fine for me, although my use-case is quite
simple, just the defaults:

--8<---------------cut here---------------start------------->8---
(services (cons*
            (service libvirt-service-type
              (libvirt-configuration
                (unix-sock-group "libvirt")))
            ...))
--8<---------------cut here---------------end--------------->8---

Let me know what you think and if that's good enough to apply!  The
definition is a bit more hacky than I'd like, so any ideas to improve it
would be great.

Thanks,
Pierre

Pierre Langlois (4):
  gnu: libvirt: Update to 7.1.0.
  gnu: python-libvirt: Update to 7.1.0.
  gnu: libvirt-glib: Update to 4.0.0.
  gnu: virt-manager: Update to 3.2.0.

 gnu/local.mk                                  |   2 +-
 .../libvirt-create-machine-cgroup.patch       |  48 --------
 .../libvirt-do-not-create-var-dirs.patch      |  30 +++++
 gnu/packages/virtualization.scm               | 106 ++++++++----------
 4 files changed, 76 insertions(+), 110 deletions(-)
 delete mode 100644 gnu/packages/patches/libvirt-create-machine-cgroup.patch
 create mode 100644 gnu/packages/patches/libvirt-do-not-create-var-dirs.patch

-- 
2.31.0
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.