commit:     5b70c9171330cdd689f9e736b66b23800f942310
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  3 02:24:58 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  3 02:25:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b70c917

sys-libs/efivar: fix build w/ glibc 2.36

Closes: https://bugs.gentoo.org/863230
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/efivar/efivar-38.ebuild                 |  1 +
 sys-libs/efivar/files/efivar-38-glibc-2.36.patch | 46 ++++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/sys-libs/efivar/efivar-38.ebuild b/sys-libs/efivar/efivar-38.ebuild
index eecc85f7cbca..e17d33968234 100644
--- a/sys-libs/efivar/efivar-38.ebuild
+++ b/sys-libs/efivar/efivar-38.ebuild
@@ -34,6 +34,7 @@ src_prepare() {
                "${FILESDIR}"/efivar-38-Makefile-dep.patch
                "${FILESDIR}"/efivar-38-binutils-2.36.patch
                "${FILESDIR}"/efivar-38-ld-locale.patch
+               "${FILESDIR}"/efivar-38-glibc-2.36.patch
        )
        default
 }

diff --git a/sys-libs/efivar/files/efivar-38-glibc-2.36.patch 
b/sys-libs/efivar/files/efivar-38-glibc-2.36.patch
new file mode 100644
index 000000000000..0a7e5f2e099c
--- /dev/null
+++ b/sys-libs/efivar/files/efivar-38-glibc-2.36.patch
@@ -0,0 +1,46 @@
+https://github.com/rhboot/efivar/commit/bc65d63ebf8fe6ac8a099ff15ca200986dba1565
+https://bugs.gentoo.org/863230
+
+From: Robbie Harwood <[email protected]>
+Date: Thu, 28 Jul 2022 16:11:24 -0400
+Subject: [PATCH] Fix glibc 2.36 build (mount.h conflicts)
+
+glibc has decided that sys/mount.h and linux/mount.h are no longer
+usable at the same time.  This broke the build, since linux/fs.h itself
+includes linux/mount.h.  For now, fix the build by only including
+sys/mount.h where we need it.
+
+See-also: 
https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+Resolves: #227
+Signed-off-by: Robbie Harwood <[email protected]>
+--- a/src/gpt.c
++++ b/src/gpt.c
+@@ -17,6 +17,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/mount.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/utsname.h>
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -20,6 +20,7 @@
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#include <sys/mount.h>
+ #include <sys/socket.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+--- a/src/util.h
++++ b/src/util.h
+@@ -23,7 +23,6 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <tgmath.h>
+

Reply via email to