From 8d84fdea1c26ed5f8f8261c89070df44da3f1855 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Tue, 26 Nov 2019 23:08:29 +0500 Subject: libcap-ng: add pthread library if header is found If the pthread.h header is found, make sure library containing "pthread_atfork" is added to the list of libraries against which to link. On some hosts (e.g. openSUSE 15.1) "-lpthread" needs to be explicitly added in order for the code to compile correctly. We already had a workaround for this for native builds, but using some external toolchains, we can be bit by this for the target recipe as well. Most of this is courtesy Trevor Woerner , via his patch at stevegrubb/libcap-ng#10, the last thanks to Khem Raj. Signed-off-by: Christopher Larson Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...-configure.ac-add-library-if-header-found.patch | 30 ++++++++++++++++++++++ ...ap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch | 24 +++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch create mode 100644 meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch (limited to 'meta/recipes-support/libcap-ng/libcap-ng') diff --git a/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch b/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch new file mode 100644 index 0000000000..0fcb032f90 --- /dev/null +++ b/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch @@ -0,0 +1,30 @@ +From 0230e2e374bb71aed0181ccd9ebd13c0c5125a5d Mon Sep 17 00:00:00 2001 +From: Trevor Woerner +Date: Fri, 25 Oct 2019 17:01:20 -0400 +Subject: [PATCH] configure.ac: add library if header found + +If the pthread.h header is found, make sure library containing +"pthread_atfork" is added to the list of libraries against which to link. +On some hosts (e.g. openSUSE 15.1) "-lpthread" needs to be explicitly added +in order for the code to compile correctly. + +Signed-off-by: Trevor Woerner +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 63088f4..639b464 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -56,7 +56,9 @@ AC_CHECK_HEADERS(sys/xattr.h, [], [ + AC_CHECK_HEADERS(attr/xattr.h, [], [AC_MSG_WARN(attr/xattr.h not found, disabling file system capabilities.)]) + ]) + AC_CHECK_HEADERS(linux/securebits.h, [], []) +-AC_CHECK_HEADERS(pthread.h, [], [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)]) ++AC_CHECK_HEADERS(pthread.h, ++ [AC_SEARCH_LIBS(pthread_atfork, pthread)], ++ [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)]) + + AC_C_CONST + AC_C_INLINE diff --git a/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch b/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch new file mode 100644 index 0000000000..7eb950f159 --- /dev/null +++ b/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch @@ -0,0 +1,24 @@ +From d95c4018ad57c37f6272dbedfa5217776567c329 Mon Sep 17 00:00:00 2001 +From: Christopher Larson +Date: Tue, 26 Nov 2019 22:34:34 +0500 +Subject: [PATCH] Wrap pthread_atfork usage in HAVE_PTHREAD_H + +Signed-off-by: Christopher Larson +--- + src/cap-ng.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cap-ng.c b/src/cap-ng.c +index 35fcd7a..97a3dbd 100644 +--- a/src/cap-ng.c ++++ b/src/cap-ng.c +@@ -166,7 +166,9 @@ static void deinit(void) + static void init_lib(void) __attribute__ ((constructor)); + static void init_lib(void) + { ++#ifdef HAVE_PTHREAD_H + pthread_atfork(NULL, NULL, deinit); ++#endif + } + + static void init(void) -- cgit 1.2.3-korg