Date: Friday, September 30, 2022 @ 09:25:25
  Author: dvzrv
Revision: 457000

upgpkg: qemu 7.1.0-6: Rebuild to fix issues with firmware and binfmt.

Split out binfmt files to qemu-user-binfmt and qemu-user-static-binfmt, which 
both conflict/provide qemu-user-binfmt-provider so that only one can be 
installed at a time: https://bugs.archlinux.org/task/75855
Split out firmware to 
qemu-system-{alpha,arm,hppa,microblaze,ppc,riscv,sparc,x86}-firmware, so that 
they may not be stripped: https://bugs.archlinux.org/task/76066 and likely also 
https://bugs.archlinux.org/task/76036

Modified:
  qemu/trunk/PKGBUILD

----------+
 PKGBUILD |  145 ++++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 110 insertions(+), 35 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-09-29 21:03:18 UTC (rev 456999)
+++ PKGBUILD    2022-09-30 09:25:25 UTC (rev 457000)
@@ -16,16 +16,17 @@
   qemu-img
   qemu-pr-helper
   
qemu-system-{aarch64,alpha,arm,avr,cris,hppa,loongarch64,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}
+  qemu-system-{alpha,arm,hppa,microblaze,ppc,riscv,sparc,x86}-firmware
   qemu-tests
   qemu-tools
   qemu-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}
-  qemu-user{,-static}
+  qemu-user{,-static}{,-binfmt}
   qemu-vhost-user-gpu
   qemu-virtiofsd
   qemu-{base,desktop,emulators-full,full}
 )
 pkgver=7.1.0
-pkgrel=5
+pkgrel=6
 pkgdesc="A generic and open source machine emulator and virtualizer"
 arch=(x86_64)
 url="https://www.qemu.org/";
@@ -79,6 +80,7 @@
   ndctl
   numactl
   pam
+  pcre2
   python
   python-sphinx
   python-sphinx_rtd_theme
@@ -359,7 +361,7 @@
   (
     # create man page symlinks for all system emulators
     cd "$pkgdir/usr/share/man/man1"
-    for _name in 
qemu-system-{aarch64,alpha,arm,avr,cris,hppa,i386,m68k,microblaze{,el},mips{,64,64el,el},nios2,or1k,ppc{,64},riscv{32,64},rx,s390x,sh4{,eb},sparc{,64},tricore,x86_64,xtensa{,eb}};
 do
+    for _name in 
qemu-system-{aarch64,alpha,arm,avr,cris,hppa,i386,loongarch64,m68k,microblaze{,el},mips{,64,64el,el},nios2,or1k,ppc{,64},riscv{32,64},rx,s390x,sh4{,eb},sparc{,64},tricore,x86_64,xtensa{,eb}};
 do
       ln -sv $pkgbase.1.gz "$pkgdir/usr/share/man/man1/$_name.1.gz"
     done
   )
@@ -417,13 +419,15 @@
     _pick qemu-system-aarch64 usr/share/man/man1/qemu-system-aarch64.1*
 
     _pick qemu-system-alpha usr/bin/qemu-system-alpha
-    _pick qemu-system-alpha usr/share/qemu/palcode-clipper
     _pick qemu-system-alpha usr/share/man/man1/qemu-system-alpha.1*
 
+    _pick qemu-system-alpha-firmware usr/share/qemu/palcode-clipper
+
     _pick qemu-system-arm usr/bin/qemu-system-arm
-    _pick qemu-system-arm usr/share/qemu/npcm7xx_bootrom.bin
     _pick qemu-system-arm usr/share/man/man1/qemu-system-arm.1*
 
+    _pick qemu-system-arm-firmware usr/share/qemu/npcm7xx_bootrom.bin
+
     _pick qemu-system-avr usr/bin/qemu-system-avr
     _pick qemu-system-avr usr/share/man/man1/qemu-system-avr.1*
 
@@ -431,17 +435,21 @@
     _pick qemu-system-cris usr/share/man/man1/qemu-system-cris.1*
 
     _pick qemu-system-hppa usr/bin/qemu-system-hppa
-    _pick qemu-system-hppa usr/share/qemu/hppa-firmware.img
     _pick qemu-system-hppa usr/share/man/man1/qemu-system-hppa.1*
 
+    _pick qemu-system-hppa-firmware usr/share/qemu/hppa-firmware.img
+
     _pick qemu-system-loongarch64 usr/bin/qemu-system-loongarch64
+    _pick qemu-system-loongarch64 usr/share/man/man1/qemu-system-loongarch64.1*
+
     _pick qemu-system-m68k usr/bin/qemu-system-m68k
     _pick qemu-system-m68k usr/share/man/man1/qemu-system-m68k.1*
 
     _pick qemu-system-microblaze usr/bin/qemu-system-microblaze{,el}
-    _pick qemu-system-microblaze usr/share/qemu/petalogix-*.dtb
     _pick qemu-system-microblaze 
usr/share/man/man1/qemu-system-microblaze{,el}.1*
 
+    _pick qemu-system-microblaze-firmware usr/share/qemu/petalogix-*.dtb
+
     _pick qemu-system-mips usr/bin/qemu-system-mips{,64,64el,el}
     _pick qemu-system-mips usr/share/man/man1/qemu-system-mips{,64,64el,el}.1*
 
@@ -452,48 +460,53 @@
     _pick qemu-system-or1k usr/share/man/man1/qemu-system-or1k.1*
 
     _pick qemu-system-ppc usr/bin/qemu-system-ppc{,64}
-    _pick qemu-system-ppc usr/share/qemu/{bamboo,canyonlands}.dtb
+    _pick qemu-system-ppc usr/share/man/man1/qemu-system-ppc{,64}.1*
+
+    _pick qemu-system-ppc-firmware usr/share/qemu/{bamboo,canyonlands}.dtb
     # NOTE: needs to be replaced by openbios
-    _pick qemu-system-ppc usr/share/qemu/openbios-ppc
-    _pick qemu-system-ppc usr/share/qemu/qemu_vga.ndrv
-    _pick qemu-system-ppc usr/share/qemu/skiboot.lid
+    _pick qemu-system-ppc-firmware usr/share/qemu/openbios-ppc
+    _pick qemu-system-ppc-firmware usr/share/qemu/qemu_vga.ndrv
+    _pick qemu-system-ppc-firmware usr/share/qemu/skiboot.lid
     # NOTE: needs to be replaced by slof
-    _pick qemu-system-ppc usr/share/qemu/slof.bin
-    _pick qemu-system-ppc usr/share/qemu/u-boot.e500
-    _pick qemu-system-ppc usr/share/qemu/u-boot-sam460-20100605.bin
-    _pick qemu-system-ppc usr/share/man/man1/qemu-system-ppc{,64}.1*
+    _pick qemu-system-ppc-firmware usr/share/qemu/slof.bin
+    _pick qemu-system-ppc-firmware usr/share/qemu/u-boot.e500
+    _pick qemu-system-ppc-firmware usr/share/qemu/u-boot-sam460-20100605.bin
 
     _pick qemu-system-riscv usr/bin/qemu-system-riscv{32,64}
-    _pick qemu-system-riscv usr/share/qemu/opensbi-riscv{32,64}*.bin
     _pick qemu-system-riscv usr/share/man/man1/qemu-system-riscv{32,64}.1*
 
+    _pick qemu-system-riscv-firmware usr/share/qemu/opensbi-riscv{32,64}*.bin
+
     _pick qemu-system-rx usr/bin/qemu-system-rx
     _pick qemu-system-rx usr/share/man/man1/qemu-system-rx.1*
 
     _pick qemu-system-s390x usr/bin/qemu-system-s390x
-    _pick qemu-system-s390x usr/share/qemu/s390-{ccw,netboot}.img
     _pick qemu-system-s390x usr/share/man/man1/qemu-system-s390x.1*
 
+    _pick qemu-system-s390x-firmware usr/share/qemu/s390-{ccw,netboot}.img
+
     _pick qemu-system-sh4 usr/bin/qemu-system-sh4{,eb}
     _pick qemu-system-sh4 usr/share/man/man1/qemu-system-sh4{,eb}.1*
 
     _pick qemu-system-sparc usr/bin/qemu-system-sparc{,64}
-    # NOTE: needs to be replaced by openbios
-    _pick qemu-system-sparc usr/share/qemu/openbios-sparc{32,64}
-    _pick qemu-system-sparc usr/share/qemu/QEMU,{cgthree,tcx}.bin
     _pick qemu-system-sparc usr/share/man/man1/qemu-system-sparc{,64}.1*
 
+    # NOTE: needs to be replaced by openbios
+    _pick qemu-system-sparc-firmware usr/share/qemu/openbios-sparc{32,64}
+    _pick qemu-system-sparc-firmware usr/share/qemu/QEMU,{cgthree,tcx}.bin
+
     _pick qemu-system-tricore usr/bin/qemu-system-tricore
     _pick qemu-system-tricore usr/share/man/man1/qemu-system-tricore.1*
 
     _pick qemu-system-x86 usr/bin/qemu-system-{i386,x86_64}
     _pick qemu-system-x86 usr/lib/qemu/accel-tcg-{i386,x86_64}.so
-    _pick qemu-system-x86 
usr/share/qemu/{kvmvapic,linuxboot,multiboot{,_dma},pvh}.bin
-    _pick qemu-system-x86 usr/share/qemu/qboot.rom
-    # NOTE: needs to be replaced by sgabios
-    _pick qemu-system-x86 usr/share/qemu/sgabios.bin
     _pick qemu-system-x86 usr/share/man/man1/qemu-system-{i386,x86_64}.1*
 
+    _pick qemu-system-x86-firmware 
usr/share/qemu/{kvmvapic,linuxboot,multiboot{,_dma},pvh}.bin
+    _pick qemu-system-x86-firmware usr/share/qemu/qboot.rom
+    # NOTE: needs to be replaced by sgabios
+    _pick qemu-system-x86-firmware usr/share/qemu/sgabios.bin
+
     _pick qemu-system-xtensa usr/bin/qemu-system-xtensa{,eb}
     _pick qemu-system-xtensa usr/share/man/man1/qemu-system-xtensa{,eb}.1*
 
@@ -512,10 +525,10 @@
     _pick qemu-ui-spice-core usr/lib/qemu/ui-spice-core.so
 
     _pick qemu-user-static usr/bin/qemu-*-static
-    _pick qemu-user-static usr/lib/binfmt.d/*-static.conf
+    _pick qemu-user-static-binfmt usr/lib/binfmt.d/*-static.conf
 
     _pick qemu-user 
usr/bin/qemu-{aarch64{,_be},alpha,arm{,eb},cris,hexagon,hppa,i386,loongarch64,m68k,microblaze{,el},mips{,64,64el,el,n32,n32el},nios2,or1k,ppc{,64,64le},riscv{32,64},s390x,sh4{,eb},sparc{,32plus,64},x86_64,xtensa{,eb}}
-    _pick qemu-user usr/lib/binfmt.d/*.conf
+    _pick qemu-user-binfmt usr/lib/binfmt.d/*.conf
 
     _pick qemu-vhost-user-gpu usr/lib/qemu/vhost-user-gpu
     _pick qemu-vhost-user-gpu usr/share/qemu/vhost-user/50-qemu-gpu.json
@@ -693,16 +706,28 @@
 
 package_qemu-system-alpha() {
   pkgdesc="QEMU system emulator for Alpha"
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" qemu-system-alpha-firmware systemd-libs 
libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-alpha-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for Alpha"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-arm() {
   pkgdesc="QEMU system emulator for ARM"
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" qemu-system-arm-firmware systemd-libs 
libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-arm-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for ARM"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-avr() {
   pkgdesc="QEMU system emulator for AVR"
   depends=("${_qemu_system_deps[@]}")
@@ -717,10 +742,16 @@
 
 package_qemu-system-hppa() {
   pkgdesc="QEMU system emulator for HPPA"
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" qemu-system-hppa-firmware systemd-libs 
libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-hppa-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for HPPA"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-loongarch64() {
   pkgdesc="QEMU system emulator for LoongArch64"
   depends=("${_qemu_system_deps[@]}")
@@ -735,10 +766,16 @@
 
 package_qemu-system-microblaze() {
   pkgdesc="QEMU system emulator for Microblaze"
-  depends=("${_qemu_system_deps[@]}")
+  depends=("${_qemu_system_deps[@]}" qemu-system-microblaze-firmware)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-microblaze-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for Microblaze"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-mips() {
   pkgdesc="QEMU system emulator for MIPS"
   depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
@@ -759,8 +796,12 @@
 
 package_qemu-system-ppc() {
   pkgdesc="QEMU system emulator for PPC"
-  # NOTE: will require openbios
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" qemu-system-ppc-firmware systemd-libs 
libudev.so)
+  mv -v $pkgname/* "$pkgdir"
+}
+
+package_qemu-system-ppc-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for PPC"
   options=(!strip)
   mv -v $pkgname/* "$pkgdir"
 }
@@ -767,10 +808,16 @@
 
 package_qemu-system-riscv() {
   pkgdesc="QEMU system emulator for RISC-V"
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" qemu-system-riscv-firmware systemd-libs 
libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-riscv-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for RISC-V"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-rx() {
   pkgdesc="QEMU system emulator for RX"
   depends=("${_qemu_system_deps[@]}")
@@ -791,8 +838,14 @@
 
 package_qemu-system-sparc() {
   pkgdesc="QEMU system emulator for SPARC"
+  depends=("${_qemu_system_deps[@]}" qemu-system-sparc-firmware systemd-libs 
libudev.so)
+  mv -v $pkgname/* "$pkgdir"
+}
+
+package_qemu-system-sparc-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for SPARC"
+  options=(!strip)
   # NOTE: will require openbios
-  depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
@@ -804,10 +857,16 @@
 
 package_qemu-system-x86() {
   pkgdesc="QEMU system emulator for x86"
-  depends=("${_qemu_system_deps[@]}" edk2-ovmf seabios systemd-libs libudev.so)
+  depends=("${_qemu_system_deps[@]}" edk2-ovmf qemu-system-x86-firmware 
seabios systemd-libs libudev.so)
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-system-x86-firmware() {
+  pkgdesc="Firmware for QEMU system emulator for x86"
+  options=(!strip)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-system-xtensa() {
   pkgdesc="QEMU system emulator for Xtensa"
   depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
@@ -926,15 +985,31 @@
 package_qemu-user() {
   pkgdesc="QEMU user mode emulation"
   depends=(capstone gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc 
gnutls liburing liburing.so qemu-common=$pkgver-$pkgrel zlib)
+  optdepends=('qemu-user-binfmt: for binary format rules')
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-user-binfmt() {
+  pkgdesc="Binary format rules for QEMU user mode emulation"
+  provides=(qemu-user-binfmt-provider)
+  conflicts=(qemu-user-binfmt-provider)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-user-static() {
   pkgdesc="QEMU static user mode emulation"
   depends=(glibc)
+  optdepends=('qemu-user-static-binfmt: for binary format rules')
   mv -v $pkgname/* "$pkgdir"
 }
 
+package_qemu-user-static-binfmt() {
+  pkgdesc="Binary format rules for QEMU static user mode emulation"
+  provides=(qemu-user-binfmt-provider)
+  conflicts=(qemu-user-binfmt-provider)
+  mv -v $pkgname/* "$pkgdir"
+}
+
 package_qemu-vhost-user-gpu() {
   pkgdesc="QEMU vhost-user-gpu display device"
   depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc pixman 
libpixman-1.so mesa qemu-common=$pkgver-$pkgrel virglrenderer)

Reply via email to