~ruther/guix-local

d891d7897001d1dbfe4ec93c6f72fc4f51fb0627 — Maxim Cournoyer 2 years ago 2c45724
gnu: qemu: Update to 8.2.2.

* gnu/packages/virtualization.scm (qemu): Update to 8.2.2.
[source]: Adjust snippet.
[arguments] <phases>: Patch tests sources with native /bin/sh.  Also patch
/bin/sh references in migration/migration.c, util/envlist.c files.
* gnu/packages/patches/qemu-disable-some-qtests-tests.patch: Delete file.
* gnu/packages/patches/qemu-disable-bios-tables-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.

Change-Id: Ia44017e4d567ede1995ae707ed6acbb1ec5194fe
M gnu/local.mk => gnu/local.mk +1 -1
@@ 1946,7 1946,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-some-qtests-tests.patch	\
  %D%/packages/patches/qemu-disable-bios-tables-test.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 		\

R gnu/packages/patches/qemu-disable-some-qtests-tests.patch => gnu/packages/patches/qemu-disable-bios-tables-test.patch +12 -24
@@ 1,20 1,18 @@
Disable the qtest-aarch64/migration-test, which sometimes fail
non-deterministically (see:
https://gitlab.com/qemu-project/qemu/-/issues/1230).
The bios-tables-test may fail; disable it (see: https://gitlab.com/qemu-project/qemu/-/issues/1098)

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 @@
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index f096cf3ecd..82f6e1ffeb 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -1,7 +1,6 @@
 slow_qtests = {
   'ahci-test' : 60,
   'aspeed_smc-test': 360,
-  'bios-tables-test' : 120,
   'boot-serial-test' : 60,
   'migration-test' : 150,
   'npcm7xx_pwm-test': 150,
@@ -81,9 +80,6 @@
@@ -82,9 +81,6 @@ qtests_i386 = \
    config_all_devices.has_key('CONFIG_Q35') and                                             \
    config_all_devices.has_key('CONFIG_VIRTIO_PCI') and                                      \
    slirp.found() ? ['virtio-net-failover'] : []) +                                          \


@@ 24,27 22,17 @@ https://gitlab.com/qemu-project/qemu/-/issues/1098).
   qtests_pci +                                                                              \
   qtests_cxl +                                                                              \
   ['fdc-test',
@@ -212,7 +208,6 @@

@@ -213,7 +209,6 @@ qtests_arm = \
 
 # 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 @@
@@ -304,7 +299,6 @@ if gnutls.found()
 endif

 
 qtests = {
-  'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
   'cdrom-test': files('boot-sector.c'),

M gnu/packages/virtualization.scm => gnu/packages/virtualization.scm +15 -7
@@ 169,16 169,16 @@
(define-public qemu
  (package
    (name "qemu")
    (version "8.1.3")
    (version "8.2.2")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://download.qemu.org/qemu-"
                           version ".tar.xz"))
       (sha256
        (base32 "1fv5wbxpjxqzv10bdlq0ykgqfmzqx4s8yfch9zvqcm8h0il1gk23"))
        (base32 "1wy45fbf4816l4ylsz8b8cbypva9apcdnvlgqfr586icp30lcww4"))
       (patches (search-patches "qemu-build-info-manual.patch"
                                "qemu-disable-some-qtests-tests.patch"
                                "qemu-disable-bios-tables-test.patch"
                                "qemu-fix-agent-paths.patch"))
       (modules '((guix build utils)))
       (snippet


@@ 197,7 197,7 @@
             (for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
           ;; Delete bundled code that we provide externally.
           (for-each delete-file-recursively
                     '("subprojects/dtc"
                     '("roms/u-boot/scripts/dtc"
                       "roms/ipxe"
                       "roms/openbios"
                       "roms/opensbi"


@@ 322,10 322,18 @@
            (lambda* (#:key native-inputs inputs #:allow-other-keys)
              ;; Ensure the executables created by these source files reference
              ;; /bin/sh from the store so they work inside the build container.
              (substitute* '("block/cloop.c" "migration/exec.c"
                             "net/tap.c" "tests/qtest/libqtest.c"
              (substitute* '("block/cloop.c"
                             "migration/exec.c"
                             "migration/migration.c"
                             "net/tap.c"
                             "util/envlist.c")
                (("/bin/sh")
                 (search-input-file inputs "/bin/sh")))
              ;; For tests, use the native /bin/sh is available.
              (substitute* '("tests/qtest/libqtest.c"
                             "tests/qtest/vhost-user-blk-test.c")
                (("/bin/sh") (search-input-file inputs "/bin/sh")))
                (("/bin/sh")
                 (search-input-file (or native-inputs inputs) "/bin/sh")))
              (substitute* "tests/qemu-iotests/testenv.py"
                (("#!/usr/bin/env python3")
                 (string-append "#!" (search-input-file (or native-inputs inputs)