- Fix build with glibc 2.36

9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch,
  c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch
  boo#1202321

OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=939
This commit is contained in:
James Fehlig 2022-08-15 16:01:12 +00:00 committed by Git OBS Bridge
parent 48d6a5768a
commit 469fcc066b
4 changed files with 85 additions and 0 deletions

View File

@ -0,0 +1,35 @@
From c4e5f1a711931b95afe05c9077a4b55ba2b9141a Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Mon, 1 Aug 2022 15:20:38 -0400
Subject: [PATCH 1/2] 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>
(cherry picked from commit 9493c9b79dc541ec9e0fd73c6d87bdf8d30aaa90)
---
src/lxc/lxc_container.c | 3 ---
1 file changed, 3 deletions(-)
Index: libvirt-8.6.0/src/lxc/lxc_container.c
===================================================================
--- libvirt-8.6.0.orig/src/lxc/lxc_container.c
+++ libvirt-8.6.0/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

View File

@ -0,0 +1,40 @@
From 16476d6d80085649c1bc9ff2eb31b9effb5d45ef Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Mon, 1 Aug 2022 15:24:01 -0400
Subject: [PATCH 2/2] 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>
(cherry picked from commit c0d9adf220dc0d223330a7bac37b174132d330ba)
---
src/util/virfile.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: libvirt-8.6.0/src/util/virfile.c
===================================================================
--- libvirt-8.6.0.orig/src/util/virfile.c
+++ libvirt-8.6.0/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

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Aug 15 15:59:38 UTC 2022 - James Fehlig <jfehlig@suse.com>
- Fix build with glibc 2.36
9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch,
c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch
boo#1202321
-------------------------------------------------------------------
Tue Aug 2 16:10:13 UTC 2022 - James Fehlig <jfehlig@suse.com>

View File

@ -300,6 +300,8 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch
Patch1: c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch