summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO1543
-rw-r--r--99-qemu-guest-agent.rules1
-rw-r--r--PKGBUILD1180
-rw-r--r--bridge.conf1
-rw-r--r--qemu-ga.conf10
-rw-r--r--qemu-pinning-7.1.0.patch231
-rw-r--r--qemu-pinning-common.install14
-rw-r--r--qemu-pinning-guest-agent.install (renamed from qemu-guest-agent.install)0
-rw-r--r--qemu-pinning.install (renamed from qemu.install)0
-rw-r--r--qemu-sysusers.conf2
10 files changed, 2567 insertions, 415 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ca4f92e9b158..6a916bcd84c8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
pkgbase = qemu-pinning
- pkgdesc = A generic and open source machine emulator and virtualizer, with the qemu-pinning patch from 64kramsystem (formerly saveriomiroddi) applied.
- pkgver = 6.1.0
- pkgrel = 5
- url = https://wiki.qemu.org/
+ pkgdesc = A generic and open source machine emulator and virtualizer
+ pkgver = 7.1.0
+ pkgrel = 2
+ url = https://www.qemu.org/
arch = x86_64
license = GPL2
license = LGPL2.1
@@ -12,7 +12,6 @@ pkgbase = qemu-pinning
makedepends = cairo
makedepends = ceph
makedepends = curl
- makedepends = cdrtools
makedepends = dtc
makedepends = fuse3
makedepends = gcc-libs
@@ -38,10 +37,12 @@ pkgbase = qemu-pinning
makedepends = liburing
makedepends = libusb
makedepends = libx11
+ makedepends = libxml2
makedepends = libxkbcommon
makedepends = lzo
makedepends = mesa
makedepends = meson
+ makedepends = multipath-tools
makedepends = ncurses
makedepends = ndctl
makedepends = numactl
@@ -51,7 +52,6 @@ pkgbase = qemu-pinning
makedepends = python-sphinx_rtd_theme
makedepends = sdl2
makedepends = sdl2_image
- makedepends = seabios
makedepends = snappy
makedepends = spice-protocol
makedepends = spice
@@ -60,78 +60,307 @@ pkgbase = qemu-pinning
makedepends = vde2
makedepends = virglrenderer
makedepends = vte3
- makedepends = xfsprogs
makedepends = zlib
makedepends = zstd
- source = https://download.qemu.org/qemu-6.1.0.tar.xz
- source = https://download.qemu.org/qemu-6.1.0.tar.xz.sig
- source = fix_unix_sockets.diff::https://gitlab.com/qemu-project/qemu/-/commit/118d527f2e4baec5fe8060b22a6212468b8e4d3f.diff
- source = qemu-pinning-6.1.0.patch::https://github.com/64kramsystem/qemu-pinning/commit/a9120ed261d2417ce61d0b78da5aa04c65f03e1e.patch
- source = qemu-guest-agent.service
+ options = debug
+ source = https://download.qemu.org/qemu-7.1.0.tar.xz
+ source = https://download.qemu.org/qemu-7.1.0.tar.xz.sig
+ source = qemu-pinning-7.1.0.patch
+ source = bridge.conf
+ source = qemu-ga.conf
+ source = qemu-sysusers.conf
source = 65-kvm.rules
+ source = 99-qemu-guest-agent.rules
validpgpkeys = CEACC9E15534EBABB82D3FA03353C9CEF108B584
- sha512sums = 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c
+ sha512sums = c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
sha512sums = SKIP
- sha512sums = a87b0da1d49b4d17e9128544c2b0f00f1ac5242adc7fd9e8c9efd24ab6791ed702b2a0866383d31c1bff3259c281c95a60a96453ad998256a8b133cfd7107a59
- sha512sums = 1e1bafbbb9cbaa39dd99da920d0fe896c84c3f9e97bf3128f06b9050fbefc96461f0a0fe7815ed0741850464af90c8556740d0242efbce781b35946c755d6a4c
- sha512sums = 269c0f0bacbd06a3d817fde02dce26c99d9f55c9e3b74bb710bd7e5cdde7a66b904d2eb794c8a605bf9305e4e3dee261a6e7d4ec9d9134144754914039f176e4
+ sha512sums = 5dd369f4d9b2e86fa8de811ee0fa239a69a95c6702aaba2b662efc4327d29c146c1c41a827fd0b99d1ca00e4b57a8bdb72f7f9d4bdeb9b3b8f4f3ff66cbd8cc7
+ sha512sums = 7b412ffa5dcda47b0a4ec9e2c5e5e1d9eaaaf0a087b7ea3ead3e706ba4c9cafb919beadd088a0299b6f7aab753b81a5eafb545b4842ee5f26646d16544dd02a7
+ sha512sums = 6e838773d63ae0ffdffe2b891bf611d8f5f3c67a9bc4cbbedf8363c150c2c9971c8e44d92270bc581af40eb0ece02192760bcdd6aee229fff55635f3a4825afa
+ sha512sums = 985c2c7a6b5217c87a15b45368089ee91b2f9027b070f9eafa448a18b27ae0d9edd964d52e134b9c1f4aeef4d6aae88afd3f454551ca898affef7f9d28b99b8f
sha512sums = bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99
+ sha512sums = 93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839
+ b2sums = e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf
+ b2sums = SKIP
+ b2sums = 39f4709f455fce94f5a95926a48665134292e2ec78d144762a406d35fd801b3270b394891c42f799e494f4f9bb7fefb78c53643f7ba558630f457f37260ac2a4
+ b2sums = b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8
+ b2sums = 2102e4a34e11e406e9606c97e026e7b92e887e296a7f77b9cede1b37119d0df33735f3588628167b2b8e32244c196c491bfab623e2caddac9014d445aa2a6d98
+ b2sums = 69177b962d2fda20cafdbc6226fd017b5ca5a0f69f866d055dc1c744b7b2955059f47c693cfb5b4c863ec159569fdabd4327ab4b8a95566a68cd8ce38e339c7a
+ b2sums = 3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8
+ b2sums = a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7
-pkgname = qemu-pinning
+pkgname = qemu-pinning-common
+ install = qemu-pinning-common.install
+ license = GPL2
+ license = LGPL2.1
+ license = BSD
+ license = MIT
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = hicolor-icon-theme
+ depends = libcap-ng
+ depends = libcap-ng.so
+ options = !strip
+
+pkgname = qemu-pinning-audio-alsa
+ pkgdesc = QEMU ALSA audio driver
depends = alsa-lib
depends = libasound.so
- depends = bzip2
- depends = libbz2.so
- depends = cairo
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-audio-dbus
+ pkgdesc = QEMU D-Bus audio driver
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libgobject-2.0.so
+ depends = libglib-2.0.so
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-audio-jack
+ pkgdesc = QEMU JACK audio driver
+ depends = jack
+ depends = libjack.so
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-audio-oss
+ pkgdesc = QEMU OSS audio driver
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-audio-pa
+ pkgdesc = QEMU PulseAudio audio driver
+ depends = glibc
+ depends = libpulse
+ depends = libpulse.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-audio-sdl
+ pkgdesc = QEMU SDL audio driver
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = sdl2
+
+pkgname = qemu-pinning-audio-spice
+ pkgdesc = QEMU spice audio driver
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-spice-core
+ depends = spice
+ depends = libspice-server.so
+
+pkgname = qemu-pinning-block-curl
+ pkgdesc = QEMU curl block driver
depends = curl
depends = libcurl.so
+ depends = gcc-libs
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-dmg
+ pkgdesc = QEMU DMG block driver
+ depends = bzip2
+ depends = libbz2.so
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-gluster
+ pkgdesc = QEMU Gluster block driver
+ depends = glibc
+ depends = glusterfs
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-iscsi
+ pkgdesc = QEMU iSCSI block driver
+ depends = gcc-libs
+ depends = glibc
+ depends = libiscsi
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-nfs
+ pkgdesc = QEMU NFS block driver
+ depends = gcc-libs
+ depends = glibc
+ depends = libnfs
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-rbd
+ pkgdesc = QEMU Ceph/RBD block driver
+ depends = ceph-libs
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-block-ssh
+ pkgdesc = QEMU SSH block driver
+ depends = gcc-libs
+ depends = glibc
+ depends = libssh
+ depends = libssh.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-chardev-baum
+ pkgdesc = QEMU Baum chardev driver
+ depends = brltty
+ depends = libbrlapi.so
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-chardev-spice
+ pkgdesc = QEMU spice chardev driver
+ depends = libspice-server.so
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-spice-core
+
+pkgname = qemu-pinning-docs
+ pkgdesc = A generic and open source machine emulator and virtualizer - documentation
+
+pkgname = qemu-pinning-guest-agent
+ pkgdesc = QEMU Guest Agent
+ install = qemu-pinning-guest-agent.install
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = liburing
+ depends = liburing.so
+ depends = systemd-libs
+ depends = libudev.so
+ backup = etc/qemu/qemu-ga.conf
+ backup = etc/qemu/fsfreeze-hook
+
+pkgname = qemu-pinning-hw-display-qxl
+ pkgdesc = QEMU QXL display device
+ depends = gcc-libs
+ depends = glibc
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-spice-core
+ depends = spice
+ depends = libspice-server.so
+
+pkgname = qemu-pinning-hw-display-virtio-gpu
+ pkgdesc = QEMU virtio-gpu display device
+ depends = glibc
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-display-virtio-gpu-gl
+ pkgdesc = QEMU virtio-gpu-gl display device
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = virglrenderer
+
+pkgname = qemu-pinning-hw-display-virtio-gpu-pci
+ pkgdesc = QEMU virtio-gpu-pci display device
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-display-virtio-gpu-pci-gl
+ pkgdesc = QEMU virtio-gpu-pci-gl display device
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-display-virtio-vga
+ pkgdesc = QEMU virtio-vga display device
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-display-virtio-vga-gl
+ pkgdesc = QEMU virtio-vga-gl display device
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-s390x-virtio-gpu-ccw
+ pkgdesc = QEMU s390x-virtio-gpu-ccw display device
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-usb-host
+ pkgdesc = QEMU USB host device
+ depends = glibc
+ depends = libusb
+ depends = libusb-1.0.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-hw-usb-redirect
+ pkgdesc = QEMU usbredir device
+ depends = gcc-libs
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = usbredir
+
+pkgname = qemu-pinning-hw-usb-smartcard
+ pkgdesc = QEMU USB smartcard device
+ depends = gcc-libs
+ depends = libcacard
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = glibc
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-img
+ pkgdesc = QEMU tooling for manipulating disk images
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = gnutls
+ depends = libaio
+ depends = liburing
+ depends = liburing.so
+ depends = pam
+ depends = libpam.so
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-pr-helper
+ pkgdesc = QEMU persistent reservation utility
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = gnutls
+ depends = libcap-ng
+ depends = libcap-ng.so
+ depends = liburing
+ depends = liburing.so
+ depends = multipath-tools
+ depends = pam
+ depends = libpam.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-system-aarch64
+ pkgdesc = QEMU system emulator for AARCH64
depends = dtc
depends = fuse3
depends = gcc-libs
- depends = gdk-pixbuf2
- depends = libgdk_pixbuf-2.0.so
depends = glib2
depends = libgio-2.0.so
depends = libglib-2.0.so
depends = libgmodule-2.0.so
- depends = libgobject-2.0.so
depends = gnutls
- depends = gtk3
- depends = libgdk-3.so
- depends = libgtk-3.so
- depends = jack
- depends = libjack.so
depends = libaio
depends = libbpf
depends = libbpf.so
- depends = libcacard
- depends = libcap-ng
- depends = libcap-ng.so
- depends = libepoxy
- depends = libjpeg
+ depends = libjpeg-turbo
depends = libjpeg.so
- depends = libnfs
depends = libpng
- depends = libpulse
- depends = libpulse.so
depends = libsasl
depends = libseccomp
depends = libseccomp.so
depends = libslirp
depends = libslirp.so
- depends = libssh
- depends = libssh.so
- depends = libusb
- depends = libusb-1.0.so
depends = liburing
depends = liburing.so
- depends = libx11
- depends = libxkbcommon
- depends = libxkbcommon.so
depends = lzo
- depends = mesa
- depends = ncurses
- depends = libncursesw.so
depends = ndctl
depends = numactl
depends = libnuma.so
@@ -139,34 +368,59 @@ pkgname = qemu-pinning
depends = libpam.so
depends = pixman
depends = libpixman-1.so
- depends = seabios
- depends = sdl2
- depends = sdl2_image
+ depends = qemu-pinning-common
depends = snappy
- depends = spice
- depends = libspice-server.so
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ depends = edk2-armvirt
depends = systemd-libs
depends = libudev.so
- depends = usbredir
- depends = virglrenderer
+
+pkgname = qemu-pinning-system-alpha
+ pkgdesc = QEMU system emulator for Alpha
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
depends = vde2
- depends = vte3
- depends = libvte-2.91.so
depends = zlib
depends = zstd
depends = libzstd.so
- optdepends = brltty: for braille device support
- optdepends = qemu-pinning-arch-extra: extra architectures support
- provides = qemu-headless
- conflicts = qemu-headless
- replaces = qemu-kvm
+ depends = systemd-libs
+ depends = libudev.so
+ options = !strip
-pkgname = qemu-pinning-headless
- pkgdesc = QEMU without GUI
- depends = bzip2
- depends = libbz2.so
- depends = curl
- depends = libcurl.so
+pkgname = qemu-pinning-system-arm
+ pkgdesc = QEMU system emulator for ARM
depends = dtc
depends = fuse3
depends = gcc-libs
@@ -174,69 +428,128 @@ pkgname = qemu-pinning-headless
depends = libgio-2.0.so
depends = libglib-2.0.so
depends = libgmodule-2.0.so
- depends = libgobject-2.0.so
depends = gnutls
depends = libaio
depends = libbpf
depends = libbpf.so
- depends = libcacard
- depends = libcap-ng
- depends = libcap-ng.so
- depends = libjpeg
+ depends = libjpeg-turbo
depends = libjpeg.so
- depends = libnfs
depends = libpng
depends = libsasl
depends = libseccomp
depends = libseccomp.so
depends = libslirp
depends = libslirp.so
- depends = libssh
- depends = libssh.so
- depends = libusb
- depends = libusb-1.0.so
depends = liburing
depends = liburing.so
- depends = libxkbcommon
- depends = libxkbcommon.so
depends = lzo
depends = ndctl
depends = numactl
depends = libnuma.so
- depends = ncurses
- depends = libncursesw.so
depends = pam
depends = libpam.so
depends = pixman
depends = libpixman-1.so
- depends = seabios
+ depends = qemu-pinning-common
depends = snappy
- depends = spice
- depends = libspice-server.so
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
depends = systemd-libs
depends = libudev.so
- depends = usbredir
+ options = !strip
+
+pkgname = qemu-pinning-system-avr
+ pkgdesc = QEMU system emulator for AVR
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
depends = vde2
depends = zlib
depends = zstd
depends = libzstd.so
- optdepends = qemu-pinning-headless-arch-extra: extra architectures support
-pkgname = qemu-pinning-arch-extra
- pkgdesc = QEMU for foreign architectures
+pkgname = qemu-pinning-system-cris
+ pkgdesc = QEMU system emulator for CRIS
depends = dtc
depends = fuse3
depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
depends = gnutls
depends = libaio
depends = libbpf
depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-hppa
+ pkgdesc = QEMU system emulator for HPPA
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
depends = glib2
depends = libgio-2.0.so
depends = libglib-2.0.so
- depends = libgobject-2.0.so
depends = libgmodule-2.0.so
- depends = libjpeg
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
depends = libjpeg.so
depends = libpng
depends = libsasl
@@ -254,35 +567,381 @@ pkgname = qemu-pinning-arch-extra
depends = libpam.so
depends = pixman
depends = libpixman-1.so
+ depends = qemu-pinning-common
depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
depends = systemd-libs
depends = libudev.so
- depends = qemu-pinning
+ options = !strip
+
+pkgname = qemu-pinning-system-m68k
+ pkgdesc = QEMU system emulator for ColdFire (m68k)
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-microblaze
+ pkgdesc = QEMU system emulator for Microblaze
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-mips
+ pkgdesc = QEMU system emulator for MIPS
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
depends = vde2
depends = zlib
depends = zstd
depends = libzstd.so
- optdepends = edk2-armvirt: for aarch64 UEFI support
- optdepends = edk2-ovmf: for ia32 and x64 UEFI support
- provides = qemu-headless-arch-extra
- conflicts = qemu-headless-arch-extra
+ depends = systemd-libs
+ depends = libudev.so
+
+pkgname = qemu-pinning-system-nios2
+ pkgdesc = QEMU system emulator for nios2
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-or1k
+ pkgdesc = QEMU system emulator for OpenRisc32
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-ppc
+ pkgdesc = QEMU system emulator for PPC
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ depends = systemd-libs
+ depends = libudev.so
options = !strip
-pkgname = qemu-pinning-headless-arch-extra
- pkgdesc = QEMU without GUI, for foreign architectures
+pkgname = qemu-pinning-system-riscv
+ pkgdesc = QEMU system emulator for RISC-V
depends = dtc
depends = fuse3
depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
depends = gnutls
depends = libaio
depends = libbpf
depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ depends = systemd-libs
+ depends = libudev.so
+ options = !strip
+
+pkgname = qemu-pinning-system-rx
+ pkgdesc = QEMU system emulator for RX
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-s390x
+ pkgdesc = QEMU system emulator for S390
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ options = !strip
+
+pkgname = qemu-pinning-system-sh4
+ pkgdesc = QEMU system emulator for SH4
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
depends = glib2
depends = libgio-2.0.so
depends = libglib-2.0.so
- depends = libgobject-2.0.so
depends = libgmodule-2.0.so
- depends = libjpeg
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
depends = libjpeg.so
depends = libpng
depends = libsasl
@@ -300,37 +959,693 @@ pkgname = qemu-pinning-headless-arch-extra
depends = libpam.so
depends = pixman
depends = libpixman-1.so
+ depends = qemu-pinning-common
depends = snappy
- depends = qemu-pinning-headless
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
depends = systemd-libs
depends = libudev.so
+
+pkgname = qemu-pinning-system-sparc
+ pkgdesc = QEMU system emulator for SPARC
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
depends = vde2
depends = zlib
depends = zstd
depends = libzstd.so
- optdepends = edk2-armvirt: for aarch64 UEFI support
- optdepends = edk2-ovmf: for ia32 and x64 UEFI support
+ depends = systemd-libs
+ depends = libudev.so
options = !strip
-pkgname = qemu-pinning-block-iscsi
- pkgdesc = QEMU iSCSI block module
+pkgname = qemu-pinning-system-tricore
+ pkgdesc = QEMU system emulator for tricore
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+
+pkgname = qemu-pinning-system-x86
+ pkgdesc = QEMU system emulator for x86
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ depends = edk2-ovmf
+ depends = seabios
+ depends = systemd-libs
+ depends = libudev.so
+ options = !strip
+
+pkgname = qemu-pinning-system-xtensa
+ pkgdesc = QEMU system emulator for Xtensa
+ depends = dtc
+ depends = fuse3
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = gnutls
+ depends = libaio
+ depends = libbpf
+ depends = libbpf.so
+ depends = libjpeg-turbo
+ depends = libjpeg.so
+ depends = libpng
+ depends = libsasl
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = libslirp
+ depends = libslirp.so
+ depends = liburing
+ depends = liburing.so
+ depends = lzo
+ depends = ndctl
+ depends = numactl
+ depends = libnuma.so
+ depends = pam
+ depends = libpam.so
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = snappy
+ depends = vde2
+ depends = zlib
+ depends = zstd
+ depends = libzstd.so
+ depends = systemd-libs
+ depends = libudev.so
+
+pkgname = qemu-pinning-tests
+ pkgdesc = QEMU tests
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-tools
+ pkgdesc = QEMU tools
+ depends = curl
+ depends = libcurl.so
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
depends = glibc
- depends = libiscsi
+ depends = libxkbcommon
+ depends = libxkbcommon.so
+ depends = python
+ depends = qemu-pinning-common
-pkgname = qemu-pinning-block-rbd
- pkgdesc = QEMU RBD block module
+pkgname = qemu-pinning-ui-curses
+ pkgdesc = QEMU curses UI driver
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
depends = glibc
- depends = ceph-libs
+ depends = ncurses
+ depends = libncursesw.so
+ depends = qemu-pinning-common
-pkgname = qemu-pinning-block-gluster
- pkgdesc = QEMU GlusterFS block module
+pkgname = qemu-pinning-ui-dbus
+ pkgdesc = QEMU D-Bus UI driver
+ depends = gcc-libs
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libgobject-2.0.so
+ depends = libglib-2.0.so
depends = glibc
- depends = glusterfs
+ depends = libepoxy
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
-pkgname = qemu-pinning-guest-agent
- pkgdesc = QEMU Guest Agent
- install = qemu-guest-agent.install
+pkgname = qemu-pinning-ui-egl-headless
+ pkgdesc = QEMU EGL headless UI driver
+ depends = glibc
+ depends = libepoxy
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-opengl
+
+pkgname = qemu-pinning-ui-gtk
+ pkgdesc = QEMU GTK UI driver
+ depends = cairo
depends = gcc-libs
+ depends = gdk-pixbuf2
+ depends = libgdk_pixbuf-2.0.so
depends = glib2
- depends = libudev.so
+ depends = libgobject-2.0.so
+ depends = libglib-2.0.so
+ depends = glibc
+ depends = gtk3
+ depends = libgdk-3.so
+ depends = libgtk-3.so
+ depends = libepoxy
+ depends = libx11
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-opengl
+ depends = vte3
+ depends = libvte-2.91.so
+
+pkgname = qemu-pinning-ui-opengl
+ pkgdesc = QEMU OpenGL UI driver
+ depends = glibc
+ depends = libepoxy
+ depends = mesa
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-ui-sdl
+ pkgdesc = QEMU SDL UI driver
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = glibc
+ depends = libx11
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = sdl2_image
+ depends = sdl2
+
+pkgname = qemu-pinning-ui-spice-app
+ pkgdesc = QEMU spice app UI driver
+ depends = glib2
+ depends = libgio-2.0.so
+ depends = libglib-2.0.so
+ depends = glibc
+ depends = qemu-pinning-common
+ depends = qemu-pinning-chardev-spice
+ depends = qemu-pinning-ui-spice-core
+
+pkgname = qemu-pinning-ui-spice-core
+ pkgdesc = QEMU spice core UI driver
+ depends = gcc-libs
+ depends = glibc
+ depends = pixman
+ depends = libpixman-1.so
+ depends = qemu-pinning-common
+ depends = qemu-pinning-ui-opengl
+ depends = spice
+ depends = libspice-server.so
+
+pkgname = qemu-pinning-user
+ pkgdesc = QEMU user mode emulation
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = gnutls
depends = liburing
+ depends = liburing.so
+ depends = qemu-pinning-common
+ depends = zlib
+
+pkgname = qemu-pinning-vhost-user-gpu
+ pkgdesc = QEMU vhost-user-gpu display device
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = pixman
+ depends = libpixman-1.so
+ depends = mesa
+ depends = qemu-pinning-common
+ depends = virglrenderer
+
+pkgname = qemu-pinning-virtiofsd
+ pkgdesc = QEMU virtio-fs shared filesystem daemon
+ depends = gcc-libs
+ depends = glib2
+ depends = libglib-2.0.so
+ depends = libgmodule-2.0.so
+ depends = glibc
+ depends = libcap-ng
+ depends = libcap-ng.so
+ depends = libseccomp
+ depends = libseccomp.so
+ depends = qemu-pinning-common
+
+pkgname = qemu-pinning-base
+ pkgdesc = A basic QEMU setup for headless environments
+ depends = qemu-pinning-common
+ depends = qemu-pinning-audio-spice
+ depends = qemu-pinning-block-curl
+ depends = qemu-pinning-block-dmg
+ depends = qemu-pinning-block-nfs
+ depends = qemu-pinning-block-ssh
+ depends = qemu-pinning-chardev-spice
+ depends = qemu-pinning-hw-display-qxl
+ depends = qemu-pinning-hw-display-virtio-gpu
+ depends = qemu-pinning-hw-display-virtio-gpu-gl
+ depends = qemu-pinning-hw-display-virtio-gpu-pci
+ depends = qemu-pinning-hw-display-virtio-gpu-pci-gl
+ depends = qemu-pinning-hw-display-virtio-vga
+ depends = qemu-pinning-hw-display-virtio-vga-gl
+ depends = qemu-pinning-hw-s390x-virtio-gpu-ccw
+ depends = qemu-pinning-hw-usb-host
+ depends = qemu-pinning-hw-usb-redirect
+ depends = qemu-pinning-hw-usb-smartcard
+ depends = qemu-pinning-img
+ depends = qemu-pinning-pr-helper
+ depends = qemu-pinning-system-x86
+ depends = qemu-pinning-tools
+ depends = qemu-pinning-ui-curses
+ depends = qemu-pinning-ui-spice-app
+ depends = qemu-pinning-ui-spice-core
+ depends = qemu-pinning-virtiofsd
+ optdepends = qemu-pinning-audio-alsa: for ALSA audio driver
+ optdepends = qemu-pinning-audio-dbus: for D-Bus audio driver
+ optdepends = qemu-pinning-audio-jack: for JACK audio driver
+ optdepends = qemu-pinning-audio-oss: for OSS audio driver
+ optdepends = qemu-pinning-audio-pa: for PulseAudio audio driver
+ optdepends = qemu-pinning-audio-sdl: for SDL audio driver
+ optdepends = qemu-pinning-audio-spice: for spice audio driver
+ optdepends = qemu-pinning-block-curl: for curl block driver
+ optdepends = qemu-pinning-block-dmg: for DMG block driver
+ optdepends = qemu-pinning-block-gluster: for Gluster block driver
+ optdepends = qemu-pinning-block-iscsi: for iSCSI block driver
+ optdepends = qemu-pinning-block-nfs: for NFS block driver
+ optdepends = qemu-pinning-block-rbd: for Ceph/RBD block driver
+ optdepends = qemu-pinning-block-ssh: for SSH block driver
+ optdepends = qemu-pinning-chardev-baum: for Baum chardev driver
+ optdepends = qemu-pinning-chardev-spice: for spice chardev driver
+ optdepends = qemu-pinning-docs: for documentation
+ optdepends = qemu-pinning-hw-display-qxl: for QXL display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-gl: for virtio-gpu-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu: for virtio-gpu display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci: for virtio-gpu-pci display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci-gl: for virtio-gpu-pci-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-vga: for virtio-gpu-vga display device
+ optdepends = qemu-pinning-hw-display-virtio-vga-gl: for virtio-gpu-vga-gl display device
+ optdepends = qemu-pinning-hw-s390x-virtio-gpu-ccw: for s390x-virtio-gpu-ccw display device
+ optdepends = qemu-pinning-hw-usb-host: for USB host device
+ optdepends = qemu-pinning-hw-usb-redirect: for usbredir device
+ optdepends = qemu-pinning-hw-usb-smartcard: for USB smartcard device
+ optdepends = qemu-pinning-img: for manipulating disk images
+ optdepends = qemu-pinning-pr-helper: for persistent reservation utility
+ optdepends = qemu-pinning-system-aarch64: for AARCH64 system emulator
+ optdepends = qemu-pinning-system-alpha: for Alpha system emulator
+ optdepends = qemu-pinning-system-arm: for ARM system emulator
+ optdepends = qemu-pinning-system-avr: for AVR system emulator
+ optdepends = qemu-pinning-system-cris: for CRIS system emulator
+ optdepends = qemu-pinning-system-hppa: for HPPA system emulator
+ optdepends = qemu-pinning-system-m68k: for ColdFire (m68k) system emulator
+ optdepends = qemu-pinning-system-microblaze: for Microblaze system emulator
+ optdepends = qemu-pinning-system-mips: for MIPS system emulator
+ optdepends = qemu-pinning-system-nios2: for nios2 system emulator
+ optdepends = qemu-pinning-system-or1k: for OpenRisc32 system emulator
+ optdepends = qemu-pinning-system-ppc: for PPC system emulator
+ optdepends = qemu-pinning-system-riscv: for RISC-V system emulator
+ optdepends = qemu-pinning-system-rx: for RX system emulator
+ optdepends = qemu-pinning-system-s390x: for S390 system emulator
+ optdepends = qemu-pinning-system-sh4: for SH4 system emulator
+ optdepends = qemu-pinning-system-sparc: for SPARC system emulator
+ optdepends = qemu-pinning-system-tricore: for tricore system emulator
+ optdepends = qemu-pinning-system-x86: for x86 system emulator
+ optdepends = qemu-pinning-system-xtensa: for Xtensa system emulator
+ optdepends = qemu-pinning-tests: for QEMU tests
+ optdepends = qemu-pinning-tools: for QEMU tools
+ optdepends = qemu-pinning-ui-curses: for curses UI driver
+ optdepends = qemu-pinning-ui-dbus: for D-Bus UI driver
+ optdepends = qemu-pinning-ui-egl-headless: for EGL headless UI driver
+ optdepends = qemu-pinning-ui-gtk: for GTK UI driver
+ optdepends = qemu-pinning-ui-opengl: for OpenGL UI driver
+ optdepends = qemu-pinning-ui-sdl: for SDL UI driver
+ optdepends = qemu-pinning-ui-spice-app: for spice app UI driver
+ optdepends = qemu-pinning-ui-spice-core: for spice core UI driver
+ optdepends = qemu-pinning-user: for user mode emulation of QEMU targets
+ optdepends = qemu-pinning-vhost-user-gpu: for vhost-user-gpu display device
+ optdepends = qemu-pinning-virtiofsd: for virtio-fs shared filesystem daemon
+ optdepends = samba: for SMB/CIFS server support
+ provides = qemu=7.1.0
+ provides = qemu-headless
+ conflicts = qemu
+ conflicts = qemu-headless
+ replaces = qemu-pinning-headless
+
+pkgname = qemu-pinning-desktop
+ pkgdesc = A QEMU setup for desktop environments
+ depends = qemu-pinning-common
+ depends = qemu-pinning-audio-alsa
+ depends = qemu-pinning-audio-dbus
+ depends = qemu-pinning-audio-jack
+ depends = qemu-pinning-audio-oss
+ depends = qemu-pinning-audio-pa
+ depends = qemu-pinning-audio-sdl
+ depends = qemu-pinning-audio-spice
+ depends = qemu-pinning-block-curl
+ depends = qemu-pinning-block-dmg
+ depends = qemu-pinning-block-nfs
+ depends = qemu-pinning-block-ssh
+ depends = qemu-pinning-chardev-spice
+ depends = qemu-pinning-hw-display-qxl
+ depends = qemu-pinning-hw-display-virtio-gpu
+ depends = qemu-pinning-hw-display-virtio-gpu-gl
+ depends = qemu-pinning-hw-display-virtio-gpu-pci
+ depends = qemu-pinning-hw-display-virtio-gpu-pci-gl
+ depends = qemu-pinning-hw-display-virtio-vga
+ depends = qemu-pinning-hw-display-virtio-vga-gl
+ depends = qemu-pinning-hw-s390x-virtio-gpu-ccw
+ depends = qemu-pinning-hw-usb-host
+ depends = qemu-pinning-hw-usb-redirect
+ depends = qemu-pinning-hw-usb-smartcard
+ depends = qemu-pinning-img
+ depends = qemu-pinning-pr-helper
+ depends = qemu-pinning-system-x86
+ depends = qemu-pinning-tools
+ depends = qemu-pinning-ui-curses
+ depends = qemu-pinning-ui-dbus
+ depends = qemu-pinning-ui-egl-headless
+ depends = qemu-pinning-ui-gtk
+ depends = qemu-pinning-ui-opengl
+ depends = qemu-pinning-ui-sdl
+ depends = qemu-pinning-ui-spice-app
+ depends = qemu-pinning-ui-spice-core
+ depends = qemu-pinning-vhost-user-gpu
+ depends = qemu-pinning-virtiofsd
+ optdepends = qemu-pinning-audio-alsa: for ALSA audio driver
+ optdepends = qemu-pinning-audio-dbus: for D-Bus audio driver
+ optdepends = qemu-pinning-audio-jack: for JACK audio driver
+ optdepends = qemu-pinning-audio-oss: for OSS audio driver
+ optdepends = qemu-pinning-audio-pa: for PulseAudio audio driver
+ optdepends = qemu-pinning-audio-sdl: for SDL audio driver
+ optdepends = qemu-pinning-audio-spice: for spice audio driver
+ optdepends = qemu-pinning-block-curl: for curl block driver
+ optdepends = qemu-pinning-block-dmg: for DMG block driver
+ optdepends = qemu-pinning-block-gluster: for Gluster block driver
+ optdepends = qemu-pinning-block-iscsi: for iSCSI block driver
+ optdepends = qemu-pinning-block-nfs: for NFS block driver
+ optdepends = qemu-pinning-block-rbd: for Ceph/RBD block driver
+ optdepends = qemu-pinning-block-ssh: for SSH block driver
+ optdepends = qemu-pinning-chardev-baum: for Baum chardev driver
+ optdepends = qemu-pinning-chardev-spice: for spice chardev driver
+ optdepends = qemu-pinning-docs: for documentation
+ optdepends = qemu-pinning-hw-display-qxl: for QXL display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-gl: for virtio-gpu-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu: for virtio-gpu display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci: for virtio-gpu-pci display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci-gl: for virtio-gpu-pci-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-vga: for virtio-gpu-vga display device
+ optdepends = qemu-pinning-hw-display-virtio-vga-gl: for virtio-gpu-vga-gl display device
+ optdepends = qemu-pinning-hw-s390x-virtio-gpu-ccw: for s390x-virtio-gpu-ccw display device
+ optdepends = qemu-pinning-hw-usb-host: for USB host device
+ optdepends = qemu-pinning-hw-usb-redirect: for usbredir device
+ optdepends = qemu-pinning-hw-usb-smartcard: for USB smartcard device
+ optdepends = qemu-pinning-img: for manipulating disk images
+ optdepends = qemu-pinning-pr-helper: for persistent reservation utility
+ optdepends = qemu-pinning-system-aarch64: for AARCH64 system emulator
+ optdepends = qemu-pinning-system-alpha: for Alpha system emulator
+ optdepends = qemu-pinning-system-arm: for ARM system emulator
+ optdepends = qemu-pinning-system-avr: for AVR system emulator
+ optdepends = qemu-pinning-system-cris: for CRIS system emulator
+ optdepends = qemu-pinning-system-hppa: for HPPA system emulator
+ optdepends = qemu-pinning-system-m68k: for ColdFire (m68k) system emulator
+ optdepends = qemu-pinning-system-microblaze: for Microblaze system emulator
+ optdepends = qemu-pinning-system-mips: for MIPS system emulator
+ optdepends = qemu-pinning-system-nios2: for nios2 system emulator
+ optdepends = qemu-pinning-system-or1k: for OpenRisc32 system emulator
+ optdepends = qemu-pinning-system-ppc: for PPC system emulator
+ optdepends = qemu-pinning-system-riscv: for RISC-V system emulator
+ optdepends = qemu-pinning-system-rx: for RX system emulator
+ optdepends = qemu-pinning-system-s390x: for S390 system emulator
+ optdepends = qemu-pinning-system-sh4: for SH4 system emulator
+ optdepends = qemu-pinning-system-sparc: for SPARC system emulator
+ optdepends = qemu-pinning-system-tricore: for tricore system emulator
+ optdepends = qemu-pinning-system-x86: for x86 system emulator
+ optdepends = qemu-pinning-system-xtensa: for Xtensa system emulator
+ optdepends = qemu-pinning-tests: for QEMU tests
+ optdepends = qemu-pinning-tools: for QEMU tools
+ optdepends = qemu-pinning-ui-curses: for curses UI driver
+ optdepends = qemu-pinning-ui-dbus: for D-Bus UI driver
+ optdepends = qemu-pinning-ui-egl-headless: for EGL headless UI driver
+ optdepends = qemu-pinning-ui-gtk: for GTK UI driver
+ optdepends = qemu-pinning-ui-opengl: for OpenGL UI driver
+ optdepends = qemu-pinning-ui-sdl: for SDL UI driver
+ optdepends = qemu-pinning-ui-spice-app: for spice app UI driver
+ optdepends = qemu-pinning-ui-spice-core: for spice core UI driver
+ optdepends = qemu-pinning-user: for user mode emulation of QEMU targets
+ optdepends = qemu-pinning-vhost-user-gpu: for vhost-user-gpu display device
+ optdepends = qemu-pinning-virtiofsd: for virtio-fs shared filesystem daemon
+ optdepends = samba: for SMB/CIFS server support
+ provides = qemu=7.1.0
+ conflicts = qemu
+ replaces = qemu-pinning<7
+
+pkgname = qemu-pinning-emulators-full
+ pkgdesc = All QEMU user mode and system emulators
+ depends = qemu-pinning-system-aarch64
+ depends = qemu-pinning-system-alpha
+ depends = qemu-pinning-system-arm
+ depends = qemu-pinning-system-avr
+ depends = qemu-pinning-system-cris
+ depends = qemu-pinning-system-hppa
+ depends = qemu-pinning-system-m68k
+ depends = qemu-pinning-system-microblaze
+ depends = qemu-pinning-system-mips
+ depends = qemu-pinning-system-nios2
+ depends = qemu-pinning-system-or1k
+ depends = qemu-pinning-system-ppc
+ depends = qemu-pinning-system-riscv
+ depends = qemu-pinning-system-rx
+ depends = qemu-pinning-system-s390x
+ depends = qemu-pinning-system-sh4
+ depends = qemu-pinning-system-sparc
+ depends = qemu-pinning-system-tricore
+ depends = qemu-pinning-system-x86
+ depends = qemu-pinning-system-xtensa
+ depends = qemu-pinning-user
+ provides = qemu-pinning-arch-extra
+ provides = qemu-pinning-headless-arch-extra
+ conflicts = qemu-pinning-arch-extra
+ conflicts = qemu-pinning-headless-arch-extra
+ replaces = qemu-pinning-arch-extra
+ replaces = qemu-pinning-headless-arch-extra
+
+pkgname = qemu-pinning-full
+ pkgdesc = A full QEMU setup
+ depends = qemu-pinning-common
+ depends = qemu-pinning-audio-alsa
+ depends = qemu-pinning-audio-dbus
+ depends = qemu-pinning-audio-jack
+ depends = qemu-pinning-audio-oss
+ depends = qemu-pinning-audio-pa
+ depends = qemu-pinning-audio-sdl
+ depends = qemu-pinning-audio-spice
+ depends = qemu-pinning-block-curl
+ depends = qemu-pinning-block-dmg
+ depends = qemu-pinning-block-gluster
+ depends = qemu-pinning-block-iscsi
+ depends = qemu-pinning-block-nfs
+ depends = qemu-pinning-block-rbd
+ depends = qemu-pinning-block-ssh
+ depends = qemu-pinning-chardev-baum
+ depends = qemu-pinning-chardev-spice
+ depends = qemu-pinning-docs
+ depends = qemu-pinning-hw-display-qxl
+ depends = qemu-pinning-hw-display-virtio-gpu
+ depends = qemu-pinning-hw-display-virtio-gpu-gl
+ depends = qemu-pinning-hw-display-virtio-gpu-pci
+ depends = qemu-pinning-hw-display-virtio-gpu-pci-gl
+ depends = qemu-pinning-hw-display-virtio-vga
+ depends = qemu-pinning-hw-display-virtio-vga-gl
+ depends = qemu-pinning-hw-s390x-virtio-gpu-ccw
+ depends = qemu-pinning-hw-usb-host
+ depends = qemu-pinning-hw-usb-redirect
+ depends = qemu-pinning-hw-usb-smartcard
+ depends = qemu-pinning-img
+ depends = qemu-pinning-pr-helper
+ depends = qemu-pinning-system-aarch64
+ depends = qemu-pinning-system-alpha
+ depends = qemu-pinning-system-arm
+ depends = qemu-pinning-system-avr
+ depends = qemu-pinning-system-cris
+ depends = qemu-pinning-system-hppa
+ depends = qemu-pinning-system-m68k
+ depends = qemu-pinning-system-microblaze
+ depends = qemu-pinning-system-mips
+ depends = qemu-pinning-system-nios2
+ depends = qemu-pinning-system-or1k
+ depends = qemu-pinning-system-ppc
+ depends = qemu-pinning-system-riscv
+ depends = qemu-pinning-system-rx
+ depends = qemu-pinning-system-s390x
+ depends = qemu-pinning-system-sh4
+ depends = qemu-pinning-system-sparc
+ depends = qemu-pinning-system-tricore
+ depends = qemu-pinning-system-x86
+ depends = qemu-pinning-system-xtensa
+ depends = qemu-pinning-tests
+ depends = qemu-pinning-tools
+ depends = qemu-pinning-ui-curses
+ depends = qemu-pinning-ui-dbus
+ depends = qemu-pinning-ui-egl-headless
+ depends = qemu-pinning-ui-gtk
+ depends = qemu-pinning-ui-opengl
+ depends = qemu-pinning-ui-sdl
+ depends = qemu-pinning-ui-spice-app
+ depends = qemu-pinning-ui-spice-core
+ depends = qemu-pinning-user
+ depends = qemu-pinning-vhost-user-gpu
+ depends = qemu-pinning-virtiofsd
+ optdepends = qemu-pinning-audio-alsa: for ALSA audio driver
+ optdepends = qemu-pinning-audio-dbus: for D-Bus audio driver
+ optdepends = qemu-pinning-audio-jack: for JACK audio driver
+ optdepends = qemu-pinning-audio-oss: for OSS audio driver
+ optdepends = qemu-pinning-audio-pa: for PulseAudio audio driver
+ optdepends = qemu-pinning-audio-sdl: for SDL audio driver
+ optdepends = qemu-pinning-audio-spice: for spice audio driver
+ optdepends = qemu-pinning-block-curl: for curl block driver
+ optdepends = qemu-pinning-block-dmg: for DMG block driver
+ optdepends = qemu-pinning-block-gluster: for Gluster block driver
+ optdepends = qemu-pinning-block-iscsi: for iSCSI block driver
+ optdepends = qemu-pinning-block-nfs: for NFS block driver
+ optdepends = qemu-pinning-block-rbd: for Ceph/RBD block driver
+ optdepends = qemu-pinning-block-ssh: for SSH block driver
+ optdepends = qemu-pinning-chardev-baum: for Baum chardev driver
+ optdepends = qemu-pinning-chardev-spice: for spice chardev driver
+ optdepends = qemu-pinning-docs: for documentation
+ optdepends = qemu-pinning-hw-display-qxl: for QXL display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-gl: for virtio-gpu-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu: for virtio-gpu display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci: for virtio-gpu-pci display device
+ optdepends = qemu-pinning-hw-display-virtio-gpu-pci-gl: for virtio-gpu-pci-gl display device
+ optdepends = qemu-pinning-hw-display-virtio-vga: for virtio-gpu-vga display device
+ optdepends = qemu-pinning-hw-display-virtio-vga-gl: for virtio-gpu-vga-gl display device
+ optdepends = qemu-pinning-hw-s390x-virtio-gpu-ccw: for s390x-virtio-gpu-ccw display device
+ optdepends = qemu-pinning-hw-usb-host: for USB host device
+ optdepends = qemu-pinning-hw-usb-redirect: for usbredir device
+ optdepends = qemu-pinning-hw-usb-smartcard: for USB smartcard device
+ optdepends = qemu-pinning-img: for manipulating disk images
+ optdepends = qemu-pinning-pr-helper: for persistent reservation utility
+ optdepends = qemu-pinning-system-aarch64: for AARCH64 system emulator
+ optdepends = qemu-pinning-system-alpha: for Alpha system emulator
+ optdepends = qemu-pinning-system-arm: for ARM system emulator
+ optdepends = qemu-pinning-system-avr: for AVR system emulator
+ optdepends = qemu-pinning-system-cris: for CRIS system emulator
+ optdepends = qemu-pinning-system-hppa: for HPPA system emulator
+ optdepends = qemu-pinning-system-m68k: for ColdFire (m68k) system emulator
+ optdepends = qemu-pinning-system-microblaze: for Microblaze system emulator
+ optdepends = qemu-pinning-system-mips: for MIPS system emulator
+ optdepends = qemu-pinning-system-nios2: for nios2 system emulator
+ optdepends = qemu-pinning-system-or1k: for OpenRisc32 system emulator
+ optdepends = qemu-pinning-system-ppc: for PPC system emulator
+ optdepends = qemu-pinning-system-riscv: for RISC-V system emulator
+ optdepends = qemu-pinning-system-rx: for RX system emulator
+ optdepends = qemu-pinning-system-s390x: for S390 system emulator
+ optdepends = qemu-pinning-system-sh4: for SH4 system emulator
+ optdepends = qemu-pinning-system-sparc: for SPARC system emulator
+ optdepends = qemu-pinning-system-tricore: for tricore system emulator
+ optdepends = qemu-pinning-system-x86: for x86 system emulator
+ optdepends = qemu-pinning-system-xtensa: for Xtensa system emulator
+ optdepends = qemu-pinning-tests: for QEMU tests
+ optdepends = qemu-pinning-tools: for QEMU tools
+ optdepends = qemu-pinning-ui-curses: for curses UI driver
+ optdepends = qemu-pinning-ui-dbus: for D-Bus UI driver
+ optdepends = qemu-pinning-ui-egl-headless: for EGL headless UI driver
+ optdepends = qemu-pinning-ui-gtk: for GTK UI driver
+ optdepends = qemu-pinning-ui-opengl: for OpenGL UI driver
+ optdepends = qemu-pinning-ui-sdl: for SDL UI driver
+ optdepends = qemu-pinning-ui-spice-app: for spice app UI driver
+ optdepends = qemu-pinning-ui-spice-core: for spice core UI driver
+ optdepends = qemu-pinning-user: for user mode emulation of QEMU targets
+ optdepends = qemu-pinning-vhost-user-gpu: for vhost-user-gpu display device
+ optdepends = qemu-pinning-virtiofsd: for virtio-fs shared filesystem daemon
+ optdepends = samba: for SMB/CIFS server support
+ provides = qemu=7.1.0
+ conflicts = qemu
diff --git a/99-qemu-guest-agent.rules b/99-qemu-guest-agent.rules
new file mode 100644
index 000000000000..d72a4183b6cf
--- /dev/null
+++ b/99-qemu-guest-agent.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service"
diff --git a/PKGBUILD b/PKGBUILD
index 0f8e097a1df8..568c78b005ea 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,25 +1,44 @@
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-# Contributor: David Runge <dvzrv@archlinux.org>
+# Maintainer: David Runge <dvzrv@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Sébastien "Seblu" Luttringer <seblu@seblu.net>
pkgbase=qemu-pinning
_pkgname=qemu
pkgname=(
- qemu-pinning
- qemu-pinning-headless
- qemu-pinning-arch-extra
- qemu-pinning-headless-arch-extra
- qemu-pinning-block-{iscsi,rbd,gluster}
+ qemu-pinning-common
+ qemu-pinning-audio-{alsa,dbus,jack,oss,pa,sdl,spice}
+ qemu-pinning-block-{curl,dmg,gluster,iscsi,nfs,rbd,ssh}
+ qemu-pinning-chardev-{baum,spice}
+ qemu-pinning-docs
qemu-pinning-guest-agent
+ qemu-pinning-hw-display-{qxl,virtio-{gpu{,-{gl,pci,pci-gl}},vga{,-gl}}}
+ qemu-pinning-hw-s390x-virtio-gpu-ccw
+ qemu-pinning-hw-usb-{host,redirect,smartcard}
+ qemu-pinning-img
+ qemu-pinning-pr-helper
+ qemu-pinning-system-{aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}
+ qemu-pinning-tests
+ qemu-pinning-tools
+ qemu-pinning-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}
+ qemu-pinning-user
+ qemu-pinning-vhost-user-gpu
+ qemu-pinning-virtiofsd
+ qemu-pinning-{base,desktop,emulators-full,full}
)
-pkgdesc="A generic and open source machine emulator and virtualizer, with the qemu-pinning patch from 64kramsystem (formerly saveriomiroddi) applied."
-pkgver=6.1.0
-pkgrel=5
+pkgver=7.1.0
+pkgrel=2
+pkgdesc="A generic and open source machine emulator and virtualizer"
arch=(x86_64)
+url="https://www.qemu.org/"
license=(GPL2 LGPL2.1)
-url="https://wiki.qemu.org/"
# TODO: consider providing rdma-core
# TODO: consider providing lzfse
+# TODO: package systemtap
+# TODO: package openbios for qemu-pinning-system-{ppc,sparc}
+# TODO: package /usr/share/qemu/{efi,pxe}-* for qemu (ipxe)
+# TODO: package /usr/share/qemu/slof.bin for qemu-pinning-system-ppc (slof)
+# TODO: package /usr/share/qemu/sgabios.bin for qemu-pinning-system-x86 (sgabios)
+# TODO: package static libs of glib2 and pcre for qemu-pinning-user-static
makedepends=(
alsa-lib
brltty
@@ -27,7 +46,6 @@ makedepends=(
cairo
ceph
curl
- cdrtools
dtc
fuse3
gcc-libs
@@ -53,10 +71,12 @@ makedepends=(
liburing
libusb
libx11
+ libxml2
libxkbcommon
lzo
mesa
meson
+ multipath-tools
ncurses
ndctl
numactl
@@ -66,7 +86,6 @@ makedepends=(
python-sphinx_rtd_theme
sdl2
sdl2_image
- seabios
snappy
spice-protocol
spice
@@ -75,362 +94,921 @@ makedepends=(
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-pinning-$pkgver.patch::https://github.com/64kramsystem/qemu-pinning/commit/a9120ed261d2417ce61d0b78da5aa04c65f03e1e.patch
- qemu-guest-agent.service
- 65-kvm.rules)
-sha512sums=('3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c'
+# NOTE: currently the debug package for qemu >= 7.0.0 contains an invalid /build dir
+options=(debug)
+source=(
+ https://download.qemu.org/qemu-$pkgver.tar.xz{,.sig}
+ qemu-pinning-$pkgver.patch
+ bridge.conf
+ qemu-ga.conf
+ qemu-sysusers.conf
+ 65-kvm.rules
+ 99-qemu-guest-agent.rules
+)
+sha512sums=('c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f'
'SKIP'
- 'a87b0da1d49b4d17e9128544c2b0f00f1ac5242adc7fd9e8c9efd24ab6791ed702b2a0866383d31c1bff3259c281c95a60a96453ad998256a8b133cfd7107a59'
- '1e1bafbbb9cbaa39dd99da920d0fe896c84c3f9e97bf3128f06b9050fbefc96461f0a0fe7815ed0741850464af90c8556740d0242efbce781b35946c755d6a4c'
- '269c0f0bacbd06a3d817fde02dce26c99d9f55c9e3b74bb710bd7e5cdde7a66b904d2eb794c8a605bf9305e4e3dee261a6e7d4ec9d9134144754914039f176e4'
- 'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99')
+ '5dd369f4d9b2e86fa8de811ee0fa239a69a95c6702aaba2b662efc4327d29c146c1c41a827fd0b99d1ca00e4b57a8bdb72f7f9d4bdeb9b3b8f4f3ff66cbd8cc7'
+ '7b412ffa5dcda47b0a4ec9e2c5e5e1d9eaaaf0a087b7ea3ead3e706ba4c9cafb919beadd088a0299b6f7aab753b81a5eafb545b4842ee5f26646d16544dd02a7'
+ '6e838773d63ae0ffdffe2b891bf611d8f5f3c67a9bc4cbbedf8363c150c2c9971c8e44d92270bc581af40eb0ece02192760bcdd6aee229fff55635f3a4825afa'
+ '985c2c7a6b5217c87a15b45368089ee91b2f9027b070f9eafa448a18b27ae0d9edd964d52e134b9c1f4aeef4d6aae88afd3f454551ca898affef7f9d28b99b8f'
+ 'bdf05f99407491e27a03aaf845b7cc8acfa2e0e59968236f10ffc905e5e3d5e8569df496fd71c887da2b5b8d1902494520c7da2d3a8258f7fd93a881dd610c99'
+ '93b905046fcea8a0a89513b9259c222494ab3b91319dde23baebcb40dc17376a56661b159b99785d6e816831974a0f3cbd7b2f7d89e5fc3c258f88f4492f3839')
+b2sums=('e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf'
+ 'SKIP'
+ '39f4709f455fce94f5a95926a48665134292e2ec78d144762a406d35fd801b3270b394891c42f799e494f4f9bb7fefb78c53643f7ba558630f457f37260ac2a4'
+ 'b1eca364aa60f130ff5e649f5d004d3fcb75356d3421a4542efdfc410d39b40d9434d15e1dd7bbdbd315cb72b5290d3ea5f77f9c41961a5601cd28ef7bbe72e8'
+ '2102e4a34e11e406e9606c97e026e7b92e887e296a7f77b9cede1b37119d0df33735f3588628167b2b8e32244c196c491bfab623e2caddac9014d445aa2a6d98'
+ '69177b962d2fda20cafdbc6226fd017b5ca5a0f69f866d055dc1c744b7b2955059f47c693cfb5b4c863ec159569fdabd4327ab4b8a95566a68cd8ce38e339c7a'
+ '3559fe9c4f744194939770047a0a02d07ff791c845a80726d0bc7b8c4801ed5f11150e7d5adab813844b3dab1cf38c3a5a87fb6efbb8fc9dccdda9fa56409ed8'
+ 'a9a2bdfeeb44eb86cbe88ac7c65f72800bdb2fd5cecb02f3a258cf9470b52832180aab43c89d481f7fd4d067342a9a27dd6c8a94d625b95d6e2b912e47d274e7')
validpgpkeys=('CEACC9E15534EBABB82D3FA03353C9CEF108B584') # Michael Roth <flukshun@gmail.com>
-case $CARCH in
- i?86) _corearch=i386 ;;
- x86_64) _corearch=x86_64 ;;
-esac
+_qemu_system_deps=(
+ dtc
+ fuse3
+ gcc-libs
+ glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so
+ gnutls
+ libaio
+ libbpf libbpf.so
+ libjpeg-turbo 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
+ qemu-pinning-common
+ snappy
+ vde2
+ zlib
+ zstd libzstd.so
+)
+
+# TODO: qemu-pinning-user-static
+# 'qemu-pinning-user-static: for static user mode emulation of QEMU targets'
+_qemu_optdepends=(
+ 'qemu-pinning-audio-alsa: for ALSA audio driver'
+ 'qemu-pinning-audio-dbus: for D-Bus audio driver'
+ 'qemu-pinning-audio-jack: for JACK audio driver'
+ 'qemu-pinning-audio-oss: for OSS audio driver'
+ 'qemu-pinning-audio-pa: for PulseAudio audio driver'
+ 'qemu-pinning-audio-sdl: for SDL audio driver'
+ 'qemu-pinning-audio-spice: for spice audio driver'
+ 'qemu-pinning-block-curl: for curl block driver'
+ 'qemu-pinning-block-dmg: for DMG block driver'
+ 'qemu-pinning-block-gluster: for Gluster block driver'
+ 'qemu-pinning-block-iscsi: for iSCSI block driver'
+ 'qemu-pinning-block-nfs: for NFS block driver'
+ 'qemu-pinning-block-rbd: for Ceph/RBD block driver'
+ 'qemu-pinning-block-ssh: for SSH block driver'
+ 'qemu-pinning-chardev-baum: for Baum chardev driver'
+ 'qemu-pinning-chardev-spice: for spice chardev driver'
+ 'qemu-pinning-docs: for documentation'
+ 'qemu-pinning-hw-display-qxl: for QXL display device'
+ 'qemu-pinning-hw-display-virtio-gpu-gl: for virtio-gpu-gl display device'
+ 'qemu-pinning-hw-display-virtio-gpu: for virtio-gpu display device'
+ 'qemu-pinning-hw-display-virtio-gpu-pci: for virtio-gpu-pci display device'
+ 'qemu-pinning-hw-display-virtio-gpu-pci-gl: for virtio-gpu-pci-gl display device'
+ 'qemu-pinning-hw-display-virtio-vga: for virtio-gpu-vga display device'
+ 'qemu-pinning-hw-display-virtio-vga-gl: for virtio-gpu-vga-gl display device'
+ 'qemu-pinning-hw-s390x-virtio-gpu-ccw: for s390x-virtio-gpu-ccw display device'
+ 'qemu-pinning-hw-usb-host: for USB host device'
+ 'qemu-pinning-hw-usb-redirect: for usbredir device'
+ 'qemu-pinning-hw-usb-smartcard: for USB smartcard device'
+ 'qemu-pinning-img: for manipulating disk images'
+ 'qemu-pinning-pr-helper: for persistent reservation utility'
+ 'qemu-pinning-system-aarch64: for AARCH64 system emulator'
+ 'qemu-pinning-system-alpha: for Alpha system emulator'
+ 'qemu-pinning-system-arm: for ARM system emulator'
+ 'qemu-pinning-system-avr: for AVR system emulator'
+ 'qemu-pinning-system-cris: for CRIS system emulator'
+ 'qemu-pinning-system-hppa: for HPPA system emulator'
+ 'qemu-pinning-system-m68k: for ColdFire (m68k) system emulator'
+ 'qemu-pinning-system-microblaze: for Microblaze system emulator'
+ 'qemu-pinning-system-mips: for MIPS system emulator'
+ 'qemu-pinning-system-nios2: for nios2 system emulator'
+ 'qemu-pinning-system-or1k: for OpenRisc32 system emulator'
+ 'qemu-pinning-system-ppc: for PPC system emulator'
+ 'qemu-pinning-system-riscv: for RISC-V system emulator'
+ 'qemu-pinning-system-rx: for RX system emulator'
+ 'qemu-pinning-system-s390x: for S390 system emulator'
+ 'qemu-pinning-system-sh4: for SH4 system emulator'
+ 'qemu-pinning-system-sparc: for SPARC system emulator'
+ 'qemu-pinning-system-tricore: for tricore system emulator'
+ 'qemu-pinning-system-x86: for x86 system emulator'
+ 'qemu-pinning-system-xtensa: for Xtensa system emulator'
+ 'qemu-pinning-tests: for QEMU tests'
+ 'qemu-pinning-tools: for QEMU tools'
+ 'qemu-pinning-ui-curses: for curses UI driver'
+ 'qemu-pinning-ui-dbus: for D-Bus UI driver'
+ 'qemu-pinning-ui-egl-headless: for EGL headless UI driver'
+ 'qemu-pinning-ui-gtk: for GTK UI driver'
+ 'qemu-pinning-ui-opengl: for OpenGL UI driver'
+ 'qemu-pinning-ui-sdl: for SDL UI driver'
+ 'qemu-pinning-ui-spice-app: for spice app UI driver'
+ 'qemu-pinning-ui-spice-core: for spice core UI driver'
+ 'qemu-pinning-user: for user mode emulation of QEMU targets'
+ 'qemu-pinning-vhost-user-gpu: for vhost-user-gpu display device'
+ 'qemu-pinning-virtiofsd: for virtio-fs shared filesystem daemon'
+ 'samba: for SMB/CIFS server support'
+)
+
+_pick() {
+ local p="$1" f d; shift
+ for f; do
+ d="$srcdir/$p/${f#$pkgdir/}"
+ mkdir -p "$(dirname "$d")"
+ mv "$f" "$d"
+ rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
+ done
+}
prepare() {
- mkdir build-{full,headless}
- mkdir -p extra-arch-{full,headless}/usr/{bin,share/qemu}
+ # extract licenses for TCG
+ sed -n '1,23p' ${_pkgname}-$pkgver/tcg/tcg-internal.h > tcg.LICENSE.MIT
+ sed -n '1,23p' ${_pkgname}-$pkgver/tcg/arm/tcg-target.c.inc > tcg-arm.LICENSE.MIT
+ sed -n '1,23p' ${_pkgname}-$pkgver/tcg/tci/tcg-target.h > tci.LICENSE.MIT
+
+ # install qemu-pinning-pr-helper.socket to sockets.target
+ sed -e 's/multi-user.target/sockets.target/g' -i ${_pkgname}-$pkgver/contrib/systemd/qemu-pr-helper.socket
+
+ # create build dir
+ mkdir -vp build
+ mkdir -vp build-static
cd ${_pkgname}-${pkgver}
patch -p1 < ../qemu-pinning-$pkgver.patch
- patch -p1 < ../fix_unix_sockets.diff # FS#72115
}
build() {
- _build full \
- --audio-drv-list="pa alsa sdl"
-
- _build headless \
- --audio-drv-list= \
- --disable-sdl \
- --disable-gtk \
- --disable-vte \
- --disable-brlapi \
- --disable-opengl \
- --disable-virglrenderer
-}
-
-_build() (
- cd build-$1
-
- ../${_pkgname}-${pkgver}/configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --libexecdir=/usr/lib/qemu \
- --extra-ldflags="$LDFLAGS" \
- --smbd=/usr/bin/smbd \
- --enable-modules \
- --enable-sdl \
- --enable-slirp=system \
- --enable-xfsctl \
- "${@:2}"
-
- ninja
-)
+ # Build only minimal debug info to reduce size
+ CFLAGS+=' -g1'
+ CXXFLAGS+=' -g1'
+ (
+ cd build
+ ../${_pkgname}-$pkgver/configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/qemu \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/qemu \
+ --enable-modules \
+ --enable-sdl \
+ --enable-slirp=system \
+ --enable-tpm \
+ --smbd=/usr/bin/smbd \
+ --tls-priority=@QEMU,SYSTEM \
+ --with-coroutine=ucontext
+ ninja
+ )
-package_qemu-pinning() {
- depends=(
- alsa-lib libasound.so
- bzip2 libbz2.so
- cairo
- 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
- vte3 libvte-2.91.so
- zlib
- zstd libzstd.so
+# TODO: qemu-pinning-user-static
+# (
+# cd build-static
+# ../${_pkgname}-$pkgver/configure \
+# --enable-attr \
+# --enable-linux-user \
+# --enable-tcg \
+# --disable-install-blobs \
+# --static
+# ninja
+# )
+}
+
+package_qemu-pinning-common() {
+ license+=(BSD MIT)
+ depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so hicolor-icon-theme libcap-ng libcap-ng.so)
+ install=$pkgname.install
+ options=(!strip)
+
+ meson install -C build --destdir "$pkgdir"
+
+ install -vdm 755 "$pkgdir/usr/lib/binfmt.d/"
+ ${_pkgname}-$pkgver/scripts/qemu-binfmt-conf.sh --systemd ALL --exportdir "$pkgdir/usr/lib/binfmt.d/" --qemu-path "/usr/bin"
+
+# TODO: qemu-user-static
+# for _conf in "$pkgdir/usr/lib/binfmt.d/"*; do
+# cat "$_conf" | tr -d '\n' | sed "s/:$/-static:F/" > "${_conf//.conf/-static.conf}"
+# done
+#
+# meson install -C build-static --destdir "$pkgdir"
+# for _src in "$pkgdir/usr/bin/qemu-"*; do
+# mv -v "$_src" "$pkgdir/usr/bin/$(basename "$_src")-static"
+# done
+
+ install -vDm 644 bridge.conf -t "$pkgdir/etc/${_pkgname}/"
+ install -vDm 644 ${_pkgname}-$pkgver/${_pkgname}.sasl "$pkgdir/etc/sasl2/${_pkgname}.conf"
+ install -vDm 644 ${_pkgname}-$pkgver/LICENSE *LICENSE* -t "$pkgdir/usr/share/licenses/${_pkgname}/"
+ install -vDm 644 ${_pkgname}-sysusers.conf "$pkgdir/usr/lib/sysusers.d/${_pkgname}.conf"
+
+ # bridge_helper needs suid: https://bugs.archlinux.org/task/32565
+ chmod u+s "$pkgdir/usr/lib/qemu/qemu-bridge-helper"
+
+ # remoe invalid directory
+ rm -frv "$pkgdir/var"
+
+ # remove unneeded files
+ find "$pkgdir" -name .buildinfo -delete
+
+ # remove files provided by seabios
+ rm -fv "$pkgdir/usr/share/${_pkgname}/"{bios,vgabios}*
+
+ # remove files provided by edk2-{armvirt,ovmf}
+ rm -fv "$pkgdir/usr/share/${_pkgname}/"edk2-*
+ rm -frv "$pkgdir/usr/share/${_pkgname}/firmware"
+
+ (
+ # 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
+ ln -sv ${_pkgname}.1.gz "$pkgdir/usr/share/man/man1/$_name.1.gz"
+ done
)
- optdepends=(
- 'brltty: for braille device support'
- 'qemu-pinning-arch-extra: extra architectures support'
+
+ (
+ # pick files for all split packages
+ cd "$pkgdir"
+
+ _pick qemu-guest-agent usr/bin/qemu-ga
+ _pick qemu-guest-agent usr/share/man/man8/qemu-ga.8*
+
+ _pick qemu-audio-alsa usr/lib/qemu/audio-alsa.so
+ _pick qemu-audio-dbus usr/lib/qemu/audio-dbus.so
+ _pick qemu-audio-jack usr/lib/qemu/audio-jack.so
+ _pick qemu-audio-oss usr/lib/qemu/audio-oss.so
+ _pick qemu-audio-pa usr/lib/qemu/audio-pa.so
+ _pick qemu-audio-sdl usr/lib/qemu/audio-sdl.so
+ _pick qemu-audio-spice usr/lib/qemu/audio-spice.so
+
+ _pick qemu-block-curl usr/lib/qemu/block-curl.so
+ _pick qemu-block-dmg usr/lib/qemu/block-dmg*.so
+ _pick qemu-block-gluster usr/lib/qemu/block-gluster.so
+ _pick qemu-block-iscsi usr/lib/qemu/block-iscsi.so
+ _pick qemu-block-nfs usr/lib/qemu/block-nfs.so
+ _pick qemu-block-rbd usr/lib/qemu/block-rbd.so
+ _pick qemu-block-ssh usr/lib/qemu/block-ssh.so
+
+ _pick qemu-chardev-baum usr/lib/qemu/chardev-baum.so
+ _pick qemu-chardev-spice usr/lib/qemu/chardev-spice.so
+
+ _pick qemu-docs usr/share/doc/qemu
+
+ _pick qemu-hw-display-qxl usr/lib/qemu/hw-display-qxl.so
+ _pick qemu-hw-display-virtio-gpu usr/lib/qemu/hw-display-virtio-gpu.so
+ _pick qemu-hw-display-virtio-gpu-gl usr/lib/qemu/hw-display-virtio-gpu-gl.so
+ _pick qemu-hw-display-virtio-gpu-pci usr/lib/qemu/hw-display-virtio-gpu-pci.so
+ _pick qemu-hw-display-virtio-gpu-pci-gl usr/lib/qemu/hw-display-virtio-gpu-pci-gl.so
+ _pick qemu-hw-display-virtio-vga usr/lib/qemu/hw-display-virtio-vga.so
+ _pick qemu-hw-display-virtio-vga-gl usr/lib/qemu/hw-display-virtio-vga-gl.so
+
+ _pick qemu-hw-usb-host usr/lib/qemu/hw-usb-host.so
+ _pick qemu-hw-usb-redirect usr/lib/qemu/hw-usb-redirect.so
+ _pick qemu-hw-usb-smartcard usr/lib/qemu/hw-usb-smartcard.so
+
+ _pick qemu-img usr/bin/qemu-{img,io,nbd,storage-daemon}
+ _pick qemu-img usr/share/man/man1/qemu-{img,storage-daemon}.1*
+ _pick qemu-img usr/share/man/man7/qemu-storage-daemon-qmp-ref.7*
+ _pick qemu-img usr/share/man/man8/qemu-nbd.8*
+
+ _pick qemu-pr-helper usr/bin/qemu-pr-helper
+ _pick qemu-pr-helper usr/share/man/man8/qemu-pr-helper.8*
+
+ _pick qemu-hw-s390x-virtio-gpu-ccw usr/lib/qemu/hw-s390x-virtio-gpu-ccw.so
+
+ _pick qemu-system-aarch64 usr/bin/qemu-system-aarch64
+ _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-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-avr usr/bin/qemu-system-avr
+ _pick qemu-system-avr usr/share/man/man1/qemu-system-avr.1*
+
+ _pick qemu-system-cris usr/bin/qemu-system-cris
+ _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-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-mips usr/bin/qemu-system-mips{,64,64el,el}
+ _pick qemu-system-mips usr/share/man/man1/qemu-system-mips{,64,64el,el}.1*
+
+ _pick qemu-system-nios2 usr/bin/qemu-system-nios2
+ _pick qemu-system-nios2 usr/share/man/man1/qemu-system-nios2.1*
+
+ _pick qemu-system-or1k usr/bin/qemu-system-or1k
+ _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
+ # 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
+ # 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-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-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-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*
+
+ _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-xtensa usr/bin/qemu-system-xtensa{,eb}
+ _pick qemu-system-xtensa usr/share/man/man1/qemu-system-xtensa{,eb}.1*
+
+ _pick qemu-tests usr/lib/qemu/accel-qtest-*.so
+
+ _pick qemu-tools usr/bin/{elf2dmp,qemu-{edid,keymap}}
+ _pick qemu-tools usr/share/qemu/trace-events-all
+
+ _pick qemu-ui-curses usr/lib/qemu/ui-curses.so
+ _pick qemu-ui-dbus usr/lib/qemu/ui-dbus.so
+ _pick qemu-ui-egl-headless usr/lib/qemu/ui-egl-headless.so
+ _pick qemu-ui-gtk usr/lib/qemu/ui-gtk.so
+ _pick qemu-ui-opengl usr/lib/qemu/ui-opengl.so
+ _pick qemu-ui-sdl usr/lib/qemu/ui-sdl.so
+ _pick qemu-ui-spice-app usr/lib/qemu/ui-spice-app.so
+ _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 usr/bin/qemu-{aarch64{,_be},alpha,arm{,eb},cris,hexagon,hppa,i386,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-vhost-user-gpu usr/lib/qemu/vhost-user-gpu
+ _pick qemu-vhost-user-gpu usr/share/qemu/vhost-user/50-qemu-gpu.json
+
+ _pick qemu-virtiofsd usr/lib/qemu/virtiofsd
+ _pick qemu-virtiofsd usr/share/man/man1/virtiofsd.1*
+ _pick qemu-virtiofsd usr/share/qemu/vhost-user/50-qemu-virtiofsd.json
)
- provides=(qemu-headless)
- conflicts=(qemu-headless)
- replaces=(qemu-kvm)
+}
- _package full
+package_qemu-pinning-audio-alsa() {
+ pkgdesc="QEMU ALSA audio driver"
+ depends=(alsa-lib libasound.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-headless() {
- pkgdesc="QEMU without GUI"
- 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
+package_qemu-pinning-audio-dbus() {
+ pkgdesc="QEMU D-Bus audio driver"
+ depends=(gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-audio-jack() {
+ pkgdesc="QEMU JACK audio driver"
+ depends=(jack libjack.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-audio-oss() {
+ pkgdesc="QEMU OSS audio driver"
+ depends=(glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-audio-pa() {
+ pkgdesc="QEMU PulseAudio audio driver"
+ depends=(glibc libpulse libpulse.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-audio-sdl() {
+ pkgdesc="QEMU SDL audio driver"
+ depends=(glibc qemu-pinning-common sdl2)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-audio-spice() {
+ pkgdesc="QEMU spice audio driver"
+ depends=(glibc qemu-pinning-common qemu-pinning-ui-spice-core spice libspice-server.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-curl() {
+ pkgdesc="QEMU curl block driver"
+ depends=(curl libcurl.so gcc-libs glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-dmg() {
+ pkgdesc="QEMU DMG block driver"
+ depends=(bzip2 libbz2.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-gluster() {
+ pkgdesc="QEMU Gluster block driver"
+ depends=(glibc glusterfs qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-iscsi() {
+ pkgdesc="QEMU iSCSI block driver"
+ depends=(gcc-libs glibc libiscsi qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-nfs() {
+ pkgdesc="QEMU NFS block driver"
+ depends=(gcc-libs glibc libnfs qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-rbd() {
+ pkgdesc="QEMU Ceph/RBD block driver"
+ depends=(ceph-libs glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-block-ssh() {
+ pkgdesc="QEMU SSH block driver"
+ depends=(gcc-libs glibc libssh libssh.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-chardev-baum() {
+ pkgdesc="QEMU Baum chardev driver"
+ depends=(brltty libbrlapi.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-chardev-spice() {
+ pkgdesc="QEMU spice chardev driver"
+ depends=(libspice-server.so glibc qemu-pinning-common qemu-pinning-ui-spice-core)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-docs() {
+ pkgdesc+=" - documentation"
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-guest-agent() {
+ pkgdesc="QEMU Guest Agent"
+ depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc liburing liburing.so systemd-libs libudev.so)
+ backup=(
+ etc/${_pkgname}/${_pkgname}-ga.conf
+ etc/${_pkgname}/fsfreeze-hook
)
- optdepends=('qemu-pinning-headless-arch-extra: extra architectures support')
+ install=$pkgname.install
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+ install -vDm 644 ${_pkgname}-$pkgver/contrib/systemd/${pkgname/-pinning/}.service -t "$pkgdir/usr/lib/systemd/system/"
+ install -vDm 644 99-${pkgname/-pinning/}.rules -t "$pkgdir/usr/lib/udev/rules.d/"
+ install -vDm 644 ${_pkgname}-ga.conf -t "$pkgdir/etc/${_pkgname}/"
+ install -vDm 644 ${_pkgname}-$pkgver/scripts/${pkgname/-pinning/}/fsfreeze-hook -t "$pkgdir/etc/${_pkgname}/"
+ install -vdm 755 "$pkgdir/etc/${_pkgname}/fsfreeze-hook.d"
+}
- _package headless
+package_qemu-pinning-hw-display-qxl() {
+ pkgdesc="QEMU QXL display device"
+ depends=(gcc-libs glibc pixman libpixman-1.so qemu-pinning-common qemu-pinning-ui-spice-core spice libspice-server.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-_package() {
- optdepends+=('samba: SMB/CIFS server support'
- 'qemu-pinning-block-iscsi: iSCSI block support'
- 'qemu-pinning-block-rbd: RBD block support'
- 'qemu-pinning-block-gluster: glusterfs block support')
- install=qemu.install
- options=(!strip !emptydirs)
+package_qemu-pinning-hw-display-virtio-gpu() {
+ pkgdesc="QEMU virtio-gpu display device"
+ depends=(glibc pixman libpixman-1.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- DESTDIR="$pkgdir" ninja -C build-$1 install "${@:2}"
+package_qemu-pinning-hw-display-virtio-gpu-gl() {
+ pkgdesc="QEMU virtio-gpu-gl display device"
+ depends=(glibc qemu-pinning-common virglrenderer)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # systemd stuff
- install -Dm644 65-kvm.rules "$pkgdir/usr/lib/udev/rules.d/65-kvm.rules"
+package_qemu-pinning-hw-display-virtio-gpu-pci() {
+ pkgdesc="QEMU virtio-gpu-pci display device"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # remove conflicting /var/run directory
- cd "$pkgdir"
- rm -r var
+package_qemu-pinning-hw-display-virtio-gpu-pci-gl() {
+ pkgdesc="QEMU virtio-gpu-pci-gl display device"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- cd usr/lib
+package_qemu-pinning-hw-display-virtio-vga() {
+ pkgdesc="QEMU virtio-vga display device"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # bridge_helper needs suid
- # https://bugs.archlinux.org/task/32565
- chmod u+s qemu/qemu-bridge-helper
+package_qemu-pinning-hw-display-virtio-vga-gl() {
+ pkgdesc="QEMU virtio-vga-gl display device"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # remove split block modules
- rm qemu/block-{iscsi,rbd,gluster}.so
+package_qemu-pinning-hw-s390x-virtio-gpu-ccw() {
+ pkgdesc="QEMU s390x-virtio-gpu-ccw display device"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- cd ../bin
+package_qemu-pinning-system-aarch64() {
+ pkgdesc="QEMU system emulator for AARCH64"
+ depends=("${_qemu_system_deps[@]}" edk2-armvirt systemd-libs libudev.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # remove extra arch
- for _bin in qemu-*; do
- [[ -f $_bin ]] || continue
+package_qemu-pinning-system-alpha() {
+ pkgdesc="QEMU system emulator for Alpha"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- case ${_bin#qemu-} in
- # guest agent
- ga) rm "$_bin"; continue ;;
+package_qemu-pinning-system-arm() {
+ pkgdesc="QEMU system emulator for ARM"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # tools
- edid|img|io|keymap|nbd|pr-helper|storage-daemon) continue ;;
+package_qemu-pinning-system-avr() {
+ pkgdesc="QEMU system emulator for AVR"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # core emu
- system-${_corearch}) continue ;;
- esac
+package_qemu-pinning-system-cris() {
+ pkgdesc="QEMU system emulator for CRIS"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- mv "$_bin" "$srcdir/extra-arch-$1/usr/bin"
- done
+package_qemu-pinning-system-hppa() {
+ pkgdesc="QEMU system emulator for HPPA"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- cd ../share/qemu
- for _blob in *; do
- [[ -f $_blob ]] || continue
+package_qemu-pinning-system-m68k() {
+ pkgdesc="QEMU system emulator for ColdFire (m68k)"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- case $_blob in
- # provided by seabios package
- bios.bin|bios-256k.bin|vgabios-cirrus.bin|vgabios-qxl.bin|\
- vgabios-stdvga.bin|vgabios-vmware.bin|vgabios-virtio.bin|vgabios-bochs-display.bin|\
- vgabios-ramfb.bin) rm "$_blob"; continue ;;
+package_qemu-pinning-system-microblaze() {
+ pkgdesc="QEMU system emulator for Microblaze"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # provided by edk2-ovmf package
- edk2-*) rm "$_blob"; continue ;;
+package_qemu-pinning-system-mips() {
+ pkgdesc="QEMU system emulator for MIPS"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # iPXE ROMs
- efi-*|pxe-*) continue ;;
+package_qemu-pinning-system-nios2() {
+ pkgdesc="QEMU system emulator for nios2"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # core blobs
- bios-microvm.bin|kvmvapic.bin|linuxboot*|multiboot.bin|sgabios.bin|vgabios*) continue ;;
+package_qemu-pinning-system-or1k() {
+ pkgdesc="QEMU system emulator for OpenRisc32"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # Trace events definitions
- trace-events*) continue ;;
- esac
+package_qemu-pinning-system-ppc() {
+ pkgdesc="QEMU system emulator for PPC"
+ # NOTE: will require openbios
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- mv "$_blob" "$srcdir/extra-arch-$1/usr/share/qemu"
- done
+package_qemu-pinning-system-riscv() {
+ pkgdesc="QEMU system emulator for RISC-V"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- # provided by edk2-ovmf package
- rm -r firmware
+package_qemu-pinning-system-rx() {
+ pkgdesc="QEMU system emulator for RX"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- cd ..
- if [ "$1" = headless ]; then rm -r {applications,icons}; fi
+package_qemu-pinning-system-s390x() {
+ pkgdesc="QEMU system emulator for S390"
+ depends=("${_qemu_system_deps[@]}")
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-arch-extra() {
- pkgdesc="QEMU for foreign architectures"
- 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-pinning
- 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)
+package_qemu-pinning-system-sh4() {
+ pkgdesc="QEMU system emulator for SH4"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-system-sparc() {
+ pkgdesc="QEMU system emulator for SPARC"
+ # NOTE: will require openbios
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-system-tricore() {
+ pkgdesc="QEMU system emulator for tricore"
+ depends=("${_qemu_system_deps[@]}")
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-system-x86() {
+ pkgdesc="QEMU system emulator for x86"
+ depends=("${_qemu_system_deps[@]}" edk2-ovmf seabios systemd-libs libudev.so)
options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-system-xtensa() {
+ pkgdesc="QEMU system emulator for Xtensa"
+ depends=("${_qemu_system_deps[@]}" systemd-libs libudev.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-hw-usb-host() {
+ pkgdesc="QEMU USB host device"
+ depends=(glibc libusb libusb-1.0.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- mv -v extra-arch-full/usr "$pkgdir"
+package_qemu-pinning-hw-usb-redirect() {
+ pkgdesc="QEMU usbredir device"
+ depends=(gcc-libs glibc qemu-pinning-common usbredir)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-headless-arch-extra() {
- pkgdesc="QEMU without GUI, for foreign architectures"
+package_qemu-pinning-hw-usb-smartcard() {
+ pkgdesc="QEMU USB smartcard device"
+ depends=(gcc-libs libcacard glib2 libglib-2.0.so glibc qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-img() {
+ pkgdesc="QEMU tooling for manipulating disk images"
+ depends=(fuse3 gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libaio liburing liburing.so pam libpam.so zlib zstd libzstd.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-pr-helper() {
+ pkgdesc="QEMU persistent reservation utility"
+ depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls libcap-ng libcap-ng.so liburing liburing.so multipath-tools pam libpam.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+ install -vDm 644 ${_pkgname}-$pkgver/contrib/systemd/${pkgname/-pinning/}.{service,socket} -t "$pkgdir/usr/lib/systemd/system/"
+}
+
+package_qemu-pinning-tests() {
+ pkgdesc="QEMU tests"
+ depends=(qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-tools() {
+ pkgdesc="QEMU tools"
+ depends=(curl libcurl.so gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libxkbcommon libxkbcommon.so python qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+ install -vDm 644 ${_pkgname}-$pkgver/scripts/dump-guest-memory.py -t "$pkgdir/usr/share/${_pkgname}/"
+ install -vDm 755 ${_pkgname}-$pkgver/scripts/simpletrace.py -t "$pkgdir/usr/share/${_pkgname}/"
+ install -vDm 644 ${_pkgname}-$pkgver/scripts/tracetool/*.py -t "$pkgdir/usr/share/${_pkgname}/tracetool/"
+ install -vDm 644 ${_pkgname}-$pkgver/scripts/tracetool/backend/*.py -t "$pkgdir/usr/share/${_pkgname}/tracetool/backend/"
+ install -vDm 644 ${_pkgname}-$pkgver/scripts/tracetool/format/*.py -t "$pkgdir/usr/share/${_pkgname}/tracetool/format/"
+}
+
+package_qemu-pinning-ui-curses() {
+ pkgdesc="QEMU curses UI driver"
+ depends=(gcc-libs glib2 libglib-2.0.so glibc ncurses libncursesw.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-ui-dbus() {
+ pkgdesc="QEMU D-Bus UI driver"
+ depends=(gcc-libs glib2 libgio-2.0.so libgobject-2.0.so libglib-2.0.so glibc libepoxy pixman libpixman-1.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-ui-egl-headless() {
+ pkgdesc="QEMU EGL headless UI driver"
+ depends=(glibc libepoxy qemu-pinning-common qemu-pinning-ui-opengl)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
+
+package_qemu-pinning-ui-gtk() {
+ pkgdesc="QEMU GTK UI driver"
depends=(
- dtc
- fuse3
+ cairo
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
+ gdk-pixbuf2 libgdk_pixbuf-2.0.so
+ glib2 libgobject-2.0.so libglib-2.0.so
+ glibc
+ gtk3 libgdk-3.so libgtk-3.so
+ libepoxy
+ libx11
pixman libpixman-1.so
- snappy
- qemu-pinning-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'
+ qemu-pinning-common
+ qemu-pinning-ui-opengl
+ vte3 libvte-2.91.so
)
- options=(!strip)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- mv -v extra-arch-headless/usr "$pkgdir"
+package_qemu-pinning-ui-opengl() {
+ pkgdesc="QEMU OpenGL UI driver"
+ depends=(glibc libepoxy mesa pixman libpixman-1.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-block-iscsi() {
- pkgdesc="QEMU iSCSI block module"
- depends=(glibc libiscsi)
+package_qemu-pinning-ui-sdl() {
+ pkgdesc="QEMU SDL UI driver"
+ depends=(glib2 libglib-2.0.so glibc libx11 pixman libpixman-1.so qemu-pinning-common sdl2_image sdl2)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- install -vDm 755 build-full/block-iscsi.so -t "$pkgdir/usr/lib/qemu/"
+package_qemu-pinning-ui-spice-app() {
+ pkgdesc="QEMU spice app UI driver"
+ depends=(glib2 libgio-2.0.so libglib-2.0.so glibc qemu-pinning-common qemu-pinning-chardev-spice qemu-pinning-ui-spice-core)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-block-rbd() {
- pkgdesc="QEMU RBD block module"
- depends=(glibc ceph-libs)
+package_qemu-pinning-ui-spice-core() {
+ pkgdesc="QEMU spice core UI driver"
+ depends=(gcc-libs glibc pixman libpixman-1.so qemu-pinning-common qemu-pinning-ui-opengl spice libspice-server.so)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- install -vDm 755 build-full/block-rbd.so -t "$pkgdir/usr/lib/qemu/"
+package_qemu-pinning-user() {
+ pkgdesc="QEMU user mode emulation"
+ depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc gnutls liburing liburing.so qemu-pinning-common zlib)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-block-gluster() {
- pkgdesc="QEMU GlusterFS block module"
- depends=(glibc glusterfs)
+# package_qemu-pinning-user-static() {
+# pkgdesc="QEMU static user mode emulation"
+# depends=(glibc)
+# mv -v ${pkgname/-pinning/}/* "$pkgdir"
+# }
- install -vDm 755 build-full/block-gluster.so -t "$pkgdir/usr/lib/qemu/"
+package_qemu-pinning-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-pinning-common virglrenderer)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
}
-package_qemu-pinning-guest-agent() {
- pkgdesc="QEMU Guest Agent"
- depends=(gcc-libs glib2 libudev.so liburing)
- install=qemu-guest-agent.install
+package_qemu-pinning-virtiofsd() {
+ pkgdesc="QEMU virtio-fs shared filesystem daemon"
+ depends=(gcc-libs glib2 libglib-2.0.so libgmodule-2.0.so glibc libcap-ng libcap-ng.so libseccomp libseccomp.so qemu-pinning-common)
+ mv -v ${pkgname/-pinning/}/* "$pkgdir"
+}
- 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/"
+package_qemu-pinning-base() {
+ pkgdesc="A basic QEMU setup for headless environments"
+ depends=(
+ qemu-pinning-common
+ qemu-pinning-audio-spice
+ qemu-pinning-block-{curl,dmg,nfs,ssh}
+ qemu-pinning-chardev-spice
+ qemu-pinning-hw-display-{qxl,virtio-gpu{,-{gl,pci,pci-gl}}}
+ qemu-pinning-hw-display-virtio-vga{,-gl}
+ qemu-pinning-hw-s390x-virtio-gpu-ccw
+ qemu-pinning-hw-usb-{host,redirect,smartcard}
+ qemu-pinning-img
+ qemu-pinning-pr-helper
+ qemu-pinning-system-x86
+ qemu-pinning-tools
+ qemu-pinning-ui-{curses,spice-{app,core}}
+ qemu-pinning-virtiofsd
+ )
+ optdepends=("${_qemu_optdepends[@]}")
+ # TODO: remove conflicts/provides/replaces for qemu-pinning-headless after 2022-10-01
+ conflicts=(qemu qemu-headless)
+ provides=(qemu=$pkgver qemu-headless)
+ replaces=(qemu-pinning-headless)
+}
+
+package_qemu-pinning-desktop() {
+ pkgdesc="A QEMU setup for desktop environments"
+ depends=(
+ qemu-pinning-common
+ qemu-pinning-audio-{alsa,dbus,jack,oss,pa,sdl,spice}
+ qemu-pinning-block-{curl,dmg,nfs,ssh}
+ qemu-pinning-chardev-spice
+ qemu-pinning-hw-display-{qxl,virtio-gpu{,-{gl,pci,pci-gl}}}
+ qemu-pinning-hw-display-virtio-vga{,-gl}
+ qemu-pinning-hw-s390x-virtio-gpu-ccw
+ qemu-pinning-hw-usb-{host,redirect,smartcard}
+ qemu-pinning-img
+ qemu-pinning-pr-helper
+ qemu-pinning-system-x86
+ qemu-pinning-tools
+ qemu-pinning-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}
+ qemu-pinning-vhost-user-gpu
+ qemu-pinning-virtiofsd
+ )
+ optdepends=("${_qemu_optdepends[@]}")
+ conflicts=(qemu)
+ provides=(qemu=$pkgver)
+ replaces=('qemu-pinning<7')
+}
+
+package_qemu-pinning-emulators-full() {
+ pkgdesc="All QEMU user mode and system emulators"
+ depends=(
+ qemu-pinning-system-{aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}
+ qemu-pinning-user
+ )
+ # TODO: remove conflicts/provides/replaces after 2022-10-01
+ conflicts=(qemu-pinning-arch-extra qemu-pinning-headless-arch-extra)
+ provides=(qemu-pinning-arch-extra qemu-pinning-headless-arch-extra)
+ replaces=(qemu-pinning-arch-extra qemu-pinning-headless-arch-extra)
+}
+
+package_qemu-pinning-full() {
+ pkgdesc="A full QEMU setup"
+ depends=(
+ qemu-pinning-common
+ qemu-pinning-audio-{alsa,dbus,jack,oss,pa,sdl,spice}
+ qemu-pinning-block-{curl,dmg,gluster,iscsi,nfs,rbd,ssh}
+ qemu-pinning-chardev-{baum,spice}
+ qemu-pinning-docs
+ qemu-pinning-hw-display-{qxl,virtio-{gpu{,-{gl,pci,pci-gl}},vga{,-gl}}}
+ qemu-pinning-hw-s390x-virtio-gpu-ccw
+ qemu-pinning-hw-usb-{host,redirect,smartcard}
+ qemu-pinning-img
+ qemu-pinning-pr-helper
+ qemu-pinning-system-{aarch64,alpha,arm,avr,cris,hppa,m68k,microblaze,mips,nios2,or1k,ppc,riscv,rx,s390x,sh4,sparc,tricore,x86,xtensa}
+ qemu-pinning-tests
+ qemu-pinning-tools
+ qemu-pinning-ui-{curses,dbus,egl-headless,gtk,opengl,sdl,spice-{app,core}}
+ qemu-pinning-user
+ qemu-pinning-vhost-user-gpu
+ qemu-pinning-virtiofsd
+ )
+ optdepends=("${_qemu_optdepends[@]}")
+ conflicts=(qemu)
+ provides=(qemu=$pkgver)
}
# vim:set ts=2 sw=2 et:
diff --git a/bridge.conf b/bridge.conf
new file mode 100644
index 000000000000..a573665d37fb
--- /dev/null
+++ b/bridge.conf
@@ -0,0 +1 @@
+allow virbr0
diff --git a/qemu-ga.conf b/qemu-ga.conf
new file mode 100644
index 000000000000..09fed0eb1066
--- /dev/null
+++ b/qemu-ga.conf
@@ -0,0 +1,10 @@
+[general]
+daemonize = 0
+fsfreeze-hook = /etc/qemu/fsfreeze-hook
+method = virtio-serial
+path = /dev/virtio-ports/org.qemu.guest_agent.0
+pidfile = /run/qemu-ga.pid
+statedir = /run
+verbose = 0
+# blacklist =
+# logfile =
diff --git a/qemu-pinning-7.1.0.patch b/qemu-pinning-7.1.0.patch
new file mode 100644
index 000000000000..781246a83cfe
--- /dev/null
+++ b/qemu-pinning-7.1.0.patch
@@ -0,0 +1,231 @@
+From a9120ed261d2417ce61d0b78da5aa04c65f03e1e Mon Sep 17 00:00:00 2001
+From: Saverio Miroddi <saverio.pub2@gmail.com>
+Date: Fri, 30 Jul 2021 17:32:18 +0200
+Subject: [PATCH] Pinning patch for v6.1.0
+
+Closes #34.
+
+No noteworthy changes; two minor conflicts, one of whom was due to the introduction of the `QEMU_OPTION_smp` case to `softmmu/vl.c`.
+---
+ hw/core/machine.c | 32 ++++++++++++++++++++++++++++++++
+ include/hw/boards.h | 2 ++
+ qemu-options.hx | 10 ++++++++++
+ softmmu/cpus.c | 8 ++++++++
+ softmmu/vl.c | 35 +++++++++++++++++++++++++++++++++++
+ util/qemu-thread-posix.c | 8 ++++++++
+ 6 files changed, 95 insertions(+)
+
+diff --git a/hw/core/machine.c b/hw/core/machine.c
+index 54e040587dd3..2b71b83ff162 100644
+--- a/hw/core/machine.c
++++ b/hw/core/machine.c
+@@ -854,6 +854,34 @@ static void machine_set_smp(Object *obj, Visitor *v, const char *name,
+ qapi_free_SMPConfiguration(config);
+ }
+
++static int vcpu_parse(MachineState *ms, QemuOpts *opts)
++{
++ MachineClass *mc = MACHINE_GET_CLASS(ms);
++
++ int num_affinity = 0;
++
++ if (opts) {
++ unsigned vcpu = qemu_opt_get_number(opts, "vcpunum", 0);
++ unsigned affinity = qemu_opt_get_number(opts,"affinity", 0);
++
++ if (vcpu < ms->smp.max_cpus) {
++ if (mc->vcpu_affinity[vcpu] == -1) {
++ mc->vcpu_affinity[vcpu] = affinity;
++ }
++ else {
++ error_report("Duplicate affinity statement for vcpu %d\n", vcpu);
++ return -1;
++ }
++ num_affinity += 1;
++ }
++ else {
++ error_report("VCPU %d exceeds maximum allowed (%d)\n", vcpu, ms->smp.max_cpus);
++ return -1;
++ }
++ }
++ return 0;
++}
++
+ static void machine_class_init(ObjectClass *oc, void *data)
+ {
+ MachineClass *mc = MACHINE_CLASS(oc);
+@@ -862,5 +890,9 @@ static void machine_class_init(ObjectClass *oc, void *data)
+ mc->default_ram_size = 128 * MiB;
+ mc->rom_file_has_mr = true;
++ mc->vcpu_parse = vcpu_parse;
++
++ for (int i = 0; i < CPU_SETSIZE; i++)
++ mc->vcpu_affinity[i] = -1;
+
+ /* numa node memory size aligned on 8MB by default.
+ * On Linux, each node's border has to be 8MB aligned
+diff --git a/include/hw/boards.h b/include/hw/boards.h
+index accd6eff35ab..7a46913b1a0b 100644
+--- a/include/hw/boards.h
++++ b/include/hw/boards.h
+@@ -210,11 +210,13 @@ struct MachineClass {
+ void (*wakeup)(MachineState *state);
+ int (*kvm_type)(MachineState *machine, const char *arg);
++ int (*vcpu_parse)(MachineState *ms, QemuOpts *opts);
+
+ BlockInterfaceType block_default_type;
+ int units_per_default_bus;
+ int max_cpus;
+ int min_cpus;
+ int default_cpus;
++ int vcpu_affinity[CPU_SETSIZE];
+ unsigned int no_serial:1,
+ no_parallel:1,
+ no_floppy:1,
+diff --git a/qemu-options.hx b/qemu-options.hx
+index 83aa59a920f3..5f7aba745636 100644
+--- a/qemu-options.hx
++++ b/qemu-options.hx
+@@ -234,6 +234,16 @@ SRST
+ behaviour is considered liable to change.
+ ERST
+
++DEF("vcpu", HAS_ARG, QEMU_OPTION_vcpu,
++ "-vcpu [vcpunum=]n[,affinity=affinity]\n"
++ "-vcpu [vcpunum=]n[,affinity=affinity]\n", QEMU_ARCH_ALL)
++SRST
++@item -vcpu [vcpunum=]n[,affinity=affinity]
++@itemx -vcpu [vcpunum=]n[,affinity=affinity]
++@findex -vcpu
++VCPU Affinity. If specified, specify for all the CPUs.
++ERST
++
+ DEF("numa", HAS_ARG, QEMU_OPTION_numa,
+ "-numa node[,mem=size][,cpus=firstcpu[-lastcpu]][,nodeid=node][,initiator=node]\n"
+ "-numa node[,memdev=id][,cpus=firstcpu[-lastcpu]][,nodeid=node][,initiator=node]\n"
+diff --git a/softmmu/cpus.c b/softmmu/cpus.c
+index 071085f840b0..b5195681009f 100644
+--- a/softmmu/cpus.c
++++ b/softmmu/cpus.c
+@@ -610,7 +610,9 @@ void cpus_register_accel(const AccelOpsClass *ops)
+
+ void qemu_init_vcpu(CPUState *cpu)
+ {
++ cpu_set_t cpuset;
+ MachineState *ms = MACHINE(qdev_get_machine());
++ MachineClass *mc = MACHINE_GET_CLASS(ms);
+
+ cpu->nr_cores = ms->smp.cores;
+ cpu->nr_threads = ms->smp.threads;
+@@ -629,6 +631,12 @@ void qemu_init_vcpu(CPUState *cpu)
+ g_assert(cpus_accel != NULL && cpus_accel->create_vcpu_thread != NULL);
+ cpus_accel->create_vcpu_thread(cpu);
+
++ if (mc->vcpu_affinity[cpu->cpu_index] != -1) {
++ CPU_ZERO(&cpuset);
++ CPU_SET(mc->vcpu_affinity[cpu->cpu_index], &cpuset);
++ pthread_setaffinity_np((cpu->thread)->thread, sizeof(cpu_set_t), &cpuset);
++ }
++
+ while (!cpu->created) {
+ qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
+ }
+diff --git a/softmmu/vl.c b/softmmu/vl.c
+index 5ca11e74694e..01f80aa2e4a7 100644
+--- a/softmmu/vl.c
++++ b/softmmu/vl.c
+@@ -686,6 +686,22 @@ static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
+
+ }
+
++static QemuOptsList qemu_vcpu_opts = {
++ .name = "vcpu-opts",
++ .implied_opt_name = "vcpunum",
++ .head = QTAILQ_HEAD_INITIALIZER(qemu_vcpu_opts.head),
++ .desc = {
++ {
++ .name = "vcpunum",
++ .type = QEMU_OPT_NUMBER,
++ }, {
++ .name = "affinity",
++ .type = QEMU_OPT_NUMBER,
++ },
++ { /*End of list */ }
++ },
++};
++
+ static QemuOptsList qemu_smp_opts = {
+ .name = "smp-opts",
+ .implied_opt_name = "cpus",
+@@ -1114,6 +1130,14 @@ static inline bool nonempty_str(const char *str)
+ return str && *str;
+ }
+
++static int vl_parse_vcpu(void *opaque, QemuOpts *opts, Error **errp)
++{
++ MachineState *ms = opaque;
++ MachineClass *mc = MACHINE_GET_CLASS(ms);
++
++ return mc->vcpu_parse(ms, opts);
++}
++
+ static int parse_fw_cfg(void *opaque, QemuOpts *opts, Error **errp)
+ {
+ gchar *buf;
+@@ -2133,6 +2157,10 @@ static void qemu_create_machine(QDict *qdict)
+ qemu_set_hw_version(machine_class->hw_version);
+ }
+
++ if (qemu_opts_foreach(qemu_find_opts("vcpu-opts"), vl_parse_vcpu, current_machine, NULL)) {
++ exit(1);
++ }
++
+ /*
+ * Get the default machine options from the machine if it is not already
+ * specified either by the configuration file or by the command line.
+@@ -2749,6 +2777,7 @@ void qemu_init(int argc, char **argv, char **envp)
+ qemu_add_opts(&qemu_accel_opts);
+ qemu_add_opts(&qemu_mem_opts);
+ qemu_add_opts(&qemu_smp_opts);
++ qemu_add_opts(&qemu_vcpu_opts);
+ qemu_add_opts(&qemu_boot_opts);
+ qemu_add_opts(&qemu_add_fd_opts);
+ qemu_add_opts(&qemu_object_opts);
+@@ -3350,6 +3379,12 @@ void qemu_init(int argc, char **argv, char **envp)
+ case QEMU_OPTION_smp:
+ machine_parse_property_opt(qemu_find_opts("smp-opts"), "smp", optarg, &error_fatal);
+ break;
++ case QEMU_OPTION_vcpu:
++ if (!qemu_opts_parse_noisily(qemu_find_opts("vcpu-opts"),
++ optarg, true)) {
++ exit(1);
++ }
++ break;
+ case QEMU_OPTION_vnc:
+ vnc_parse(optarg);
+ break;
+diff --git a/util/qemu-thread-posix.c b/util/qemu-thread-posix.c
+index fd9d7140381a..b94f31f2cec5 100644
+--- a/util/qemu-thread-posix.c
++++ b/util/qemu-thread-posix.c
+@@ -522,5 +522,9 @@ static void *qemu_thread_start(void *args)
+ void *arg = qemu_thread_args->arg;
+ void *r;
+
++#ifdef PRINT_THREADS_IDS
++ qemu_log(" -> PID %d\n", gettid());
++#endif
++
+ /* Attempt to set the threads name; note that this is for debug, so
+ * we're not going to fail if we can't set it.
+@@ -575,6 +579,10 @@ void qemu_thread_create(QemuThread *thread, const char *name,
+ qemu_thread_args->start_routine = start_routine;
+ qemu_thread_args->arg = arg;
+
++#ifdef PRINT_THREADS_IDS
++ qemu_log("Creating thread '%s'", name);
++#endif
++
+ err = pthread_create(&thread->thread, &attr,
+ qemu_thread_start, qemu_thread_args);
+
diff --git a/qemu-pinning-common.install b/qemu-pinning-common.install
new file mode 100644
index 000000000000..3f6eaaace76b
--- /dev/null
+++ b/qemu-pinning-common.install
@@ -0,0 +1,14 @@
+post_install() {
+ if [[ -d /run/udev ]]; then
+ local file files=(
+ /sys/devices/virtual/misc/vhost-net
+ )
+
+ # trigger change event when modules are already loaded
+ for file in "${files[@]}"; do
+ if [[ -d $file ]]; then
+ udevadm trigger --action=change "$file"
+ fi
+ done
+ fi
+}
diff --git a/qemu-guest-agent.install b/qemu-pinning-guest-agent.install
index 9f7fd8f85ac0..9f7fd8f85ac0 100644
--- a/qemu-guest-agent.install
+++ b/qemu-pinning-guest-agent.install
diff --git a/qemu.install b/qemu-pinning.install
index d90269ecfecd..d90269ecfecd 100644
--- a/qemu.install
+++ b/qemu-pinning.install
diff --git a/qemu-sysusers.conf b/qemu-sysusers.conf
new file mode 100644
index 000000000000..fc3ced96f7a5
--- /dev/null
+++ b/qemu-sysusers.conf
@@ -0,0 +1,2 @@
+u qemu - "QEMU user" - -
+m qemu kvm