Date: Wednesday, October 13, 2021 @ 20:58:48 Author: dvzrv Revision: 425875
upgpkg: qemu 6.1.0-3: Rebuild to make dependencies more explicit. PKGBUILD: Add all packages required for building to makedepends. Add all per package dependencies explicitly in each package() function (including sodeps). Move brltty to optdepends for qemu: https://bugs.archlinux.org/task/72312 Add edk2-{armvirt,ovmf} to optdepends for qemu{,-headless}-arch-extra: https://bugs.archlinux.org/task/71082 Simplify the installation of files in the package_*() functions, while making the output more verbose. qemu-guest-agent.install: Bind the message about qemu-ga.service renaming to the version of qemu in which it has been introduced. Implement a disabling of qemu-ga.service and an enabling of qemu-guest-agent.service if the former is still enabled: https://bugs.archlinux.org/task/68892 Remove '#' characters from post_upgrade() message, as it breaks our (admittedly rather brittle) build of releng: https://gitlab.archlinux.org/archlinux/releng Modified: qemu/trunk/PKGBUILD qemu/trunk/qemu-guest-agent.install --------------------------+ PKGBUILD | 258 ++++++++++++++++++++++++++++++++++++++++----- qemu-guest-agent.install | 11 + 2 files changed, 242 insertions(+), 27 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-10-13 19:48:31 UTC (rev 425874) +++ PKGBUILD 2021-10-13 20:58:48 UTC (rev 425875) @@ -1,20 +1,83 @@ # Maintainer: Tobias Powalowski <[email protected]> +# Contributor: David Runge <[email protected]> # Contributor: Sébastien "Seblu" Luttringer <[email protected]> pkgbase=qemu -pkgname=(qemu qemu-headless qemu-arch-extra qemu-headless-arch-extra - qemu-block-{iscsi,rbd,gluster} qemu-guest-agent) +pkgname=( + qemu + qemu-headless + qemu-arch-extra + qemu-headless-arch-extra + qemu-block-{iscsi,rbd,gluster} + qemu-guest-agent +) pkgdesc="A generic and open source machine emulator and virtualizer" pkgver=6.1.0 -pkgrel=2 +pkgrel=3 arch=(x86_64) license=(GPL2 LGPL2.1) url="https://wiki.qemu.org/" -_headlessdeps=(seabios gnutls libpng libaio numactl libnfs - lzo snappy curl vde2 libcap-ng spice libcacard usbredir libslirp - libssh zstd liburing ndctl dtc fuse3 libbpf) -depends=(virglrenderer sdl2 vte3 libpulse libjack.so brltty "${_headlessdeps[@]}") -makedepends=(spice-protocol python ceph libiscsi glusterfs python-sphinx python-sphinx_rtd_theme xfsprogs ninja) +# TODO: consider providing rdma-core +# TODO: consider providing lzfse +makedepends=( + alsa-lib + brltty + bzip2 + cairo + ceph + curl + cdrtools + dtc + fuse3 + gcc-libs + gdk-pixbuf2 + glib2 + glusterfs + gnutls + gtk3 + jack + libaio + libbpf + libcacard + libcap-ng + libepoxy + libiscsi + libnfs + libpng + libpulse + libsasl + libseccomp + libslirp + libssh + liburing + libusb + libx11 + libxkbcommon + lzo + mesa + meson + ncurses + ndctl + numactl + pam + python + python-sphinx + python-sphinx_rtd_theme + sdl2 + sdl2_image + seabios + snappy + spice-protocol + spice + systemd + usbredir + vde2 + virglrenderer + vte3 + xfsprogs + zlib + zstd +) source=(https://download.qemu.org/qemu-$pkgver.tar.xz{,.sig} fix_unix_sockets.diff::https://gitlab.com/qemu-project/qemu/-/commit/118d527f2e4baec5fe8060b22a6212468b8e4d3f.diff qemu-guest-agent.service @@ -72,7 +135,60 @@ ) package_qemu() { - optdepends=('qemu-arch-extra: extra architectures support') + depends=( + alsa-lib libasound.so + bzip2 libbz2.so + cairo libcairo.so + curl libcurl.so + dtc + fuse3 + gcc-libs + gdk-pixbuf2 libgdk_pixbuf-2.0.so + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + gnutls + gtk3 libgdk-3.so libgtk-3.so + jack libjack.so + libaio + libbpf libbpf.so + libcacard + libcap-ng libcap-ng.so + libepoxy + libjpeg libjpeg.so + libnfs + libpng + libpulse libpulse.so + libsasl + libseccomp libseccomp.so + libslirp libslirp.so + libssh libssh.so + libusb libusb-1.0.so + liburing liburing.so + libx11 + libxkbcommon libxkbcommon.so + lzo + mesa + ncurses libncursesw.so + ndctl + numactl libnuma.so + pam libpam.so + pixman libpixman-1.so + seabios + sdl2 + sdl2_image + snappy + spice libspice-server.so + systemd-libs libudev.so + usbredir + virglrenderer + vde2 + vte2 libvte-2.91.so + zlib + zstd libzstd.so + ) + optdepends=( + 'brltty: for braille device support' + 'qemu-arch-extra: extra architectures support' + ) provides=(qemu-headless) conflicts=(qemu-headless) replaces=(qemu-kvm) @@ -82,7 +198,43 @@ package_qemu-headless() { pkgdesc="QEMU without GUI" - depends=("${_headlessdeps[@]}") + depends=( + bzip2 libbz2.so + curl libcurl.so + dtc + fuse3 + gcc-libs + glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + gnutls + libaio + libbpf libbpf.so + libcacard + libcap-ng libcap-ng.so + libjpeg libjpeg.so + libnfs + libpng + libsasl + libseccomp libseccomp.so + libslirp libslirp.so + libssh libssh.so + libusb libusb-1.0.so + liburing liburing.so + libxkbcommon libxkbcommon.so + lzo + ndctl + numactl libnuma.so + ncurses libncursesw.so + pam libpam.so + pixman libpixman-1.so + seabios + snappy + spice libspice-server.so + systemd-libs libudev.so + usbredir + vde2 + zlib + zstd libzstd.so + ) optdepends=('qemu-headless-arch-extra: extra architectures support') _package headless @@ -169,41 +321,101 @@ package_qemu-arch-extra() { pkgdesc="QEMU for foreign architectures" - depends=(qemu) + depends=( + dtc + fuse3 + gcc-libs + gnutls + libaio + libbpf libbpf.so + glib2 libgio-2.0.so libglib-2.0.so libgobject-2.0.so libgmodule-2.0.so + libjpeg libjpeg.so + libpng + libsasl + libseccomp libseccomp.so + libslirp libslirp.so + liburing liburing.so + lzo + ndctl + numactl libnuma.so + pam libpam.so + pixman libpixman-1.so + snappy + systemd-libs + libudev.so + qemu + vde2 + zlib + zstd + libzstd.so + ) + optdepends=( + 'edk2-armvirt: for aarch64 UEFI support' + 'edk2-ovmf: for ia32 and x64 UEFI support' + ) provides=(qemu-headless-arch-extra) conflicts=(qemu-headless-arch-extra) options=(!strip) - mv extra-arch-full/usr "$pkgdir" + mv -v extra-arch-full/usr "$pkgdir" } package_qemu-headless-arch-extra() { pkgdesc="QEMU without GUI, for foreign architectures" - depends=(qemu-headless) + depends=( + dtc + fuse3 + gcc-libs + gnutls + libaio + libbpf libbpf.so + glib2 libgio-2.0.so libglib-2.0.so libgobject-2.0.so libgmodule-2.0.so + libjpeg libjpeg.so + libpng + libsasl + libseccomp libseccomp.so + libslirp libslirp.so + liburing liburing.so + lzo + ndctl + numactl libnuma.so + pam libpam.so + pixman libpixman-1.so + snappy + qemu-headless + systemd-libs libudev.so + vde2 + zlib + zstd libzstd.so + ) + optdepends=( + 'edk2-armvirt: for aarch64 UEFI support' + 'edk2-ovmf: for ia32 and x64 UEFI support' + ) options=(!strip) - mv extra-arch-headless/usr "$pkgdir" + mv -v extra-arch-headless/usr "$pkgdir" } package_qemu-block-iscsi() { pkgdesc="QEMU iSCSI block module" - depends=(glib2 libiscsi) + depends=(glibc libiscsi) - install -D build-full/block-iscsi.so "$pkgdir/usr/lib/qemu/block-iscsi.so" + install -vDm 755 build-full/block-iscsi.so -t "$pkgdir/usr/lib/qemu/" } package_qemu-block-rbd() { pkgdesc="QEMU RBD block module" - depends=(glib2 ceph-libs) + depends=(glibc ceph-libs) - install -D build-full/block-rbd.so "$pkgdir/usr/lib/qemu/block-rbd.so" + install -vDm 755 build-full/block-rbd.so -t "$pkgdir/usr/lib/qemu/" } package_qemu-block-gluster() { pkgdesc="QEMU GlusterFS block module" - depends=(glib2 glusterfs) + depends=(glibc glusterfs) - install -D build-full/block-gluster.so "$pkgdir/usr/lib/qemu/block-gluster.so" + install -vDm 755 build-full/block-gluster.so -t "$pkgdir/usr/lib/qemu/" } package_qemu-guest-agent() { @@ -211,9 +423,9 @@ depends=(gcc-libs glib2 libudev.so liburing) install=qemu-guest-agent.install - install -D build-full/qga/qemu-ga "$pkgdir/usr/bin/qemu-ga" - install -Dm644 qemu-guest-agent.service "$pkgdir/usr/lib/systemd/system/qemu-guest-agent.service" - install -Dm755 "$srcdir/qemu-$pkgver/scripts/qemu-guest-agent/fsfreeze-hook" "$pkgdir/etc/qemu/fsfreeze-hook" + install -vDm 755 build-full/qga/qemu-ga -t "$pkgdir/usr/bin/" + install -vDm 644 qemu-guest-agent.service -t "$pkgdir/usr/lib/systemd/system/" + install -vDm 755 "$srcdir/qemu-$pkgver/scripts/qemu-guest-agent/fsfreeze-hook" -t "$pkgdir/etc/qemu/" } # vim:set ts=2 sw=2 et: Modified: qemu-guest-agent.install =================================================================== --- qemu-guest-agent.install 2021-10-13 19:48:31 UTC (rev 425874) +++ qemu-guest-agent.install 2021-10-13 20:58:48 UTC (rev 425875) @@ -1,6 +1,9 @@ post_upgrade() { - echo "qemu-ga.service was renamed to qemu-guest-agent.service" - echo "You might want to switch to the new service name:" - echo "# systemctl disable qemu-ga.service" - echo "# systemctl enable qemu-guest-agent.service" + if (( $(vercmp "$2" '5.1.0-2') < 0 )); then + printf "NOTE: The qemu-ga.service has been renamed to qemu-guest-agent.service\n" + fi + if systemctl is-enabled -q qemu-ga.service; then + systemctl disable qemu-ga.service + systemctl enable qemu-guest-agent.service + fi }
