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)
