GNU bug report logs - #65645
[PATCH] gnu: qemu: Update to 8.1.0.

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Thu, 31 Aug 2023 04:47:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 65645 in the body.
You can then email your comments to 65645 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#65645; Package guix-patches. (Thu, 31 Aug 2023 04:47:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 31 Aug 2023 04:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org,
	maxim.cournoyer <at> gmail.com
Subject: [PATCH 1/3] gnu: qemu: Update to 7.2.4.
Date: Thu, 31 Aug 2023 00:45:26 -0400
* gnu/packages/virtualization.scm (qemu): Update to 7.2.4.
[source] <patches>: Replace qemu-disable-aarch64-migration-test.patch with
qemu-disable-some-qtests-tests.patch.
<snippet>: Adjust for dtc relocation and meson and sgabios removal.
[arguments] <configure-flags>: Remove --meson flag.  Remove sgabios from the
--firmwarepath value.
<phases>: Adjust replace-firmwares and delete-firmwares phases for sgabios
removal.
[inputs]: Remove sgabios.
(qemu-minimal): Use package/inherit, which is more appropriate for a package
variant.
[arguments]: New disable-extra-tests phase.
* gnu/packages/patches/qemu-disable-aarch64-migration-test.patch: Delete file.
* gnu/packages/patches/qemu-disable-some-qtests-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
---
 gnu/local.mk                                  |  2 +-
 .../qemu-disable-aarch64-migration-test.patch | 13 -----
 .../qemu-disable-some-qtests-tests.patch      | 52 +++++++++++++++++++
 gnu/packages/virtualization.scm               | 43 +++++++--------
 4 files changed, 71 insertions(+), 39 deletions(-)
 delete mode 100644 gnu/packages/patches/qemu-disable-aarch64-migration-test.patch
 create mode 100644 gnu/packages/patches/qemu-disable-some-qtests-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 48187d7e64..0683a87492 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1864,7 +1864,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-werkzeug-tests.patch		\
   %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch	\
   %D%/packages/patches/qemu-build-info-manual.patch		\
-  %D%/packages/patches/qemu-disable-aarch64-migration-test.patch	\
+  %D%/packages/patches/qemu-disable-some-qtests-tests.patch	\
   %D%/packages/patches/qemu-glibc-2.27.patch 			\
   %D%/packages/patches/qemu-glibc-2.30.patch 			\
   %D%/packages/patches/qemu-fix-agent-paths.patch 		\
diff --git a/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch b/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch
deleted file mode 100644
index bf60ed23bb..0000000000
--- a/gnu/packages/patches/qemu-disable-aarch64-migration-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Disable the qtest-aarch64/migration-test, which sometimes fail non-deterministically.
-See: https://gitlab.com/qemu-project/qemu/-/issues/1230.
-
---- qemu-7.1.0/tests/qtest/meson.build.old	1969-12-31 19:00:01.000000000 -0500
-+++ qemu-7.1.0/tests/qtest/meson.build	2022-09-26 11:11:05.434209797 -0400
-@@ -219,7 +219,6 @@
-   ['arm-cpu-features',
-    'numa-test',
-    'boot-serial-test',
--   'migration-test',
-    'bcm2835-dma-test']
- 
- qtests_s390x = \
diff --git a/gnu/packages/patches/qemu-disable-some-qtests-tests.patch b/gnu/packages/patches/qemu-disable-some-qtests-tests.patch
new file mode 100644
index 0000000000..f60698de8f
--- /dev/null
+++ b/gnu/packages/patches/qemu-disable-some-qtests-tests.patch
@@ -0,0 +1,52 @@
+Disable the qtest-aarch64/migration-test, which sometimes fail
+non-deterministically (see:
+https://gitlab.com/qemu-project/qemu/-/issues/1230).
+
+Also disable the bios-tables-test, which may fail on older machines (see:
+https://gitlab.com/qemu-project/qemu/-/issues/1098).
+
+--- qemu-8.1.0/tests/qtest/meson.build.old	2023-08-30 11:48:27.871146249 -0400
++++ qemu-8.1.0/tests/qtest/meson.build	2023-08-30 13:53:25.994084948 -0400
+@@ -1,6 +1,5 @@
+ slow_qtests = {
+   'ahci-test' : 60,
+-  'bios-tables-test' : 120,
+   'boot-serial-test' : 60,
+   'migration-test' : 150,
+   'npcm7xx_pwm-test': 150,
+@@ -81,9 +80,6 @@
+    config_all_devices.has_key('CONFIG_Q35') and                                             \
+    config_all_devices.has_key('CONFIG_VIRTIO_PCI') and                                      \
+    slirp.found() ? ['virtio-net-failover'] : []) +                                          \
+-  (unpack_edk2_blobs and                                                                    \
+-   config_all_devices.has_key('CONFIG_HPET') and                                            \
+-   config_all_devices.has_key('CONFIG_PARALLEL') ? ['bios-tables-test'] : []) +             \
+   qtests_pci +                                                                              \
+   qtests_cxl +                                                                              \
+   ['fdc-test',
+@@ -212,7 +208,6 @@
+
+ # TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
+ qtests_aarch64 = \
+-  (cpu != 'arm' and unpack_edk2_blobs ? ['bios-tables-test'] : []) +                            \
+   (config_all.has_key('CONFIG_TCG') and config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ?            \
+     ['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) +                                         \
+   (config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test', 'fuzz-xlnx-dp-test'] : []) + \
+@@ -222,8 +217,7 @@
+    config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
+   ['arm-cpu-features',
+    'numa-test',
+-   'boot-serial-test',
+-   'migration-test']
++   'boot-serial-test']
+
+ qtests_s390x = \
+   qtests_filter + \
+@@ -301,7 +295,6 @@
+ endif
+
+ qtests = {
+-  'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
+   'cdrom-test': files('boot-sector.c'),
+   'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
+   'erst-test': files('erst-test.c'),
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 9952dd125a..4ae0049269 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2020, 2021 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe <at> gmail.com>
 ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius <at> gnu.org>
-;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
@@ -164,16 +164,15 @@ (define (qemu-patch commit file-name sha256-bv)
 (define-public qemu
   (package
     (name "qemu")
-    (version "7.2.4")
+    (version "8.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.qemu.org/qemu-"
                            version ".tar.xz"))
        (sha256
-        (base32 "0795l8xsy67fnh4mbdz40jm880iisd7q6d7ly6nfzpac3gjr8zyf"))
-       (patches (search-patches "qemu-build-info-manual.patch"
-                                "qemu-disable-aarch64-migration-test.patch"
+        (base32 "0m8fbyr3xv6gi95ma0sksxfqmyj3pi4zcrgg5rvd8d73k08i033i"))
+       (patches (search-patches "qemu-disable-some-qtests-tests.patch"
                                 "qemu-fix-agent-paths.patch"))
        (modules '((guix build utils)))
        (snippet
@@ -182,8 +181,6 @@ (define-public qemu
            (with-directory-excursion "pc-bios"
              ;; Delete firmwares provided by SeaBIOS.
              (for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
-             ;; Delete SGABIOS.
-             (delete-file "sgabios.bin")
              ;; Delete ppc64 OpenBIOS.  TODO: Remove sparc32 and sparc64 too
              ;; once they are supported in Guix.
              (delete-file "openbios-ppc")
@@ -194,12 +191,11 @@ (define-public qemu
              (for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
            ;; Delete bundled code that we provide externally.
            (for-each delete-file-recursively
-                     '("dtc" "meson"
+                     '("subprojects/dtc"
                        "roms/ipxe"
                        "roms/openbios"
                        "roms/opensbi"
-                       "roms/seabios"
-                       "roms/sgabios"))))))
+                       "roms/seabios"))))))
     (outputs '("out" "static" "doc"))   ;5.3 MiB of HTML docs
     (build-system gnu-build-system)
     (arguments
@@ -210,7 +206,6 @@ (define-public qemu
                    (not (string=? "i686-linux" (%current-system))))
       #:configure-flags
       #~(let ((gcc (search-input-file %build-inputs "/bin/gcc"))
-              (meson (search-input-file %build-inputs "bin/meson"))
               (openbios (search-input-file %build-inputs
                                            "share/qemu/openbios-ppc"))
               (opensbi (search-input-file
@@ -218,25 +213,20 @@ (define-public qemu
                         "share/qemu/opensbi-riscv64-generic-fw_dynamic.bin"))
               (seabios (search-input-file %build-inputs
                                           "share/qemu/bios.bin"))
-              (sgabios (search-input-file %build-inputs
-                                          "/share/qemu/sgabios.bin"))
               (ipxe (search-input-file %build-inputs
                                        "share/qemu/pxe-virtio.rom"))
               (out #$output))
           (list (string-append "--cc=" gcc)
                 ;; Some architectures insist on using HOST_CC.
                 (string-append "--host-cc=" gcc)
-                (string-append "--meson=" meson)
                 (string-append "--prefix=" out)
-
                 "--sysconfdir=/etc"
                 "--enable-fdt=system"
                 (string-append "--firmwarepath=" out "/share/qemu:"
                                (dirname seabios) ":"
                                (dirname ipxe) ":"
                                (dirname openbios) ":"
-                               (dirname opensbi) ":"
-                               (dirname sgabios))
+                               (dirname opensbi))
                 (string-append "--smbd=" out "/libexec/samba-wrapper")
                 "--disable-debug-info"  ;for space considerations
                 ;; The binaries need to be linked against -lrt.
@@ -257,7 +247,6 @@ (define-public qemu
               (let* ((seabios (dirname (search-input-file
                                         inputs "share/qemu/bios.bin")))
                      (seabios-firmwares (find-files seabios "\\.bin$"))
-                     (sgabios (search-input-file inputs "share/qemu/sgabios.bin"))
                      (ipxe (dirname (search-input-file
                                      inputs "share/qemu/pxe-virtio.rom")))
                      (ipxe-firmwares (find-files ipxe "\\.rom$"))
@@ -282,7 +271,7 @@ (define-public qemu
                   (for-each (lambda (file)
                               (symlink file (basename file)))
                             (append seabios-firmwares ipxe-firmwares
-                                    (list openbios opensbi-riscv64 sgabios))))
+                                    (list openbios opensbi-riscv64))))
                 (for-each (lambda (file)
                             (format allowed-differences-whitelist
                                     "\"~a\",~%" file))
@@ -405,8 +394,7 @@ (define-public qemu
                 (for-each delete-file
                           (append
                            '("openbios-ppc"
-                             "opensbi-riscv64-generic-fw_dynamic.bin"
-                             "sgabios.bin")
+                             "opensbi-riscv64-generic-fw_dynamic.bin")
                            (find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
                            (find-files "." "^(efi|pxe)-.*\\.rom$"))))))
           ;; Create a wrapper for Samba. This allows QEMU to use Samba without
@@ -457,7 +445,6 @@ (define-public qemu
            pulseaudio
            sdl2
            seabios-qemu
-           sgabios
            spice
            usbredir
            util-linux
@@ -512,8 +499,7 @@ (define-public qemu
 
 (define-public qemu-minimal
   ;; QEMU without GUI support, only supporting the host's architecture
-  (package
-    (inherit qemu)
+  (package/inherit qemu
     (name "qemu-minimal")
     (outputs '("out" "doc"))
     (synopsis
@@ -556,7 +542,14 @@ (define-public qemu-minimal
         #~(modify-phases #$phases
             (delete 'configure-user-static)
             (delete 'build-user-static)
-            (delete 'install-user-static)))))
+            (delete 'install-user-static)
+            (add-after 'disable-unusable-tests 'disable-extra-tests
+              (lambda _
+                ;; Interesting, the iothreads-commit-active test only fails in
+                ;; qemu-minimal, not the complete variant (see:
+                ;; https://gitlab.com/qemu-project/qemu/-/issues/1855).
+                (delete-file
+                 "tests/qemu-iotests/tests/iothreads-commit-active")))))))
 
     ;; Remove dependencies on optional libraries, notably GUI libraries.
     (native-inputs (filter (lambda (input)

base-commit: d6966b8a5b4f2ddda2bc685b9642e7a1c2cbe17c
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#65645; Package guix-patches. (Thu, 31 Aug 2023 14:01:01 GMT) Full text and rfc822 format available.

Message #8 received at 65645 <at> debbugs.gnu.org (full text, mbox):

From: André Batista <nandre <at> riseup.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 65645 <at> debbugs.gnu.org
Subject: Re: [bug#65645] [PATCH 1/3] gnu: qemu: Update to 7.2.4.
Date: Thu, 31 Aug 2023 11:00:03 -0300
Hi Maxim!

qui 31 ago 2023 às 00:45:26 (1693453526), maxim.cournoyer <at> gmail.com enviou:
> * gnu/packages/virtualization.scm (qemu): Update to 7.2.4.

[...]

> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -15,7 +15,7 @@
>  ;;; Copyright © 2020, 2021 Brice Waegeneire <brice <at> waegenei.re>
>  ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe <at> gmail.com>
>  ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius <at> gnu.org>
> -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>  ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
>  ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
>  ;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
> @@ -164,16 +164,15 @@ (define (qemu-patch commit file-name sha256-bv)
>  (define-public qemu
>    (package
>      (name "qemu")
> -    (version "7.2.4")
> +    (version "8.1.0")

I did not test this patch yet, but there is a typo on the commit
message since you are actually upgrading to 8.1.0 _from_ 7.2.4.

Cheers!




Information forwarded to guix-patches <at> gnu.org:
bug#65645; Package guix-patches. (Fri, 01 Sep 2023 03:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 65645 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: André Batista <nandre <at> riseup.net>
Cc: 65645 <at> debbugs.gnu.org
Subject: Re: [bug#65645] [PATCH 1/3] gnu: qemu: Update to 7.2.4.
Date: Thu, 31 Aug 2023 22:59:47 -0400
Hi André,

André Batista <nandre <at> riseup.net> writes:

> Hi Maxim!
>
> qui 31 ago 2023 às 00:45:26 (1693453526), maxim.cournoyer <at> gmail.com enviou:
>> * gnu/packages/virtualization.scm (qemu): Update to 7.2.4.
>
> [...]
>
>> --- a/gnu/packages/virtualization.scm
>> +++ b/gnu/packages/virtualization.scm
>> @@ -15,7 +15,7 @@
>>  ;;; Copyright © 2020, 2021 Brice Waegeneire <brice <at> waegenei.re>
>>  ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe <at> gmail.com>
>>  ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius <at> gnu.org>
>> -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>> +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>>  ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
>>  ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
>>  ;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
>> @@ -164,16 +164,15 @@ (define (qemu-patch commit file-name sha256-bv)
>>  (define-public qemu
>>    (package
>>      (name "qemu")
>> -    (version "7.2.4")
>> +    (version "8.1.0")
>
> I did not test this patch yet, but there is a typo on the commit
> message since you are actually upgrading to 8.1.0 _from_ 7.2.4.

Oh indeed!  I've fixed it in my local branch, thanks!

-- 
Thanks,
Maxim




Changed bug title to '[PATCH] gnu: qemu: Update to 8.1.0.' from '[PATCH 1/3] gnu: qemu: Update to 7.2.4.' Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 01 Sep 2023 14:28:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#65645; Package guix-patches. (Sat, 02 Sep 2023 19:05:02 GMT) Full text and rfc822 format available.

Message #16 received at 65645 <at> debbugs.gnu.org (full text, mbox):

From: Kaelyn <kaelyn.alexi <at> protonmail.com>
To: "65645 <at> debbugs.gnu.org" <65645 <at> debbugs.gnu.org>
Subject: [PATCH] gnu: qemu: Update to 8.1.0.
Date: Sat, 02 Sep 2023 19:03:44 +0000
Hi,

Thank you for the qemu update, Maxim! I'd recently tried to update qemu myself after seeing that 8.1 had been released, but got stuck after making maybe half of the package changes that were needed (not counting the revised patch to skip tests).

I have built qemu 8.1.0 locally and successfully tested it with an x86-64 VM I have available. I've also looked through the diff of the patch, and it seems pretty reasonable to me.

Cheers,
Kaelyn




Information forwarded to guix-patches <at> gnu.org:
bug#65645; Package guix-patches. (Wed, 06 Sep 2023 04:01:02 GMT) Full text and rfc822 format available.

Message #19 received at 65645 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Kaelyn <kaelyn.alexi <at> protonmail.com>
Cc: "65645-done <at> debbugs.gnu.org" <65645 <at> debbugs.gnu.org>
Subject: Re: bug#65645: [PATCH] gnu: qemu: Update to 8.1.0.
Date: Wed, 06 Sep 2023 00:00:45 -0400
Hello,

Kaelyn <kaelyn.alexi <at> protonmail.com> writes:

> Hi,
>
> Thank you for the qemu update, Maxim! I'd recently tried to update
> qemu myself after seeing that 8.1 had been released, but got stuck
> after making maybe half of the package changes that were needed (not
> counting the revised patch to skip tests).
>
> I have built qemu 8.1.0 locally and successfully tested it with an
> x86-64 VM I have available. I've also looked through the diff of the
> patch, and it seems pretty reasonable to me.

Great, I've installed the change.

-- 
Thanks,
Maxim




bug closed, send any further explanations to 65645 <at> debbugs.gnu.org and Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 11 Sep 2023 04:29:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 09 Oct 2023 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 214 days ago.

Previous Next


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