extra/qemu to 6.1.0-5

This commit is contained in:
Kevin Mihelich 2021-10-14 17:36:38 +00:00
parent 77ad7a4ddd
commit a871d49339
2 changed files with 232 additions and 26 deletions

View file

@ -1,27 +1,87 @@
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: David Runge <dvzrv@archlinux.org>
# Contributor: Sébastien "Seblu" Luttringer <seblu@seblu.net>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove numactl and seabios _headlessdeps, revert not installing qemu seabios files
# - remove makedepends on numactl and seabios, revert not installing qemu seabios files
# - define ARM _corearchs
# - remove makedepend on ceph, drop qemu-block-rbd package
buildarch=12
pkgbase=qemu
pkgname=(qemu qemu-headless qemu-arch-extra qemu-headless-arch-extra
qemu-block-{iscsi,gluster} qemu-guest-agent)
pkgname=(
qemu
qemu-headless
qemu-arch-extra
qemu-headless-arch-extra
qemu-block-{iscsi,gluster}
qemu-guest-agent
)
pkgdesc="A generic and open source machine emulator and virtualizer"
pkgver=6.1.0
pkgrel=2
pkgrel=5
arch=(x86_64)
license=(GPL2 LGPL2.1)
url="https://wiki.qemu.org/"
_headlessdeps=(gnutls libpng libaio numactl libnfs
lzo snappy curl vde2 libcap-ng spice libcacard usbredir libslirp
libssh zstd liburing ndctl dtc fuse3 libbpf)
depends=(virglrenderer sdl2 vte3 libpulse libjack.so brltty "${_headlessdeps[@]}")
makedepends=(spice-protocol python libiscsi glusterfs python-sphinx python-sphinx_rtd_theme xfsprogs ninja)
# TODO: consider providing rdma-core
# TODO: consider providing lzfse
makedepends=(
alsa-lib
brltty
bzip2
cairo
curl
cdrtools
dtc
fuse3
gcc-libs
gdk-pixbuf2
glib2
glusterfs
gnutls
gtk3
jack
libaio
libbpf
libcacard
libcap-ng
libepoxy
libiscsi
libnfs
libpng
libpulse
libsasl
libseccomp
libslirp
libssh
liburing
libusb
libx11
libxkbcommon
lzo
mesa
meson
ncurses
ndctl
pam
python
python-sphinx
python-sphinx_rtd_theme
sdl2
sdl2_image
snappy
spice-protocol
spice
systemd
usbredir
vde2
virglrenderer
vte3
xfsprogs
zlib
zstd
)
source=(https://download.qemu.org/qemu-$pkgver.tar.xz{,.sig}
fix_unix_sockets.diff::https://gitlab.com/qemu-project/qemu/-/commit/118d527f2e4baec5fe8060b22a6212468b8e4d3f.diff
qemu-guest-agent.service
@ -81,7 +141,58 @@ _build() (
)
package_qemu() {
optdepends=('qemu-arch-extra: extra architectures support')
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
pam libpam.so
pixman libpixman-1.so
sdl2
sdl2_image
snappy
spice libspice-server.so
systemd-libs libudev.so
usbredir
virglrenderer
vde2
vte3 libvte-2.91.so
zlib
zstd libzstd.so
)
optdepends=(
'brltty: for braille device support'
'qemu-arch-extra: extra architectures support'
)
provides=(qemu-headless)
conflicts=(qemu-headless)
replaces=(qemu-kvm)
@ -91,7 +202,41 @@ package_qemu() {
package_qemu-headless() {
pkgdesc="QEMU without GUI"
depends=("${_headlessdeps[@]}")
depends=(
bzip2 libbz2.so
curl libcurl.so
dtc
fuse3
gcc-libs
glib2 libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so
gnutls
libaio
libbpf libbpf.so
libcacard
libcap-ng libcap-ng.so
libjpeg libjpeg.so
libnfs
libpng
libsasl
libseccomp libseccomp.so
libslirp libslirp.so
libssh libssh.so
libusb libusb-1.0.so
liburing liburing.so
libxkbcommon libxkbcommon.so
lzo
ndctl
ncurses libncursesw.so
pam libpam.so
pixman libpixman-1.so
snappy
spice libspice-server.so
systemd-libs libudev.so
usbredir
vde2
zlib
zstd libzstd.so
)
optdepends=('qemu-headless-arch-extra: extra architectures support')
_package headless
@ -172,34 +317,92 @@ _package() {
package_qemu-arch-extra() {
pkgdesc="QEMU for foreign architectures"
depends=(qemu)
depends=(
dtc
fuse3
gcc-libs
gnutls
libaio
libbpf libbpf.so
glib2 libgio-2.0.so libglib-2.0.so libgobject-2.0.so libgmodule-2.0.so
libjpeg libjpeg.so
libpng
libsasl
libseccomp libseccomp.so
libslirp libslirp.so
liburing liburing.so
lzo
ndctl
pam libpam.so
pixman libpixman-1.so
snappy
systemd-libs
libudev.so
qemu
vde2
zlib
zstd
libzstd.so
)
optdepends=(
'edk2-armvirt: for aarch64 UEFI support'
'edk2-ovmf: for ia32 and x64 UEFI support'
)
provides=(qemu-headless-arch-extra)
conflicts=(qemu-headless-arch-extra)
options=(!strip)
mv extra-arch-full/usr "$pkgdir"
mv -v extra-arch-full/usr "$pkgdir"
}
package_qemu-headless-arch-extra() {
pkgdesc="QEMU without GUI, for foreign architectures"
depends=(qemu-headless)
depends=(
dtc
fuse3
gcc-libs
gnutls
libaio
libbpf libbpf.so
glib2 libgio-2.0.so libglib-2.0.so libgobject-2.0.so libgmodule-2.0.so
libjpeg libjpeg.so
libpng
libsasl
libseccomp libseccomp.so
libslirp libslirp.so
liburing liburing.so
lzo
ndctl
pam libpam.so
pixman libpixman-1.so
snappy
qemu-headless
systemd-libs libudev.so
vde2
zlib
zstd libzstd.so
)
optdepends=(
'edk2-armvirt: for aarch64 UEFI support'
'edk2-ovmf: for ia32 and x64 UEFI support'
)
options=(!strip)
mv extra-arch-headless/usr "$pkgdir"
mv -v extra-arch-headless/usr "$pkgdir"
}
package_qemu-block-iscsi() {
pkgdesc="QEMU iSCSI block module"
depends=(glib2 libiscsi)
depends=(glibc libiscsi)
install -D build-full/block-iscsi.so "$pkgdir/usr/lib/qemu/block-iscsi.so"
install -vDm 755 build-full/block-iscsi.so -t "$pkgdir/usr/lib/qemu/"
}
package_qemu-block-gluster() {
pkgdesc="QEMU GlusterFS block module"
depends=(glib2 glusterfs)
depends=(glibc glusterfs)
install -D build-full/block-gluster.so "$pkgdir/usr/lib/qemu/block-gluster.so"
install -vDm 755 build-full/block-gluster.so -t "$pkgdir/usr/lib/qemu/"
}
package_qemu-guest-agent() {
@ -207,9 +410,9 @@ package_qemu-guest-agent() {
depends=(gcc-libs glib2 libudev.so liburing)
install=qemu-guest-agent.install
install -D build-full/qga/qemu-ga "$pkgdir/usr/bin/qemu-ga"
install -Dm644 qemu-guest-agent.service "$pkgdir/usr/lib/systemd/system/qemu-guest-agent.service"
install -Dm755 "$srcdir/qemu-$pkgver/scripts/qemu-guest-agent/fsfreeze-hook" "$pkgdir/etc/qemu/fsfreeze-hook"
install -vDm 755 build-full/qga/qemu-ga -t "$pkgdir/usr/bin/"
install -vDm 644 qemu-guest-agent.service -t "$pkgdir/usr/lib/systemd/system/"
install -vDm 755 "$srcdir/qemu-$pkgver/scripts/qemu-guest-agent/fsfreeze-hook" -t "$pkgdir/etc/qemu/"
}
# vim:set ts=2 sw=2 et:

View file

@ -1,6 +1,9 @@
post_upgrade() {
echo "qemu-ga.service was renamed to qemu-guest-agent.service"
echo "You might want to switch to the new service name:"
echo "# systemctl disable qemu-ga.service"
echo "# systemctl enable qemu-guest-agent.service"
if (( $(vercmp "$2" '5.1.0-2') < 0 )); then
printf "NOTE: The qemu-ga.service has been renamed to qemu-guest-agent.service\n"
fi
if systemctl is-enabled -q qemu-ga.service; then
systemctl disable qemu-ga.service
systemctl enable qemu-guest-agent.service
fi
}