Dario Faggioli
5a11d17157
- Substantial rework of the spec file: * the 'make check' testsuite now runs in the %check section of the main package, not in a subpackage * switched from %setup to %autosetup * rearranged the content in order to minimize the use of %if, %ifarch, etc - Some tests are having issues when run in OBS. They seem to be due to race conditions, triggered by resource constraints on the OBS workers. Let's disable them for now, while we investigate and try to fix them. * Patches added: Disable-some-tests-that-have-problems-in.patch - Revert an upstream commit that add some qtests that are problematic for GCC12+LTO * Patches added: Revert-8dcb404bff6d9147765d7dd3e9c849337.patch - _multibuild: disable the build of qemu-testsuite. We are going to run 'make check' as part of the %check phase of the main (qemu) package, so we do not need a dedicated build any longer. - Get rid of downstream patches breaking s390 modules. Replace them with the upstream proposed and Acked (but never committed) solution (bsc#1199015) * Patches added: modules-generates-per-target-modinfo.patch modules-introduces-module_kconfig-direct.patch * Patches dropped: Fix-the-module-building-problem-for-s390.patch modules-quick-fix-a-fundamental-error-in.patch - backport patches for having coroutine work well when LTO is used * Patches added: coroutine-ucontext-use-QEMU_DEFINE_STATI.patch coroutine-use-QEMU_DEFINE_STATIC_CO_TLS.patch coroutine-win32-use-QEMU_DEFINE_STATIC_C.patch - seabios: drop patch that changes python in python2. Just go to python3 directly. * Patches dropped: seabios-use-python2-explicitly-as-needed.patch - Make temp dir (for update_git.sh) configurable - Added new subpackages (audio-dbus, ui-dbus) - Update to v7.0.0. For full release notese, see: * https://wiki.qemu.org/ChangeLog/7.0 Be sure to also check the following pages: * https://qemu-project.gitlab.io/qemu/about/removed-features.html * https://qemu-project.gitlab.io/qemu/about/deprecated.html Some notable changes: * [ARM] The virt board has gained a new control knob to disable passing a RNG seed in the DTB (dtb-kaslr-seed) * [ARM] The AST2600 SoC now supports a dummy version of the i3c device * [ARM] The virt board can now run guests with KVM on hosts with restricted IPA ranges * [ARM] The virt board now supports virtio-mem-pci * [ARM] The virt board now supports specifying the guest CPU topology * [ARM] On the virt board, we now enable PAuth when using KVM or hvf and the host CPU supports it * [RISC-V] Add support for ratified 1.0 Vector extension * [RISC-V] Support for the Zve64f and Zve32f extensions * [RISC-V] Drop support for draft 0.7.1 Vector extension * [RISC-V] Support Zfhmin and Zfh extensions * [RISC-V] RISC-V KVM support * [RISC-V] Mark Hypervisor extension as non experimental * [RISC-V] Enable Hypervisor extension by default * [x86] Support for Intel AMX. * [PCI/PCIe] Q35: fix PCIe device becoming disabled after migration when ACPI based PCI hotplug is used (6b0969f1ec) * [PCI/PCIe] initial bits of SR/IOV support (250346169) * [PCI/PCIe] arm/virt: fixed PXB interrupt routing (e609301b45) * [PCI/PCIe] arm/virt: support for virtio-mem-pci (b1b87327a9) * [virtiofs] Fix for CVE-2022-0358 - behaviour with supplementary groups and SGID directories * [virtiofs] Improved security label support * [virtiofs] The virtiofsd in qemu is now starting to be deprecated; please start using and contributing to Rust virtiofsd * Patches Added: intc-exynos4210_gic-replace-snprintf-wit.patch * Patches dropped: Python-aqmp-fix-type-definitions-for-myp.patch acpi-validate-hotplug-selector-on-access.patch block-backend-Retain-permissions-after-m.patch brotli-fix-actual-variable-array-paramet.patch doc-Add-the-SGX-numa-description.patch hw-i386-amd_iommu-Fix-maybe-uninitialize.patch hw-intc-exynos4210_gic-provide-more-room.patch hw-nvme-fix-CVE-2021-3929.patch hw-nvram-at24-return-0xff-if-1-byte-addr.patch iotest-065-explicit-compression-type.patch iotest-214-explicit-compression-type.patch iotest-302-use-img_info_log-helper.patch iotest-303-explicit-compression-type.patch iotest-39-use-_qcow2_dump_header.patch iotests-60-more-accurate-set-dirty-bit-i.patch iotests-MRCE-Write-data-to-source.patch iotests-bash-tests-filter-compression-ty.patch iotests-common.rc-introduce-_qcow2_dump_.patch iotests-declare-lack-of-support-for-comp.patch iotests-drop-qemu_img_verbose-helper.patch iotests-massive-use-_qcow2_dump_header.patch iotests-specify-some-unsupported_imgopts.patch iotests.py-filter-out-successful-output-.patch iotests.py-img_info_log-rename-imgopts-a.patch iotests.py-implement-unsupported_imgopts.patch iotests.py-qemu_img-create-support-IMGOP.patch iotests.py-rewrite-default-luks-support-.patch meson-build-all-modules-by-default.patch numa-Enable-numa-for-SGX-EPC-sections.patch numa-Support-SGX-numa-in-the-monitor-and.patch python-aqmp-Fix-negotiation-with-pre-oob.patch python-aqmp-add-SocketAddrT-to-package-r.patch python-aqmp-add-__del__-method-to-legacy.patch python-aqmp-add-_session_guard.patch python-aqmp-add-socket-bind-step-to-lega.patch python-aqmp-add-start_server-and-accept-.patch python-aqmp-copy-type-definitions-from-q.patch python-aqmp-drop-_bind_hack.patch python-aqmp-fix-docstring-typo.patch python-aqmp-fix-race-condition-in-legacy.patch python-aqmp-handle-asyncio.TimeoutError-.patch python-aqmp-refactor-_do_accept-into-two.patch python-aqmp-remove-_new_session-and-_est.patch python-aqmp-rename-AQMPError-to-QMPError.patch python-aqmp-rename-accept-to-start_serve.patch python-aqmp-split-_client_connected_cb-o.patch python-aqmp-squelch-pylint-warning-for-t.patch python-aqmp-stop-the-server-during-disco.patch python-introduce-qmp-shell-wrap-convenie.patch python-machine-raise-VMLaunchFailure-exc.patch python-move-qmp-shell-under-the-AQMP-pac.patch python-move-qmp-utilities-to-python-qemu.patch python-qmp-switch-qmp-shell-to-AQMP.patch python-support-recording-QMP-session-to-.patch python-upgrade-mypy-to-0.780.patch qcow2-simple-case-support-for-downgradin.patch qemu-binfmt-conf.sh-should-use-F-as-shor.patch tests-qemu-iotests-040-Skip-TestCommitWi.patch tests-qemu-iotests-Fix-051-for-binaries-.patch tests-qemu-iotests-testrunner-Quote-case.patch tools-virtiofsd-Add-rseq-syscall-to-the-.patch virtiofsd-Drop-membership-of-all-supplem.patch block-qdict-Fix-Werror-maybe-uninitializ.patch OBS-URL: https://build.opensuse.org/request/show/979381 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=717 |
||
---|---|---|
_constraints | ||
_multibuild | ||
.gitattributes | ||
.gitignore | ||
50-seabios-256k.json | ||
60-seabios-128k.json | ||
80-kvm.rules | ||
80-qemu-ga.rules | ||
acpi_piix4-Fix-migration-from-SLE11-SP2.patch | ||
AIO-Reduce-number-of-threads-for-32bit-h.patch | ||
ath5k-Add-missing-AR5K_EEPROM_READ-in-at.patch | ||
bridge.conf | ||
build-be-explicit-about-mx86-used-note-n.patch | ||
bundles.tar.xz | ||
config.sh | ||
configure-only-populate-roms-if-softmmu.patch | ||
configure-remove-pkgversion-from-CONFIG_.patch | ||
coroutine-ucontext-use-QEMU_DEFINE_STATI.patch | ||
coroutine-use-QEMU_DEFINE_STATIC_CO_TLS.patch | ||
coroutine-win32-use-QEMU_DEFINE_STATIC_C.patch | ||
Disable-some-tests-that-have-problems-in.patch | ||
doc-add-our-support-doc-to-the-main-proj.patch | ||
DSDT.pcie | ||
enable-cross-compilation-on-ARM.patch | ||
help-compiler-out-by-initializing-array.patch | ||
hw-scsi-megasas-check-for-NULL-frame-in-.patch | ||
hw-smbios-handle-both-file-formats-regar.patch | ||
i8254-Fix-migration-from-SLE11-SP2.patch | ||
Ignore-spurious-GCC-12-warning.patch | ||
increase-x86_64-physical-bits-to-42.patch | ||
intc-exynos4210_gic-replace-snprintf-wit.patch | ||
ipxe-Makefile-fix-issues-of-build-reprod.patch | ||
ksm.service | ||
kvm.conf | ||
linux-user-add-binfmt-wrapper-for-argv-0.patch | ||
linux-user-binfmt-support-host-binaries.patch | ||
linux-user-Fake-proc-cpuinfo.patch | ||
linux-user-lseek-explicitly-cast-non-set.patch | ||
linux-user-use-target_ulong.patch | ||
Make-char-muxer-more-robust-wrt-small-FI.patch | ||
Make-installed-scripts-explicitly-python.patch | ||
Makefile-define-endianess-for-cross-buil.patch | ||
Makefile-Don-t-check-pc-bios-as-pre-requ.patch | ||
Makefile-fix-build-with-binutils-2.38.patch | ||
meson-install-ivshmem-client-and-ivshmem.patch | ||
modules-generates-per-target-modinfo.patch | ||
modules-introduces-module_kconfig-direct.patch | ||
pc-bios-s390-ccw-net-avoid-warning-about.patch | ||
pkg-split.txt | ||
PPC-KVM-Disable-mmu-notifier-check.patch | ||
qboot-add-cross.ini-file-to-handle-aarch.patch | ||
qemu-7.0.0.tar.xz | ||
qemu-7.0.0.tar.xz.sig | ||
qemu-binfmt-conf-Modify-default-path.patch | ||
qemu-bridge-helper-reduce-security-profi.patch | ||
qemu-cvs-gettimeofday.patch | ||
qemu-cvs-ioctl_debug.patch | ||
qemu-cvs-ioctl_nodirection.patch | ||
qemu-guest-agent.service | ||
qemu-ifup | ||
qemu-kvm.1.gz | ||
qemu-rpmlintrc | ||
qemu-supportconfig | ||
qemu.changes | ||
qemu.keyring | ||
qemu.spec | ||
qemu.spec.in | ||
qht-Revert-some-constification-in-qht.c.patch | ||
qom-handle-case-of-chardev-spice-module-.patch | ||
Raise-soft-address-space-limit-to-hard-l.patch | ||
README.PACKAGING | ||
Revert-8dcb404bff6d9147765d7dd3e9c849337.patch | ||
Revert-qht-constify-qht_statistics_init.patch | ||
Revert-roms-efirom-tests-uefi-test-tools.patch | ||
roms-change-cross-compiler-naming-to-be-.patch | ||
roms-Makefile-add-cross-file-to-qboot-me.patch | ||
roms-Makefile-pass-a-packaging-timestamp.patch | ||
roms-sgabios-Fix-csum8-to-be-built-by-ho.patch | ||
scsi-generic-check-for-additional-SG_IO-.patch | ||
scsi-generic-replace-logical-block-count.patch | ||
seabios-switch-to-python3-as-needed.patch | ||
sgabios-Makefile-fix-issues-of-build-rep.patch | ||
Silence-GCC-12-spurious-warnings.patch | ||
stub-out-the-SAN-req-s-in-int13.patch | ||
supported.arm.txt | ||
supported.ppc.txt | ||
supported.s390.txt | ||
supported.x86.txt | ||
test-add-mapping-from-arch-of-i686-to-qe.patch | ||
tests-change-error-message-in-test-162.patch | ||
tests-Fix-block-tests-to-be-compatible-w.patch | ||
tests-qemu-iotests-Triple-timeout-of-i-o.patch | ||
update_git.sh | ||
usb-Help-compiler-out-to-avoid-a-warning.patch | ||
xen_disk-Add-suse-specific-flush-disable.patch | ||
xen-add-block-resize-support-for-xen-dis.patch | ||
xen-ignore-live-parameter-from-xen-save-.patch | ||
XXX-dont-dump-core-on-sigabort.patch |
The qemu package includes a special maintenance workflow in order to support git based patching, including of submodules. Please use it in order to have changes you make be acceptable to the package maintainers. A bash script (update_git.sh) implements this workflow. A local clone of the upstream repo(s) is required for the packaging workflow. If none is found, the qemu superproject will be cloned as a shallow repo for the workflow script's use. If you intend to do more than superficial work in the qemu package, unshallow it. The submodule local repos aren't needed unless you intend to do patch work there. See config.sh for the local repo paths. The qemu.spec file is generated from a template file (qemu.spec.in), so to make spec file changes outside of the patch file references (handled by the script), you need to edit the template file, and NOT the qemu.spec file. The spec file's version and patch references are added when update_git.sh is passed certain commands, as described below. If you are not modifying any patches or their order, but just need to update the spec file from a changed template, run 'bash ./update_git.sh refresh'. If the set of patches is being modified, including their order, you will want to first run 'bash ./update_git.sh pkg2git', which makes the current package patch set available in a local git branch named 'frombundle' (see config.sh for the locations). This incarnation of the package patches comes from a "bundle of git bundles", included as a package source file named bundles.tar.xz, which the script extracts to the corresponding local frombundle branch. To add, remove or modify the package patches, you will then do that work in a local branch whose name corresponds to that qemu package's release version as follows: The qemu major and minor release numbers are part of the name, prefixed by 'opensuse-', so, for example, for the v5.2.0 based SLE-15-SP3 qemu, the branch would be named 'opensuse-5.2'. You want to start your work based on the current patchqueue as contained in 'frombundle', so one approach is to do (depending on your local repo's current state), 'git checkout -f --recurse-submodules -B opensuse-5.2 frombundle', and then cherry-pick upstream patches into it, or interactive rebase it to modify or delete patches, etc. Be careful to keep the branch based on the upstream tag which represents the package tarball however! Once you have the patch queue ready to go, simply run 'bash ./update_git.sh git2pkg' (in your local obs branch directory) to refresh the bundles.tar.xz file, as well as the package spec and patch files. The package qemu.changes file is modified to list added or removed patches as a starting point for documenting the change. When you are ready to check in the package, using 'bash update_git.sh ci' is provided as a convenience (and to help preserve correct spec file formatting, since a 'normal osc check-in' messes up the spec file a bit). Additional Notes: The maintainer and automation use another workflow mode dealing with packaging the latest upstream qemu. See 'LATEST' references in the scripts for details, as this is an 'expert mode' and isn't documented here. Patches which are from an upstream git repo should have the commit id recorded just below the Subject line (after a blank line) as follows: Git-commit: <40-char-sha-id> If a patch is anticipated to be shortly included in upstream repo, mark that fact by doing the above with 40 0's, which will flag it as needing to be updated in the near future. We try to maintain, if possible, patch ordering as follows: (tarball as base), patches which come from upstream commits in commit order, patches which will soon be upstream (as mentioned above), followed by our private patches. Bug or feature tracking identifiers should also be added to the patch similarly, using the abbreviations identified here: http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines#Current_set_of_abbreviations using the "Reference:" tag, with multiple entries comma separated. The ability to provide a conditional inclusion of a patch (eg based on architecture, is provided by this workflow by using the "Include-If:" tag, as shown here: Include-If: %ifarch aarch64 This will cause the patch application in the spec file to be done as follows: %ifarch aarch64 %patch0013 -p1 %endif A trick worth noting is, if a given git tracked patch is to be applied in a way that can't be done in the normal patching section of the spec file, you can still include the patch, and use it by name with the patch program elsewhere in the spec file by doing something such as: Include-If: %if 0%{?patch-possibly-applied-elsewhere} (this variable will remain undefined in the spec file) And then elsewhere in the spec file, the actual patch (eg specially-handled-change.patch) is referenced as eg: patch -p1 < %_sourcedir/specially-handled-change.patch