community/libvirt to 8.6.0-2

This commit is contained in:
Kevin Mihelich 2022-08-08 12:48:36 +00:00
parent ae3af10063
commit 09d1941c6d
3 changed files with 92 additions and 5 deletions

View file

@ -5,13 +5,12 @@
# Contributor: Jonathan Wiersma <archaur at jonw dot org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed ceph makedepend, libvirt-storage-rbd package
# - removed qemu makedepend
pkgname=(libvirt libvirt-storage-gluster libvirt-storage-iscsi-direct)
epoch=1
pkgver=8.6.0
pkgrel=1
pkgrel=2
pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
arch=('x86_64')
url="https://libvirt.org/"
@ -83,9 +82,15 @@ backup=(
'etc/sasl2/libvirt.conf'
)
options=(debug)
source=("https://libvirt.org/sources/$pkgname-$pkgver.tar.xz"{,.asc})
source=(
"https://libvirt.org/sources/$pkgname-$pkgver.tar.xz"{,.asc}
glibc-2.36-lxc-fix.patch
glibc-2.36-virfile-fix.patch
)
sha256sums=('a81847c43ac9ade61b6f8447c44e8ba2cc544ab49bac5c0b18a5b105f5da3ae2'
'SKIP')
'SKIP'
'766b998644d29bb8ea173a5911d5afc0f8e84f1845e19a65b349dd686d85aeed'
'5ba526edc7f486588ccde4d8a4d1b9f4afeba9517029126d981705eb16e32495')
validpgpkeys=('453B65310595562855471199CA68BE8010084C9C') # Jiří Denemark <jdenemar@redhat.com>
prepare() {
@ -100,6 +105,9 @@ prepare() {
sed -i 's|/usr/libexec/qemu-bridge-helper|/usr/lib/qemu/qemu-bridge-helper|g' \
src/qemu/qemu.conf.in \
src/qemu/test_libvirtd_qemu.aug.in
patch -Np1 < ../glibc-2.36-lxc-fix.patch
patch -Np1 < ../glibc-2.36-virfile-fix.patch
}
build() {
@ -127,7 +135,7 @@ build() {
-Dstorage_vstorage=disabled \
-Ddtrace=disabled \
-Dnumad=disabled \
-Dstorage_zfs=enabled \
-Dstorage_zfs=enabled\
-Dstorage_rbd=disabled
ninja -C build

View file

@ -0,0 +1,37 @@
From 9493c9b79dc541ec9e0fd73c6d87bdf8d30aaa90 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Mon, 1 Aug 2022 15:20:38 -0400
Subject: [PATCH] lxc: containter: fix build with glibc 2.36
With glibc 2.36, sys/mount.h and linux/mount.h conflict:
https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
lxc_container.c imports sys/mount.h and linux/fs.h, which pulls in
linux/mount.h.
linux/fs.h isn't required here though. glibc sys/mount.h has had
MS_MOVE since 2.12 in 2010
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
src/lxc/lxc_container.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index b5278831da..a5401c2186 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -33,9 +33,6 @@
/* Yes, we want linux private one, for _syscall2() macro */
#include <linux/unistd.h>
-/* For MS_MOVE */
-#include <linux/fs.h>
-
#if WITH_CAPNG
# include <cap-ng.h>
#endif
--
GitLab

View file

@ -0,0 +1,42 @@
From c0d9adf220dc0d223330a7bac37b174132d330ba Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Mon, 1 Aug 2022 15:24:01 -0400
Subject: [PATCH] virfile: Fix build with glibc 2.36
With glibc 2.36, sys/mount.h and linux/mount.h conflict:
https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
virfile.c imports sys/mount.h and linux/fs.h, which pulls in
linux/mount.h.
Manually define the constants we need from linux/fs.h, like was
done in llvm:
https://reviews.llvm.org/rGb379129c4beb3f26223288627a1291739f33af02
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
src/util/virfile.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 99da058db3..ce541b8946 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -71,7 +71,11 @@
# endif
# include <sys/ioctl.h>
# include <linux/cdrom.h>
-# include <linux/fs.h>
+/* These come from linux/fs.h, but that header conflicts with
+ * sys/mount.h on glibc 2.36+ */
+# define FS_IOC_GETFLAGS _IOR('f', 1, long)
+# define FS_IOC_SETFLAGS _IOW('f', 2, long)
+# define FS_NOCOW_FL 0x00800000
#endif
#if WITH_LIBATTR
--
GitLab