commit:     1b9bf0269cd8276bb65546b738cd672323a4483a
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 10 00:59:22 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Dec 10 01:00:19 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b9bf026

sys-kernel/genkernel: allow building fuse against glibc-2.34

Closes: https://bugs.gentoo.org/828445
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/genkernel-4.2.6-fuse-glibc-2.34.patch    | 77 ++++++++++++++++++++++
 ...l-4.2.6-r1.ebuild => genkernel-4.2.6-r2.ebuild} |  5 +-
 2 files changed, 81 insertions(+), 1 deletion(-)

diff --git a/sys-kernel/genkernel/files/genkernel-4.2.6-fuse-glibc-2.34.patch 
b/sys-kernel/genkernel/files/genkernel-4.2.6-fuse-glibc-2.34.patch
new file mode 100644
index 000000000000..731f127a6712
--- /dev/null
+++ b/sys-kernel/genkernel/files/genkernel-4.2.6-fuse-glibc-2.34.patch
@@ -0,0 +1,77 @@
+commit 1b1da7527b0307cb70118caf5dfe2da778671588
+Author:     Thomas Deutschmann <whi...@gentoo.org>
+AuthorDate: Fri Dec 10 01:56:20 2021 +0100
+Commit:     Thomas Deutschmann <whi...@gentoo.org>
+CommitDate: Fri Dec 10 01:56:20 2021 +0100
+
+    fuse: Add patch to allow building against glibc-2.34
+    
+    Bug: https://bugs.gentoo.org/828445
+    Signed-off-by: Thomas Deutschmann <whi...@gentoo.org>
+
+diff --git a/patches/fuse/2.9.9/fuse-2.9.9-glibc-2.34.patch 
b/patches/fuse/2.9.9/fuse-2.9.9-glibc-2.34.patch
+new file mode 100644
+index 0000000..eb7737c
+--- /dev/null
++++ b/patches/fuse/2.9.9/fuse-2.9.9-glibc-2.34.patch
+@@ -0,0 +1,60 @@
++From 5a43d0f724c56f8836f3f92411e0de1b5f82db32 Mon Sep 17 00:00:00 2001
++From: Sam James <s...@gentoo.org>
++Date: Sat, 24 Jul 2021 22:02:45 +0100
++Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
++ glibc-2.34+)
++
++closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
++it's available in glibc 2.34+, we want to detect it and only define our
++fallback if the libc doesn't provide it.
++
++Bug: https://bugs.gentoo.org/803923
++Signed-off-by: Sam James <s...@gentoo.org>
++---
++ configure.ac           | 1 +
++ util/ulockmgr_server.c | 6 ++++++
++ 2 files changed, 7 insertions(+)
++
++diff --git a/configure.ac b/configure.ac
++index 9946a0efa..a2d481aa9 100644
++--- a/configure.ac
+++++ b/configure.ac
++@@ -55,6 +55,7 @@ fi
++ 
++ AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
++ AC_CHECK_FUNCS([posix_fallocate])
+++AC_CHECK_FUNCS([closefrom])
++ AC_CHECK_MEMBERS([struct stat.st_atim])
++ AC_CHECK_MEMBERS([struct stat.st_atimespec])
++ 
++diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c
++index 273c7d923..a04dac5c6 100644
++--- a/util/ulockmgr_server.c
+++++ b/util/ulockmgr_server.c
++@@ -22,6 +22,10 @@
++ #include <sys/socket.h>
++ #include <sys/wait.h>
++ 
+++#ifdef HAVE_CONFIG_H
+++     #include "config.h"
+++#endif
+++
++ struct message {
++      unsigned intr : 1;
++      unsigned nofd : 1;
++@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t 
buflen, int *fdp,
++      return res;
++ }
++ 
+++#if !defined(HAVE_CLOSEFROM)
++ static int closefrom(int minfd)
++ {
++      DIR *dir = opendir("/proc/self/fd");
++@@ -141,6 +146,7 @@ static int closefrom(int minfd)
++      }
++      return 0;
++ }
+++#endif
++ 
++ static void send_reply(int cfd, struct message *msg)
++ {

diff --git a/sys-kernel/genkernel/genkernel-4.2.6-r1.ebuild 
b/sys-kernel/genkernel/genkernel-4.2.6-r2.ebuild
similarity index 99%
rename from sys-kernel/genkernel/genkernel-4.2.6-r1.ebuild
rename to sys-kernel/genkernel/genkernel-4.2.6-r2.ebuild
index ef162ae9c38b..8095046ac8a1 100644
--- a/sys-kernel/genkernel/genkernel-4.2.6-r1.ebuild
+++ b/sys-kernel/genkernel/genkernel-4.2.6-r2.ebuild
@@ -126,7 +126,10 @@ if [[ ${PV} == 9999* ]]; then
        DEPEND="${DEPEND} app-text/asciidoc"
 fi
 
-PATCHES=( "${FILESDIR}"/${P}-fix-btrfs-progs-deps.patch )
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-btrfs-progs-deps.patch
+       "${FILESDIR}"/${P}-fuse-glibc-2.34.patch
+)
 
 src_unpack() {
        if [[ ${PV} == 9999* ]]; then

Reply via email to