diff options
Diffstat (limited to 'external/poky/meta/recipes-support/libcap-ng')
6 files changed, 121 insertions, 37 deletions
diff --git a/external/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.10.bb b/external/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.10.bb new file mode 100644 index 00000000..43f76dc5 --- /dev/null +++ b/external/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.10.bb @@ -0,0 +1,29 @@ +require libcap-ng.inc + +FILESEXTRAPATHS_prepend := "${THISDIR}/libcap-ng:" + +SUMMARY .= " - python" + +inherit lib_package autotools python3native + +DEPENDS += "libcap-ng python3 swig-native" + +S = "${WORKDIR}/libcap-ng-${PV}" + +EXTRA_OECONF += "--with-python --with-python3" +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" + +do_install_append() { + rm -rf ${D}${bindir} + rm -rf ${D}${libdir}/.debug + rm -f ${D}${libdir}/lib* + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} + rm -rf ${D}${includedir} +} + +# PACKAGES = "${PN}" + +FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}" +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so" + diff --git a/external/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/external/poky/meta/recipes-support/libcap-ng/libcap-ng.inc new file mode 100644 index 00000000..002915ad --- /dev/null +++ b/external/poky/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -0,0 +1,19 @@ +SUMMARY = "An alternate posix capabilities library" +DESCRIPTION = "The libcap-ng library is intended to make programming \ +with POSIX capabilities much easier than the traditional libcap library." +HOMEPAGE = "http://freecode.com/projects/libcap-ng" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ + file://python.patch \ + file://0001-configure.ac-add-library-if-header-found.patch \ + file://0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch \ +" + +SRC_URI[md5sum] = "57dc267e2949cdecb651a929f9206572" +SRC_URI[sha256sum] = "a84ca7b4e0444283ed269b7a29f5b6187f647c82e2b876636b49b9a744f0ffbf" + +BBCLASSEXTEND = "native nativesdk" diff --git a/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch b/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch new file mode 100644 index 00000000..6b155cce --- /dev/null +++ b/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0001-configure.ac-add-library-if-header-found.patch @@ -0,0 +1,31 @@ +From 0230e2e374bb71aed0181ccd9ebd13c0c5125a5d Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +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. + +Upstream-Status: Submitted [https://github.com/stevegrubb/libcap-ng/pull/10] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + 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/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch b/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch new file mode 100644 index 00000000..c68254ff --- /dev/null +++ b/external/poky/meta/recipes-support/libcap-ng/libcap-ng/0002-Wrap-pthread_atfork-usage-in-HAVE_PTHREAD_H.patch @@ -0,0 +1,25 @@ +From d95c4018ad57c37f6272dbedfa5217776567c329 Mon Sep 17 00:00:00 2001 +From: Christopher Larson <chris_larson@mentor.com> +Date: Tue, 26 Nov 2019 22:34:34 +0500 +Subject: [PATCH] Wrap pthread_atfork usage in HAVE_PTHREAD_H + +Upstream-Status: Pending +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +--- + 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) diff --git a/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.10.bb b/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.10.bb new file mode 100644 index 00000000..6e6de454 --- /dev/null +++ b/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.10.bb @@ -0,0 +1,17 @@ +require libcap-ng.inc + +inherit lib_package autotools + +EXTRA_OECONF += "--without-python --without-python3" + +BBCLASSEXTEND = "native nativesdk" + +do_install_append() { + # Moving libcap-ng to base_libdir + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + mkdir -p ${D}/${base_libdir}/ + mv -f ${D}${libdir}/libcap-ng.so.* ${D}${base_libdir}/ + relpath=${@os.path.relpath("${base_libdir}", "${libdir}")} + ln -sf ${relpath}/libcap-ng.so.0.0.0 ${D}${libdir}/libcap-ng.so + fi +} diff --git a/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb b/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb deleted file mode 100644 index aff6259d..00000000 --- a/external/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "An alternate posix capabilities library" -DESCRIPTION = "The libcap-ng library is intended to make programming \ -with POSIX capabilities much easier than the traditional libcap library." -HOMEPAGE = "http://freecode.com/projects/libcap-ng" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" - -SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ - file://python.patch" - -inherit lib_package autotools python3native - -SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" -SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" - -DEPENDS += "swig-native python3" - -EXTRA_OECONF += "--with-python --with-python3" -EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" - -PACKAGES += "${PN}-python" - -FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -BBCLASSEXTEND = "native" - -do_install_append() { - # Moving libcap-ng to base_libdir - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - mkdir -p ${D}/${base_libdir}/ - mv -f ${D}${libdir}/libcap-ng.so.* ${D}${base_libdir}/ - relpath=${@os.path.relpath("${base_libdir}", "${libdir}")} - ln -sf ${relpath}/libcap-ng.so.0.0.0 ${D}${libdir}/libcap-ng.so - fi -} |