[arch-commits] Commit in qemu/trunk (PKGBUILD qemu-guest-agent.install)

David Runge dvzrv at gemini.archlinux.org
Wed Oct 13 20:58:49 UTC 2021


    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 <tpowa at archlinux.org>
+# Contributor: David Runge <dvzrv at archlinux.org>
 # Contributor: Sébastien "Seblu" Luttringer <seblu at seblu.net>
 
 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
 }



More information about the arch-commits mailing list