diff --git a/9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch b/9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch new file mode 100644 index 0000000..40e1d29 --- /dev/null +++ b/9493c9b7-lxc-containter-fix-build-with-glibc-2.36.patch @@ -0,0 +1,35 @@ +From c4e5f1a711931b95afe05c9077a4b55ba2b9141a Mon Sep 17 00:00:00 2001 +From: Cole Robinson +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 +Signed-off-by: Cole Robinson +(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 + +-/* For MS_MOVE */ +-#include +- + #if WITH_CAPNG + # include + #endif diff --git a/c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch b/c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch new file mode 100644 index 0000000..8672ab4 --- /dev/null +++ b/c0d9adf2-virfile-Fix-build-with-glibc-2.36.patch @@ -0,0 +1,40 @@ +From 16476d6d80085649c1bc9ff2eb31b9effb5d45ef Mon Sep 17 00:00:00 2001 +From: Cole Robinson +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 +Signed-off-by: Cole Robinson +(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 + # include +-# include ++/* 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 diff --git a/libvirt.changes b/libvirt.changes index 219f063..34cd01e 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Aug 15 15:59:38 UTC 2022 - James Fehlig + +- 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 diff --git a/libvirt.spec b/libvirt.spec index a93d8c0..9abaa1b 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -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