qemu: Update to version 6.1.0

Message ID 20211201122844.3436661-1-adolf.belka@ipfire.org
State Accepted
Commit 1c38f2ccefb60a2c5a8c09ae5de6943c75de110d
Headers
Series qemu: Update to version 6.1.0 |

Commit Message

Adolf Belka Dec. 1, 2021, 12:28 p.m. UTC
  - Update from 5.2.0 to 6.1.0
- Update of rootfile
- Removal of --no-pie patch as the changes are now built into the qemu source files
- Changelog is too long to fully include here. Full details can be read at
   https://wiki.qemu.org/ChangeLog/
   Following are the deprecated options and features from each version.
   6.1.0
    Using non-persistent backing file with pmem=on is now deprecated.
    '-display sdl,window_close=...' should be replaced with '-display sdl,window-close=...'
     (i.e. with a minus instead of an underscore between “window” and “close”).
    '-no-quit' is deprecated. '-display ...,window-close=off' should be used instead.
    The Aspeed swift-bmc machine is deprecated and should be replaced by the
     witherspoon-bmc or the romulus-bmc machines.
   6.0.0
    The --enable-fips option has been deprecated. Consumers wishing to have FIPS
     compliance must build QEMU with libcrypt and gnutls, NOT nettle.
    The -writeconfig option has been deprecated. The functionality of -writeconfig is
     limited and the code does not even try to detect cases where it prints incorrect
     syntax (for example if values have a quote in them). It will be removed without
     replacement.
    Boolean parameters such as share=on / share=off could be written in short form as
     share and noshare. This is now deprecated and will cause a warning.
    -chardev backend aliases tty and parport are aliases that will be removed. Instead,
     the actual backend names serial and parallel should be used.
    The delay option for socket character devices is now deprecated.
    Userspace local APIC with KVM (-M kernel-irqchip=off)
    hexadecimal sizes with scaling multipliers (e.g. 0x20M)
    -spice password=string is deprecated now. Use password-secret option instead.
    opened property of rng-* objects
    loaded property of secret and secret_keyring
    MIPS Trap-and-Emulate KVM support

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/qemu      |  1 +
 lfs/qemu                            |  7 ++-
 src/patches/qemu-5.2.0-no-pie.patch | 67 -----------------------------
 3 files changed, 4 insertions(+), 71 deletions(-)
 delete mode 100644 src/patches/qemu-5.2.0-no-pie.patch
  

Comments

Michael Tremer Dec. 1, 2021, 1:56 p.m. UTC | #1
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>

> On 1 Dec 2021, at 12:28, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> - Update from 5.2.0 to 6.1.0
> - Update of rootfile
> - Removal of --no-pie patch as the changes are now built into the qemu source files
> - Changelog is too long to fully include here. Full details can be read at
>   https://wiki.qemu.org/ChangeLog/
>   Following are the deprecated options and features from each version.
>   6.1.0
>    Using non-persistent backing file with pmem=on is now deprecated.
>    '-display sdl,window_close=...' should be replaced with '-display sdl,window-close=...'
>     (i.e. with a minus instead of an underscore between “window” and “close”).
>    '-no-quit' is deprecated. '-display ...,window-close=off' should be used instead.
>    The Aspeed swift-bmc machine is deprecated and should be replaced by the
>     witherspoon-bmc or the romulus-bmc machines.
>   6.0.0
>    The --enable-fips option has been deprecated. Consumers wishing to have FIPS
>     compliance must build QEMU with libcrypt and gnutls, NOT nettle.
>    The -writeconfig option has been deprecated. The functionality of -writeconfig is
>     limited and the code does not even try to detect cases where it prints incorrect
>     syntax (for example if values have a quote in them). It will be removed without
>     replacement.
>    Boolean parameters such as share=on / share=off could be written in short form as
>     share and noshare. This is now deprecated and will cause a warning.
>    -chardev backend aliases tty and parport are aliases that will be removed. Instead,
>     the actual backend names serial and parallel should be used.
>    The delay option for socket character devices is now deprecated.
>    Userspace local APIC with KVM (-M kernel-irqchip=off)
>    hexadecimal sizes with scaling multipliers (e.g. 0x20M)
>    -spice password=string is deprecated now. Use password-secret option instead.
>    opened property of rng-* objects
>    loaded property of secret and secret_keyring
>    MIPS Trap-and-Emulate KVM support
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> config/rootfiles/packages/qemu      |  1 +
> lfs/qemu                            |  7 ++-
> src/patches/qemu-5.2.0-no-pie.patch | 67 -----------------------------
> 3 files changed, 4 insertions(+), 71 deletions(-)
> delete mode 100644 src/patches/qemu-5.2.0-no-pie.patch
> 
> diff --git a/config/rootfiles/packages/qemu b/config/rootfiles/packages/qemu
> index 3792e7479..443264334 100644
> --- a/config/rootfiles/packages/qemu
> +++ b/config/rootfiles/packages/qemu
> @@ -16,6 +16,7 @@ usr/bin/qemu-system-i386
> usr/bin/qemu-system-riscv64
> usr/bin/qemu-system-x86_64
> usr/bin/qemu-x86_64
> +usr/include/qemu-plugin.h
> usr/libexec/qemu-bridge-helper
> usr/libexec/virtiofsd
> #usr/share/applications/qemu.desktop
> diff --git a/lfs/qemu b/lfs/qemu
> index 689dba96d..b15fe985a 100644
> --- a/lfs/qemu
> +++ b/lfs/qemu
> @@ -24,7 +24,7 @@
> 
> include Config
> 
> -VER        = 5.2.0
> +VER        = 6.1.0
> 
> THISAPP    = qemu-$(VER)
> DL_FILE    = $(THISAPP).tar.xz
> @@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
> TARGET     = $(DIR_INFO)/$(THISAPP)
> SUP_ARCH   = i586 x86_64
> PROG       = qemu
> -PAK_VER    = 30
> +PAK_VER    = 31
> 
> DEPS       = libusbredir spice libseccomp
> 
> @@ -55,7 +55,7 @@ objects = $(DL_FILE)
> 
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> 
> -$(DL_FILE)_MD5 = 179f86928835da857c237b42f4b2df73
> +$(DL_FILE)_MD5 = 47f776c276a24f42108ba512a2aa3013
> 
> install : $(TARGET)
> 
> @@ -88,7 +88,6 @@ $(subst %,%_MD5,$(objects)) :
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> 	@$(PREBUILD)
> 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> -	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-5.2.0-no-pie.patch
> 	cd $(DIR_APP) && ./configure \
> 		--prefix=/usr \
> 		--sysconfdir=/etc \
> diff --git a/src/patches/qemu-5.2.0-no-pie.patch b/src/patches/qemu-5.2.0-no-pie.patch
> deleted file mode 100644
> index 8f3f4d590..000000000
> --- a/src/patches/qemu-5.2.0-no-pie.patch
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -Recent binutils changes dropping unsupported options [1] caused a build
> -issue in regard to the optionroms.
> -
> -  ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \
> -    -s -o multiboot.img multiboot.o
> -  ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
> -
> -This isn't really a regression in ld.bfd, filing the bug upstream
> -revealed that this never worked as a ld flag [2] - in fact it seems we
> -were by accident setting --nmagic).
> -
> -Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
> -droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
> -in .mak, therefore we can also remove it from being added there.
> -
> -[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
> -[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
> -
> -Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> ----
> - configure                  | 3 ---
> - pc-bios/optionrom/Makefile | 1 -
> - 2 files changed, 4 deletions(-)
> -
> -diff --git a/configure b/configure
> -index 3f823ed163..61c17c2dde 100755
> ---- a/configure
> -+++ b/configure
> -@@ -2133,7 +2133,6 @@ EOF
> - # Check we support --no-pie first; we will need this for building ROMs.
> - if compile_prog "-Werror -fno-pie" "-no-pie"; then
> -   CFLAGS_NOPIE="-fno-pie"
> --  LDFLAGS_NOPIE="-no-pie"
> - fi
> - 
> - if test "$static" = "yes"; then
> -@@ -2149,7 +2148,6 @@ if test "$static" = "yes"; then
> -   fi
> - elif test "$pie" = "no"; then
> -   CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
> --  CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
> - elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
> -   CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
> -   CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
> -@@ -6768,7 +6766,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
> - echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
> - echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
> - echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
> --echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
> - echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
> - echo "EXESUF=$EXESUF" >> $config_host_mak
> - echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
> -diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> -index 084fc10f05..30771f8d17 100644
> ---- a/pc-bios/optionrom/Makefile
> -+++ b/pc-bios/optionrom/Makefile
> -@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
> - 
> - LD_I386_EMULATION ?= elf_i386
> - override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
> --override LDFLAGS += $(LDFLAGS_NOPIE)
> - 
> - all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
> - 
> --- 
> -2.29.2
> -
> -- 
> 2.34.0
>
  

Patch

diff --git a/config/rootfiles/packages/qemu b/config/rootfiles/packages/qemu
index 3792e7479..443264334 100644
--- a/config/rootfiles/packages/qemu
+++ b/config/rootfiles/packages/qemu
@@ -16,6 +16,7 @@  usr/bin/qemu-system-i386
 usr/bin/qemu-system-riscv64
 usr/bin/qemu-system-x86_64
 usr/bin/qemu-x86_64
+usr/include/qemu-plugin.h
 usr/libexec/qemu-bridge-helper
 usr/libexec/virtiofsd
 #usr/share/applications/qemu.desktop
diff --git a/lfs/qemu b/lfs/qemu
index 689dba96d..b15fe985a 100644
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 5.2.0
+VER        = 6.1.0
 
 THISAPP    = qemu-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -33,7 +33,7 @@  DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = i586 x86_64
 PROG       = qemu
-PAK_VER    = 30
+PAK_VER    = 31
 
 DEPS       = libusbredir spice libseccomp
 
@@ -55,7 +55,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 179f86928835da857c237b42f4b2df73
+$(DL_FILE)_MD5 = 47f776c276a24f42108ba512a2aa3013
 
 install : $(TARGET)
 
@@ -88,7 +88,6 @@  $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-5.2.0-no-pie.patch
 	cd $(DIR_APP) && ./configure \
 		--prefix=/usr \
 		--sysconfdir=/etc \
diff --git a/src/patches/qemu-5.2.0-no-pie.patch b/src/patches/qemu-5.2.0-no-pie.patch
deleted file mode 100644
index 8f3f4d590..000000000
--- a/src/patches/qemu-5.2.0-no-pie.patch
+++ /dev/null
@@ -1,67 +0,0 @@ 
-Recent binutils changes dropping unsupported options [1] caused a build
-issue in regard to the optionroms.
-
-  ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \
-    -s -o multiboot.img multiboot.o
-  ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
-
-This isn't really a regression in ld.bfd, filing the bug upstream
-revealed that this never worked as a ld flag [2] - in fact it seems we
-were by accident setting --nmagic).
-
-Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
-droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
-in .mak, therefore we can also remove it from being added there.
-
-[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
-[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
-
-Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
----
- configure                  | 3 ---
- pc-bios/optionrom/Makefile | 1 -
- 2 files changed, 4 deletions(-)
-
-diff --git a/configure b/configure
-index 3f823ed163..61c17c2dde 100755
---- a/configure
-+++ b/configure
-@@ -2133,7 +2133,6 @@ EOF
- # Check we support --no-pie first; we will need this for building ROMs.
- if compile_prog "-Werror -fno-pie" "-no-pie"; then
-   CFLAGS_NOPIE="-fno-pie"
--  LDFLAGS_NOPIE="-no-pie"
- fi
- 
- if test "$static" = "yes"; then
-@@ -2149,7 +2148,6 @@ if test "$static" = "yes"; then
-   fi
- elif test "$pie" = "no"; then
-   CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
--  CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
- elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
-   CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
-   CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
-@@ -6768,7 +6766,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
- echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
- echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
- echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
--echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
- echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
- echo "EXESUF=$EXESUF" >> $config_host_mak
- echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
-diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
-index 084fc10f05..30771f8d17 100644
---- a/pc-bios/optionrom/Makefile
-+++ b/pc-bios/optionrom/Makefile
-@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
- 
- LD_I386_EMULATION ?= elf_i386
- override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
--override LDFLAGS += $(LDFLAGS_NOPIE)
- 
- all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
- 
--- 
-2.29.2
-