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
This commit is contained in:
Maxim Cournoyer 2024-03-17 23:25:11 -04:00
parent 2c4572448e
commit d891d78970
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 28 additions and 32 deletions

View file

@ -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 \

View file

@ -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'),

View file

@ -169,16 +169,16 @@ (define (qemu-patch commit file-name sha256-bv)
(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 @@ (define-public qemu
(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 @@ (define-public qemu
(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)