fc6feafd4e
- Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2 Take note that ongoing feature deprecation is tracked at both http://wiki.qemu-project.org/Features/LegacyRemoval and in the deprecated.html file installed with the qemu package Some noteworthy changes: * Dropped system emulators: qemu-system-lm32, qemu-system-unicore32 * Dropped linux user emulator: qemu-ppc64abi32 * Added linux user emulator: qemu-extensaeb * Unicore32 and lm32 guest support dropped * New sub-packages (most due to ongoing modularization of QEMU): qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga, qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci, qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools * x86: A new KVM feature which improves the handling of asynchronous page faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8) * s390: More instructions emulated under TCG * PowerPC: nvdimm= machine option now functions correctly; misc improvements * ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based), raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+) * RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used when no -bios argument is supplied; Support for NUMA sockets on Virt and Spike Machines; Support for migrating machines; misc improvements * Misc NVMe improvements * The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend * The SMBIOS OEM strings can now come from a file * 9pfs - misc performance related improvements * virtiofs - misc improvements * migration: The default migration bandwidth has been increased to 1Gbps (users are still encouraged to tune it to their own hardware); The new 'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine the likelihood of precopy migration success; TLS+multifd now supported for higher bandwidth encrypted migration; misc minor features added * Misc minor block features added * Misc doc improvements * qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based, and the qboot based on is now qboot.rom * elf2dmp is no longer part of qemu-tools (it was never intended to be a packaged binary) * Some subpackages which were 'Requires' are now 'Recommends', allowing for a smaller qemu packaging footprint if needed * Patches dropped (included in release tarball, unless otherwise noted): docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently) hw-hyperv-vmbus-Fix-32bit-compilation.patch linux-user-properly-test-for-infinite-ti.patch Switch-order-of-libraries-for-mpath-supp.patch (fixed differently) Conditionalize-ui-bitmap-installation-be.patch (fixed differently) hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9) hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9) roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch) libvhost-user-handle-endianness-as-manda.patch virtio-add-vhost-user-fs-ccw-device.patch Fix-s-directive-argument-is-null-error.patch build-Workaround-compilation-error-with-.patch build-Be-explicit-about-fcommon-compiler.patch intel-Avoid-spurious-compiler-warning-on.patch golan-Add-explicit-type-casts-for-nodnic.patch Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch ensure-headers-included-are-compatible-w.patch Enable-cross-compile-prefix-for-C-compil.patch (fixed differently) hw-net-net_tx_pkt-fix-assertion-failure-.patch hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch s390x-protvirt-allow-to-IPL-secure-guest.patch usb-fix-setup_len-init-CVE-2020-14364.patch * Patches added: meson-install-ivshmem-client-and-ivshmem.patch Revert-roms-efirom-tests-uefi-test-tools.patch Makefile-Don-t-check-pc-bios-as-pre-requ.patch roms-Makefile-add-cross-file-to-qboot-me.patch qboot-add-cross.ini-file-to-handle-aarch.patch usb-Help-compiler-out-to-avoid-a-warning.patch - In spec file, where reasonable, switch BuildRequires: XXX-devel to be pkgconfig(XXX') instead - No longer disable link time optimization for qemu for x86. It looks like either the build service, qemu code changes and/or the switch to meson have resolved issues previously seen there. We still see problems for other architectures however. - For the record, the following issues reported for SUSE SLE15-SP2 are either fixed in this current package, or are otherwise no longer an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370 bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863 CVE-2020-16092 CVE-2020-24352 and the following feature requests are satisfied by this package: jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840 - To be more accurate, and to align with other qemu packaging practices, rename the qemu-s390 package to qemu-s390x. The old name (in the rpm namespace) is provided with a "Provides" directive, and an "Obsoletes" done against that name for prior qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060) - Take this opportunity to remove some ancient Split-Provides mechanisms which can't conceivably be needed any more: qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so qemu-guest-agent provided: qemu:%_bindir/qemu-ga qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper - Disable linux-user 'ls' test on 32 bit arm. It's failing with "Allocating guest commpage: Cannot allocate memory" error, which we should hunt down, but for now we don't want it to prevent the package from being built OBS-URL: https://build.opensuse.org/request/show/854151 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=597 |
||
---|---|---|
_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 | ||
bridge.conf | ||
bundles.tar.xz | ||
config.sh | ||
configure-only-populate-roms-if-softmmu.patch | ||
configure-remove-pkgversion-from-CONFIG_.patch | ||
docs-add-SUSE-support-statements-to-html.patch | ||
enable-cross-compilation-on-ARM.patch | ||
help-compiler-out-by-initializing-array.patch | ||
hw-intc-exynos4210_gic-provide-more-room.patch | ||
hw-smbios-handle-both-file-formats-regar.patch | ||
i8254-Fix-migration-from-SLE11-SP2.patch | ||
increase-x86_64-physical-bits-to-42.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 | ||
Make-keycode-gen-output-reproducible-use.patch | ||
Makefile-Don-t-check-pc-bios-as-pre-requ.patch | ||
meson-install-ivshmem-client-and-ivshmem.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-5.2.0.tar.xz | ||
qemu-5.2.0.tar.xz.sig | ||
qemu-binfmt-conf-Modify-default-path.patch | ||
qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch | ||
qemu-bridge-helper-reduce-security-profi.patch | ||
qemu-cvs-gettimeofday.patch | ||
qemu-cvs-ioctl_debug.patch | ||
qemu-cvs-ioctl_nodirection.patch | ||
qemu-ga@.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 | ||
Raise-soft-address-space-limit-to-hard-l.patch | ||
README.PACKAGING | ||
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 | ||
s390x-Fix-stringop-truncation-issue-repo.patch | ||
seabios-switch-to-python3-as-needed.patch | ||
seabios-use-python2-explicitly-as-needed.patch | ||
sgabios-Makefile-fix-issues-of-build-rep.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. Please use it in order to have changes you make be acceptable to the package maintainers. Currently a local clone of the upstream repo(s) is required for the packaging workflow. It is anticipated that the need for any extra setup will be reduced or even eliminated entirely in the future, but for now, you will need do so some setup. See config.sh for details. The qemu.spec file is generated from a qemu.spec.in template, so to make changes to the spec file beyond the patch name generation, patch reference and automated versioning done by the scripts, you need to edit the template. Do not directly edit the spec file. The spec file's version and patch references are added when the update_git.sh script 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 queue available in a local git branch named frombundle (see config.sh for the locations). This set of patches comes from a "bundle of git bundles", the bundles.tar.xz file, which is included as a package source file. You will then create an altered patch queue in the branch which corresponds to this release (eg: opensuse-5.0), using the frombundle branch as the starting point for your changes (eg perhaps start by doing git reset --hard frombundle, then cherry-pick upstream patches from there). Once you have the patch queue ready to go run 'bash ./update_git.sh git2pkg' which updates the bundles.tar.xz file, as well as the spec and patch files. The default action for update_git.sh is git2pkg, which helps simplify repeated package updates as you modify the patch queue from the local git repo. The maintainer and automation use another workflow mode dealing with packaging the latest upstream qemu. See 'LATEST' references in the scripts for details. * * * * * * * * * Additional Notes: 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. 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 using the "Include-If:" tag similarly, as follows: 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