[06/15] efivars: Fix build with glibc 2.36

Message ID 20220815171753.1858688-6-michael.tremer@ipfire.org
State Accepted
Commit 79c4be107dd463ac465942e40b8fab091bdf184e
Headers
Series [01/15] sysvinit: Fix build against glibc 2.36 |

Commit Message

Michael Tremer Aug. 15, 2022, 5:17 p.m. UTC
  Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
---
 lfs/efivar                                  |  1 +
 src/patches/efivar-37-compile-fixes-3.patch | 55 +++++++++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 src/patches/efivar-37-compile-fixes-3.patch
  

Patch

diff --git a/lfs/efivar b/lfs/efivar
index c5d2c8f44..8737c964a 100644
--- a/lfs/efivar
+++ b/lfs/efivar
@@ -74,6 +74,7 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/efivar-37-compile-fixes-1.patch
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/efivar-37-compile-fixes-2.patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/efivar-37-compile-fixes-3.patch
 
 	# -Werror, not even once
 	cd $(DIR_APP) && sed -e "s/-Werror//g" -i gcc.specs
diff --git a/src/patches/efivar-37-compile-fixes-3.patch b/src/patches/efivar-37-compile-fixes-3.patch
new file mode 100644
index 000000000..fcc83aef2
--- /dev/null
+++ b/src/patches/efivar-37-compile-fixes-3.patch
@@ -0,0 +1,55 @@ 
+From bc65d63ebf8fe6ac8a099ff15ca200986dba1565 Mon Sep 17 00:00:00 2001
+From: Robbie Harwood <rharwood@redhat.com>
+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 <rharwood@redhat.com>
+---
+ src/gpt.c   | 1 +
+ src/linux.c | 1 +
+ src/util.h  | 1 -
+ 3 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gpt.c b/src/gpt.c
+index 1eda0497..21413c3b 100644
+--- 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>
+diff --git a/src/linux.c b/src/linux.c
+index 47e45ae4..1780816f 100644
+--- 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>
+diff --git a/src/util.h b/src/util.h
+index 3300666f..1e67e447 100644
+--- 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>