From d891d7897001d1dbfe4ec93c6f72fc4f51fb0627 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 17 Mar 2024 23:25:11 -0400 Subject: gnu: qemu: Update to 8.2.2. * gnu/packages/virtualization.scm (qemu): Update to 8.2.2. [source]: Adjust snippet. [arguments] : 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 --- gnu/local.mk | 2 +- .../patches/qemu-disable-bios-tables-test.patch | 40 +++++++++++++++++ .../patches/qemu-disable-some-qtests-tests.patch | 52 ---------------------- gnu/packages/virtualization.scm | 22 ++++++--- 4 files changed, 56 insertions(+), 60 deletions(-) create mode 100644 gnu/packages/patches/qemu-disable-bios-tables-test.patch delete mode 100644 gnu/packages/patches/qemu-disable-some-qtests-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index d57341f8bf..7f1006010b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/patches/qemu-disable-bios-tables-test.patch b/gnu/packages/patches/qemu-disable-bios-tables-test.patch new file mode 100644 index 0000000000..39b7b0b53c --- /dev/null +++ b/gnu/packages/patches/qemu-disable-bios-tables-test.patch @@ -0,0 +1,40 @@ +The bios-tables-test may fail; disable it (see: https://gitlab.com/qemu-project/qemu/-/issues/1098) + +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, +@@ -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'] : []) + \ +- (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', +@@ -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'] : []) + \ +@@ -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'), + 'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1, + 'erst-test': files('erst-test.c'), diff --git a/gnu/packages/patches/qemu-disable-some-qtests-tests.patch b/gnu/packages/patches/qemu-disable-some-qtests-tests.patch deleted file mode 100644 index f60698de8f..0000000000 --- a/gnu/packages/patches/qemu-disable-some-qtests-tests.patch +++ /dev/null @@ -1,52 +0,0 @@ -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 295649237c..f1d40df1f1 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -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) -- cgit v1.2.3