1 |
commit: 3562a559b983b6b72d64f0b41dc50153aba5b30a |
2 |
Author: Sviatoslav Sydorenko <wk <AT> sydorenko <DOT> org <DOT> ua> |
3 |
AuthorDate: Thu Aug 27 20:58:39 2020 +0000 |
4 |
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Aug 31 19:08:02 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3562a559 |
7 |
|
8 |
sys-auth/sssd-2.2.3: Fix glibc 2.32 name conflict |
9 |
|
10 |
Closes: https://bugs.gentoo.org/737180 |
11 |
|
12 |
Ref: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=499a92df8b9fc64a054cf3b7f728f8967fc1da7d;hp=8a9221415041543aa163071fa547e88138ceec9d |
13 |
|
14 |
Signed-off-by: Sviatoslav Sydorenko <webknjaz <AT> redhat.com> |
15 |
Closes: https://github.com/gentoo/gentoo/pull/17287 |
16 |
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> |
17 |
|
18 |
.../sssd/files/sssd-2.2.3-glibc-2.32-compat.patch | 71 ++++++++++++++++++++++ |
19 |
sys-auth/sssd/sssd-2.2.3.ebuild | 4 ++ |
20 |
2 files changed, 75 insertions(+) |
21 |
|
22 |
diff --git a/sys-auth/sssd/files/sssd-2.2.3-glibc-2.32-compat.patch b/sys-auth/sssd/files/sssd-2.2.3-glibc-2.32-compat.patch |
23 |
new file mode 100644 |
24 |
index 00000000000..9d59ae91be5 |
25 |
--- /dev/null |
26 |
+++ b/sys-auth/sssd/files/sssd-2.2.3-glibc-2.32-compat.patch |
27 |
@@ -0,0 +1,71 @@ |
28 |
+From fe9eeb51be06059721e873f77092b1e9ba08e6c1 Mon Sep 17 00:00:00 2001 |
29 |
+From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@××××××.com> |
30 |
+Date: Thu, 27 Feb 2020 06:50:40 +0100 |
31 |
+Subject: [PATCH] nss: Collision with external nss symbol |
32 |
+MIME-Version: 1.0 |
33 |
+Content-Type: text/plain; charset=UTF-8 |
34 |
+Content-Transfer-Encoding: 8bit |
35 |
+ |
36 |
+One of our internal static function names started |
37 |
+to collide with external nss symbol. Additional |
38 |
+sss_ suffix was added to avoid the collision. |
39 |
+ |
40 |
+This is needed to unblock Fedora Rawhide's |
41 |
+SSSD build. |
42 |
+ |
43 |
+Reviewed-by: Pavel Březina <pbrezina@××××××.com> |
44 |
+--- |
45 |
+ src/responder/nss/nss_cmd.c | 18 ++++++++++-------- |
46 |
+ 1 file changed, 10 insertions(+), 8 deletions(-) |
47 |
+ |
48 |
+diff --git a/src/responder/nss/nss_cmd.c b/src/responder/nss/nss_cmd.c |
49 |
+index 356aea1564..02706c4b94 100644 |
50 |
+--- a/src/responder/nss/nss_cmd.c |
51 |
++++ b/src/responder/nss/nss_cmd.c |
52 |
+@@ -731,11 +731,13 @@ static void nss_getent_done(struct tevent_req *subreq) |
53 |
+ talloc_free(cmd_ctx); |
54 |
+ } |
55 |
+ |
56 |
+-static void nss_setnetgrent_done(struct tevent_req *subreq); |
57 |
++static void sss_nss_setnetgrent_done(struct tevent_req *subreq); |
58 |
+ |
59 |
+-static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx, |
60 |
+- enum cache_req_type type, |
61 |
+- nss_protocol_fill_packet_fn fill_fn) |
62 |
++/* This function's name started to collide with external nss symbol, |
63 |
++ * so it has additional sss_* prefix unlike other functions here. */ |
64 |
++static errno_t sss_nss_setnetgrent(struct cli_ctx *cli_ctx, |
65 |
++ enum cache_req_type type, |
66 |
++ nss_protocol_fill_packet_fn fill_fn) |
67 |
+ { |
68 |
+ struct nss_ctx *nss_ctx; |
69 |
+ struct nss_state_ctx *state_ctx; |
70 |
+@@ -777,7 +779,7 @@ static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx, |
71 |
+ goto done; |
72 |
+ } |
73 |
+ |
74 |
+- tevent_req_set_callback(subreq, nss_setnetgrent_done, cmd_ctx); |
75 |
++ tevent_req_set_callback(subreq, sss_nss_setnetgrent_done, cmd_ctx); |
76 |
+ |
77 |
+ ret = EOK; |
78 |
+ |
79 |
+@@ -790,7 +792,7 @@ static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx, |
80 |
+ return EOK; |
81 |
+ } |
82 |
+ |
83 |
+-static void nss_setnetgrent_done(struct tevent_req *subreq) |
84 |
++static void sss_nss_setnetgrent_done(struct tevent_req *subreq) |
85 |
+ { |
86 |
+ struct nss_cmd_ctx *cmd_ctx; |
87 |
+ errno_t ret; |
88 |
+@@ -1040,8 +1042,8 @@ static errno_t nss_cmd_initgroups_ex(struct cli_ctx *cli_ctx) |
89 |
+ |
90 |
+ static errno_t nss_cmd_setnetgrent(struct cli_ctx *cli_ctx) |
91 |
+ { |
92 |
+- return nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME, |
93 |
+- nss_protocol_fill_setnetgrent); |
94 |
++ return sss_nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME, |
95 |
++ nss_protocol_fill_setnetgrent); |
96 |
+ } |
97 |
+ |
98 |
+ static errno_t nss_cmd_getnetgrent(struct cli_ctx *cli_ctx) |
99 |
|
100 |
diff --git a/sys-auth/sssd/sssd-2.2.3.ebuild b/sys-auth/sssd/sssd-2.2.3.ebuild |
101 |
index 98af8535a88..044a58e8615 100644 |
102 |
--- a/sys-auth/sssd/sssd-2.2.3.ebuild |
103 |
+++ b/sys-auth/sssd/sssd-2.2.3.ebuild |
104 |
@@ -77,6 +77,10 @@ MULTILIB_WRAPPED_HEADERS=( |
105 |
/usr/include/sss_certmap.h |
106 |
) |
107 |
|
108 |
+PATCHES=( |
109 |
+ "${FILESDIR}"/${P}-glibc-2.32-compat.patch |
110 |
+) |
111 |
+ |
112 |
pkg_setup() { |
113 |
linux-info_pkg_setup |
114 |
} |