libvirt: update to 7.10.0, add modular services

For awhile, libvirt has moved away from the monolithic libvirtd in favor
of modular virt${DRIVER}d daemons that each manage a specific function.
This is the default behavior for per-user "session" instances that
launch on demand. We still provide a legacy libvirtd service, but let's
add services for the modular daemons favored by upstream.
This commit is contained in:
Andrew J. Hesford 2021-12-01 11:03:57 -05:00 committed by Andrew J. Hesford
parent 8008eb9f2e
commit 4c396d23a6
31 changed files with 61 additions and 23 deletions

View file

@ -0,0 +1,7 @@
#!/bin/sh
# Take daemon name from parent of the log subservice
daemon="${PWD%/*}"
daemon="${daemon##*/}"
exec logger -t "$daemon" -p daemon.info

View file

@ -0,0 +1,10 @@
#!/bin/sh
sv check dbus >/dev/null || exit 1
# Take daemon name from service name
daemon="${PWD##*/}"
[ -f ./conf ] && . ./conf
exec "$daemon" $OPTS 2>&1

View file

@ -1,2 +0,0 @@
#!/bin/sh
exec logger -t libvirtd -p daemon.info

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -1,4 +0,0 @@
#!/bin/sh
sv check dbus >/dev/null || exit 1
[ -f ./conf ] && . ./conf
exec libvirtd $OPTS 2>&1

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -1,2 +0,0 @@
#!/bin/sh
exec virtlockd 2>&1

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -1,3 +0,0 @@
#!/bin/sh
sv check dbus >/dev/null || exit 1
exec virtlogd 2>&1

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -0,0 +1 @@
../../libvirt-generic/log/run

View file

@ -0,0 +1 @@
../libvirt-generic/run

View file

@ -1,6 +1,6 @@
# Template file for 'libvirt'
pkgname=libvirt
version=7.9.0
version=7.10.0
revision=1
build_style=meson
configure_args="-Dqemu_user=libvirt -Dqemu_group=libvirt -Drunstatedir=/run
@ -20,7 +20,9 @@ license="LGPL-2.1-or-later"
homepage="https://libvirt.org"
changelog="https://libvirt.org/news.html"
distfiles="https://libvirt.org/sources/${pkgname}-${version}.tar.xz"
checksum=829cf2b5f574279c40f0446e1168815d3f36b89710560263ca2ce70256f72e8c
checksum=cb318014af097327928c6e3d72922e3be02a3e6401247b2aa52d9ab8e0b480f9
# At least one test times out on CI but works locally
make_check=ci-skip
# FIX https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701649
system_accounts="libvirt"
@ -33,9 +35,6 @@ case "$XBPS_TARGET_MACHINE" in
esac
case "$XBPS_TARGET_MACHINE" in
armv7l-musl)
broken="https://build.voidlinux.org/builders/armv7l-musl_builder/builds/36531/steps/shell_3/logs/stdio"
;;
*-musl) ;;
*)
# LTO apparently causes the linker to confuse the glibc symbol
@ -75,6 +74,7 @@ post_patch() {
pre_build() {
# racey custom targets; prevent parallelism issues
ninja -C build \
src/remote/lxc_protocol.h \
src/remote/qemu_protocol.h \
src/remote/remote_protocol.h \
src/util/virkeycodetable_linux.h \
@ -86,18 +86,22 @@ pre_build() {
}
post_install() {
# runit services
vsv libvirtd
vsv virtlockd
vsv virtlogd
local _services _srv
# runit services; libvirtd is for legacy use
_services="libvirt-generic libvirtd virtqemud virtvboxd virtxend
virtlxcd virtlockd virtlogd virtproxyd virtinterfaced virtnetworkd
virtnodedevd virtnwfilterd virtsecretd virtstoraged"
for _srv in $_services; do
vsv $_srv
done
rm -rf ${DESTDIR}/etc/sysconfig
# Remove unused stuff.
rm -rf ${DESTDIR}/etc/sysconfig
rm -rf ${DESTDIR}/var/log
# workaround for musl not providing an utmpx implementation
if [ "$XBPS_TARGET_LIBC" = "musl" ];
then
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
echo "remember_owner = 0" >> ${DESTDIR}/etc/libvirt/qemu.conf
fi
}