From 2c8c706b6f4d808bca435fca87eb16472f78759822a59d651f9778141cd47515 Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Fri, 25 Mar 2022 18:55:22 +0000 Subject: [PATCH] Accepting request 964930 from home:dfaggioli:devel:Virtualization - Kill downstream patches around bifmt handling that makes cumbersome to run multi-arch containers, and switch to the upstream behavior, which is well documented and valid on all other distros. This is possible thanks to Linux kernel commit 2347961b11d4 and QEMU commit 6e1c0d7b951e19c53 (so it can only work on Leap/SLE 15.4 and higher). (bsc#1197298) * Patches dropped: qemu-binfmt-conf.sh-allow-overriding-SUS.patch qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch OBS-URL: https://build.opensuse.org/request/show/964930 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=700 --- bundles.tar.xz | 4 +- qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch | 38 ----- ...-binfmt-conf.sh-allow-overriding-SUS.patch | 65 --------- ...-binfmt-conf.sh-should-use-F-as-shor.patch | 2 +- qemu.changes | 15 +- qemu.spec | 138 +++++++++--------- 6 files changed, 84 insertions(+), 178 deletions(-) delete mode 100644 qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch delete mode 100644 qemu-binfmt-conf.sh-allow-overriding-SUS.patch diff --git a/bundles.tar.xz b/bundles.tar.xz index e1729be4..422d57bb 100644 --- a/bundles.tar.xz +++ b/bundles.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f4a8d7f2f09d3aa230e21e5c02290085428420b66c277a96e8db820e6246566 -size 88892 +oid sha256:4f5bc361cd694767bf6cac686610b0df8d6f39fc7463ba8fe614c3eeb8e0d565 +size 87984 diff --git a/qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch b/qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch deleted file mode 100644 index bf751d43..00000000 --- a/qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Andreas Schwab -Date: Fri, 12 Aug 2016 18:20:49 +0200 -Subject: qemu-binfmt-conf: use qemu-ARCH-binfmt -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Andreas Schwab -Signed-off-by: Andreas Färber ---- - scripts/qemu-binfmt-conf.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh -index cb06245a834f9e8f2bb0464a25ce..c46e604fa6ef3faaecccaae835ba 100755 ---- a/scripts/qemu-binfmt-conf.sh -+++ b/scripts/qemu-binfmt-conf.sh -@@ -275,7 +275,7 @@ qemu_generate_register() { - flags="${flags}P" - fi - -- echo ":qemu-$cpu:M::$magic:$mask:$qemu:$flags" -+ echo ":qemu-$cpu:M::$magic:$mask:$qemu:P$flags" - } - - qemu_register_interpreter() { -@@ -316,9 +316,9 @@ qemu_set_binfmts() { - continue - fi - -- qemu="$QEMU_PATH/qemu-$cpu" -+ qemu="$QEMU_PATH/qemu-$cpu-binfmt" - if [ "$cpu" = "i486" ] ; then -- qemu="$QEMU_PATH/qemu-i386" -+ qemu="$QEMU_PATH/qemu-i386-binfmt" - fi - - qemu="$qemu$QEMU_SUFFIX" diff --git a/qemu-binfmt-conf.sh-allow-overriding-SUS.patch b/qemu-binfmt-conf.sh-allow-overriding-SUS.patch deleted file mode 100644 index 81d4aae7..00000000 --- a/qemu-binfmt-conf.sh-allow-overriding-SUS.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: Martin Wilck -Date: Wed, 19 May 2021 17:24:45 +0200 -Subject: qemu-binfmt-conf.sh: allow overriding SUSE-specific argv[0] handling - -Git-commit: 0000000000000000000000000000000000000000 -References: bsc#1186256 - -Since abbc0ce ("qemu-binfmt-conf: use qemu-ARCH-binfmt"), -qemu-binfmt-conf.sh automatically replaces the default qemu binfmt wrapper -qemu-$ARCH with qemu-$ARCH-binfmt in order to ensure that argv[0] is -preserved; qemu-$ARCH-binfmt is a link to qemu-binfmt, which is just a -simple wrapper that mangles argv to achieve the desired result. - -This is inconvenient in some situations. In particular for running -foreign-arch containers, it's useful to use the binfmt_misc "F" ("fix -binary") flag to pre-load the qemu wrapper in the kernel. That way, -foreign-arch containers can be run just like native containers, without -having to bind-mount interpreters into the container. But that's impossible -with the SUSE binfmt wrapper that needs to exec() a different (native) -executable. - -As the qemu-binfmt-conf script supports the --qemu-suffix option anyway, -use it to set the "-binfmt" suffix, thus allowing admins to override the -SUSE default with the option "--qemu-suffix ''". - -Signed-off-by: Martin Wilck -Acked-by: Jose R Ziviani -Signed-off-by: Dario Faggioli ---- - scripts/qemu-binfmt-conf.sh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh -index a73232edfd7f9dedb3a7c32218fb..93e2c7c83fded06c598b8e844464 100755 ---- a/scripts/qemu-binfmt-conf.sh -+++ b/scripts/qemu-binfmt-conf.sh -@@ -185,6 +185,7 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU] - --help: display this usage - --qemu-path: set path to qemu interpreter ($QEMU_PATH) - --qemu-suffix: add a suffix to the default interpreter name -+ (default: "-binfmt") - --debian: don't write into /proc, - instead generate update-binfmts templates - --systemd: don't write into /proc, -@@ -316,9 +317,9 @@ qemu_set_binfmts() { - continue - fi - -- qemu="$QEMU_PATH/qemu-$cpu-binfmt" -+ qemu="$QEMU_PATH/qemu-$cpu" - if [ "$cpu" = "i486" ] ; then -- qemu="$QEMU_PATH/qemu-i386-binfmt" -+ qemu="$QEMU_PATH/qemu-i386" - fi - - qemu="$qemu$QEMU_SUFFIX" -@@ -338,7 +339,7 @@ QEMU_PATH=/usr/bin - CREDENTIAL=no - PERSISTENT=no - PRESERVE_ARG0=no --QEMU_SUFFIX="" -+QEMU_SUFFIX="-binfmt" - - options=$(getopt -o ds:Q:S:e:hc:p:g:F: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent:,preserve-argv0: -- "$@") - eval set -- "$options" diff --git a/qemu-binfmt-conf.sh-should-use-F-as-shor.patch b/qemu-binfmt-conf.sh-should-use-F-as-shor.patch index be4c8200..c9aee1cd 100644 --- a/qemu-binfmt-conf.sh-should-use-F-as-shor.patch +++ b/qemu-binfmt-conf.sh-should-use-F-as-shor.patch @@ -13,7 +13,7 @@ Signed-off-by: Martin Wilck 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh -index c46e604fa6ef3faaecccaae835ba..a73232edfd7f9dedb3a7c32218fb 100755 +index cb06245a834f9e8f2bb0464a25ce..53be2ba047fa3fba9d9b61030ab3 100755 --- a/scripts/qemu-binfmt-conf.sh +++ b/scripts/qemu-binfmt-conf.sh @@ -340,7 +340,7 @@ PERSISTENT=no diff --git a/qemu.changes b/qemu.changes index ae0005fc..1e91ac06 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,10 +1,23 @@ ------------------------------------------------------------------- -Fri Mar 25 17:44:06 UTC 2022 - Dario Faggioli +Fri Mar 25 18:44:04 UTC 2022 - Dario Faggioli - Add missing patch from a PTFs (bsc#1194938) * Patches added: scsi-generic-check-for-additional-SG_IO-.patch +------------------------------------------------------------------- +Fri Mar 25 17:44:06 UTC 2022 - Dario Faggioli + +- Kill downstream patches around bifmt handling that makes + cumbersome to run multi-arch containers, and switch to the + upstream behavior, which is well documented and valid on + all other distros. This is possible thanks to Linux kernel + commit 2347961b11d4 and QEMU commit 6e1c0d7b951e19c53 (so + it can only work on Leap/SLE 15.4 and higher). (bsc#1197298) +* Patches dropped: + qemu-binfmt-conf.sh-allow-overriding-SUS.patch + qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch + ------------------------------------------------------------------- Thu Mar 24 11:18:54 UTC 2022 - Li Zhang diff --git a/qemu.spec b/qemu.spec index 25f3ac6e..fcc594ad 100644 --- a/qemu.spec +++ b/qemu.spec @@ -158,70 +158,68 @@ Patch00011: linux-user-lseek-explicitly-cast-non-set.patch Patch00012: AIO-Reduce-number-of-threads-for-32bit-h.patch Patch00013: xen_disk-Add-suse-specific-flush-disable.patch Patch00014: qemu-bridge-helper-reduce-security-profi.patch -Patch00015: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch -Patch00016: roms-Makefile-pass-a-packaging-timestamp.patch -Patch00017: Raise-soft-address-space-limit-to-hard-l.patch -Patch00018: increase-x86_64-physical-bits-to-42.patch -Patch00019: i8254-Fix-migration-from-SLE11-SP2.patch -Patch00020: acpi_piix4-Fix-migration-from-SLE11-SP2.patch -Patch00021: Make-installed-scripts-explicitly-python.patch -Patch00022: hw-smbios-handle-both-file-formats-regar.patch -Patch00023: xen-add-block-resize-support-for-xen-dis.patch -Patch00024: tests-qemu-iotests-Triple-timeout-of-i-o.patch -Patch00025: tests-Fix-block-tests-to-be-compatible-w.patch -Patch00026: xen-ignore-live-parameter-from-xen-save-.patch -Patch00027: tests-change-error-message-in-test-162.patch -Patch00028: hw-intc-exynos4210_gic-provide-more-room.patch -Patch00029: configure-only-populate-roms-if-softmmu.patch -Patch00030: pc-bios-s390-ccw-net-avoid-warning-about.patch -Patch00031: roms-change-cross-compiler-naming-to-be-.patch -Patch00032: test-add-mapping-from-arch-of-i686-to-qe.patch -Patch00033: configure-remove-pkgversion-from-CONFIG_.patch -Patch00034: Revert-qht-constify-qht_statistics_init.patch -Patch00035: qht-Revert-some-constification-in-qht.c.patch -Patch00036: meson-install-ivshmem-client-and-ivshmem.patch -Patch00037: Revert-roms-efirom-tests-uefi-test-tools.patch -Patch00038: Makefile-Don-t-check-pc-bios-as-pre-requ.patch -Patch00039: roms-Makefile-add-cross-file-to-qboot-me.patch -Patch00040: usb-Help-compiler-out-to-avoid-a-warning.patch -Patch00041: qom-handle-case-of-chardev-spice-module-.patch -Patch00042: doc-add-our-support-doc-to-the-main-proj.patch -Patch00043: qemu-binfmt-conf.sh-should-use-F-as-shor.patch -Patch00044: modules-quick-fix-a-fundamental-error-in.patch -Patch00045: qemu-binfmt-conf.sh-allow-overriding-SUS.patch -Patch00046: scsi-generic-replace-logical-block-count.patch -Patch00047: meson-build-all-modules-by-default.patch -Patch00048: acpi-validate-hotplug-selector-on-access.patch -Patch00049: tests-qemu-iotests-Fix-051-for-binaries-.patch -Patch00050: iotests-MRCE-Write-data-to-source.patch -Patch00051: iotests.py-img_info_log-rename-imgopts-a.patch -Patch00052: iotests.py-implement-unsupported_imgopts.patch -Patch00053: iotests-specify-some-unsupported_imgopts.patch -Patch00054: iotests.py-qemu_img-create-support-IMGOP.patch -Patch00055: iotests-drop-qemu_img_verbose-helper.patch -Patch00056: iotests.py-rewrite-default-luks-support-.patch -Patch00057: iotest-303-explicit-compression-type.patch -Patch00058: iotest-065-explicit-compression-type.patch -Patch00059: iotests.py-filter-out-successful-output-.patch -Patch00060: iotest-302-use-img_info_log-helper.patch -Patch00061: qcow2-simple-case-support-for-downgradin.patch -Patch00062: iotests-common.rc-introduce-_qcow2_dump_.patch -Patch00063: iotests-massive-use-_qcow2_dump_header.patch -Patch00064: iotest-39-use-_qcow2_dump_header.patch -Patch00065: iotests-bash-tests-filter-compression-ty.patch -Patch00066: iotests-60-more-accurate-set-dirty-bit-i.patch -Patch00067: iotest-214-explicit-compression-type.patch -Patch00068: iotests-declare-lack-of-support-for-comp.patch -Patch00069: block-backend-Retain-permissions-after-m.patch -Patch00070: virtiofsd-Drop-membership-of-all-supplem.patch -Patch00071: hw-scsi-megasas-check-for-NULL-frame-in-.patch -Patch00072: hw-nvram-at24-return-0xff-if-1-byte-addr.patch -Patch00073: hw-i386-amd_iommu-Fix-maybe-uninitialize.patch -Patch00074: tools-virtiofsd-Add-rseq-syscall-to-the-.patch -Patch00075: tests-qemu-iotests-040-Skip-TestCommitWi.patch -Patch00076: tests-qemu-iotests-testrunner-Quote-case.patch -Patch00077: Fix-the-module-building-problem-for-s390.patch -Patch00078: scsi-generic-check-for-additional-SG_IO-.patch +Patch00015: roms-Makefile-pass-a-packaging-timestamp.patch +Patch00016: Raise-soft-address-space-limit-to-hard-l.patch +Patch00017: increase-x86_64-physical-bits-to-42.patch +Patch00018: i8254-Fix-migration-from-SLE11-SP2.patch +Patch00019: acpi_piix4-Fix-migration-from-SLE11-SP2.patch +Patch00020: Make-installed-scripts-explicitly-python.patch +Patch00021: hw-smbios-handle-both-file-formats-regar.patch +Patch00022: xen-add-block-resize-support-for-xen-dis.patch +Patch00023: tests-qemu-iotests-Triple-timeout-of-i-o.patch +Patch00024: tests-Fix-block-tests-to-be-compatible-w.patch +Patch00025: xen-ignore-live-parameter-from-xen-save-.patch +Patch00026: tests-change-error-message-in-test-162.patch +Patch00027: hw-intc-exynos4210_gic-provide-more-room.patch +Patch00028: configure-only-populate-roms-if-softmmu.patch +Patch00029: pc-bios-s390-ccw-net-avoid-warning-about.patch +Patch00030: roms-change-cross-compiler-naming-to-be-.patch +Patch00031: test-add-mapping-from-arch-of-i686-to-qe.patch +Patch00032: configure-remove-pkgversion-from-CONFIG_.patch +Patch00033: Revert-qht-constify-qht_statistics_init.patch +Patch00034: qht-Revert-some-constification-in-qht.c.patch +Patch00035: meson-install-ivshmem-client-and-ivshmem.patch +Patch00036: Revert-roms-efirom-tests-uefi-test-tools.patch +Patch00037: Makefile-Don-t-check-pc-bios-as-pre-requ.patch +Patch00038: roms-Makefile-add-cross-file-to-qboot-me.patch +Patch00039: usb-Help-compiler-out-to-avoid-a-warning.patch +Patch00040: qom-handle-case-of-chardev-spice-module-.patch +Patch00041: doc-add-our-support-doc-to-the-main-proj.patch +Patch00042: qemu-binfmt-conf.sh-should-use-F-as-shor.patch +Patch00043: modules-quick-fix-a-fundamental-error-in.patch +Patch00044: scsi-generic-replace-logical-block-count.patch +Patch00045: meson-build-all-modules-by-default.patch +Patch00046: acpi-validate-hotplug-selector-on-access.patch +Patch00047: tests-qemu-iotests-Fix-051-for-binaries-.patch +Patch00048: iotests-MRCE-Write-data-to-source.patch +Patch00049: iotests.py-img_info_log-rename-imgopts-a.patch +Patch00050: iotests.py-implement-unsupported_imgopts.patch +Patch00051: iotests-specify-some-unsupported_imgopts.patch +Patch00052: iotests.py-qemu_img-create-support-IMGOP.patch +Patch00053: iotests-drop-qemu_img_verbose-helper.patch +Patch00054: iotests.py-rewrite-default-luks-support-.patch +Patch00055: iotest-303-explicit-compression-type.patch +Patch00056: iotest-065-explicit-compression-type.patch +Patch00057: iotests.py-filter-out-successful-output-.patch +Patch00058: iotest-302-use-img_info_log-helper.patch +Patch00059: qcow2-simple-case-support-for-downgradin.patch +Patch00060: iotests-common.rc-introduce-_qcow2_dump_.patch +Patch00061: iotests-massive-use-_qcow2_dump_header.patch +Patch00062: iotest-39-use-_qcow2_dump_header.patch +Patch00063: iotests-bash-tests-filter-compression-ty.patch +Patch00064: iotests-60-more-accurate-set-dirty-bit-i.patch +Patch00065: iotest-214-explicit-compression-type.patch +Patch00066: iotests-declare-lack-of-support-for-comp.patch +Patch00067: block-backend-Retain-permissions-after-m.patch +Patch00068: virtiofsd-Drop-membership-of-all-supplem.patch +Patch00069: hw-scsi-megasas-check-for-NULL-frame-in-.patch +Patch00070: hw-nvram-at24-return-0xff-if-1-byte-addr.patch +Patch00071: hw-i386-amd_iommu-Fix-maybe-uninitialize.patch +Patch00072: tools-virtiofsd-Add-rseq-syscall-to-the-.patch +Patch00073: tests-qemu-iotests-040-Skip-TestCommitWi.patch +Patch00074: tests-qemu-iotests-testrunner-Quote-case.patch +Patch00075: Fix-the-module-building-problem-for-s390.patch +Patch00076: scsi-generic-check-for-additional-SG_IO-.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -1176,17 +1174,17 @@ This package records qemu testsuite results and represents successful testing. %patch00035 -p1 %patch00036 -p1 %patch00037 -p1 -%patch00038 -p1 %ifarch aarch64 -%patch00039 -p1 +%patch00038 -p1 %endif %ifarch %arm %ix86 ppc +%patch00039 -p1 +%endif %patch00040 -p1 -%endif -%patch00041 -p1 %if %{legacy_qemu_kvm} -%patch00042 -p1 +%patch00041 -p1 %endif +%patch00042 -p1 %patch00043 -p1 %patch00044 -p1 %patch00045 -p1 @@ -1221,8 +1219,6 @@ This package records qemu testsuite results and represents successful testing. %patch00074 -p1 %patch00075 -p1 %patch00076 -p1 -%patch00077 -p1 -%patch00078 -p1 %patch01000 -p1 %patch01001 -p1 %patch01002 -p1