From 8404784b3505d905ca52ada9a49afb93a1cd765c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 20 Jan 2016 05:03:10 +0000 Subject: polkit: Fix build with musl Make features like netgroup optional, these are not supported by posix secondly they are poked at during configure so nothing changes for glibc based systems but it helps compiling with musl Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- .../0001-make-netgroup-support-configurable.patch | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch (limited to 'meta-oe/recipes-extended/polkit/polkit') diff --git a/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch b/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch new file mode 100644 index 0000000000..4e3af876e5 --- /dev/null +++ b/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch @@ -0,0 +1,107 @@ +From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 20 Jan 2016 04:31:59 +0000 +Subject: [PATCH] make netgroup support configurable + +Disable using innetgr and *netigrent function if not available + +These functions are not available on all libc implementations e.g. musl +doesnt have them. + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + configure.ac | 2 +- + src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++- + src/polkitbackend/polkitbackendjsauthority.c | 5 ++--- + 3 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 07982d1..21590b2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -158,7 +158,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], + [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) + AC_SUBST(EXPAT_LIBS) + +-AC_CHECK_FUNCS(clearenv fdatasync) ++AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr) + + if test "x$GCC" = "xyes"; then + LDFLAGS="-Wl,--as-needed $LDFLAGS" +diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c +index 7019356..cf39d77 100644 +--- a/src/polkitbackend/polkitbackendinteractiveauthority.c ++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c +@@ -2213,7 +2213,7 @@ get_users_in_group (PolkitIdentity *group, + out: + return ret; + } +- ++#if defined HAVE_GETNETGRENT + static GList * + get_users_in_net_group (PolkitIdentity *group, + gboolean include_root) +@@ -2270,6 +2270,8 @@ get_users_in_net_group (PolkitIdentity *group, + return ret; + } + ++#endif ++ + /* ---------------------------------------------------------------------------------------------------- */ + + static void +@@ -2355,10 +2357,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent, + { + user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE)); + } ++#if defined HAVE_GETNETGRENT + else if (POLKIT_IS_UNIX_NETGROUP (identity)) + { + user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE)); + } ++#endif + else + { + g_warning ("Unsupported identity"); +diff --git a/src/polkitbackend/polkitbackendjsauthority.c b/src/polkitbackend/polkitbackendjsauthority.c +index 097dcc5..e59b3f7 100644 +--- a/src/polkitbackend/polkitbackendjsauthority.c ++++ b/src/polkitbackend/polkitbackendjsauthority.c +@@ -1498,7 +1498,6 @@ js_polkit_spawn (JSContext *cx, + + /* ---------------------------------------------------------------------------------------------------- */ + +- + static JSBool + js_polkit_user_is_in_netgroup (JSContext *cx, + unsigned argc, +@@ -1518,6 +1517,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + user = JS_EncodeString (cx, user_str); + netgroup = JS_EncodeString (cx, netgroup_str); + ++#if defined HAVE_INNETGR + if (innetgr (netgroup, + NULL, /* host */ + user, +@@ -1525,6 +1525,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + { + is_in_netgroup = JS_TRUE; + } ++#endif + + JS_free (cx, netgroup); + JS_free (cx, user); +@@ -1536,8 +1537,6 @@ js_polkit_user_is_in_netgroup (JSContext *cx, + return ret; + } + +- +- + /* ---------------------------------------------------------------------------------------------------- */ + + typedef struct +-- +2.7.0 + -- cgit 1.2.3-korg