libcap_2.76.bb 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. SUMMARY = "Library for getting/setting POSIX.1e capabilities"
  2. DESCRIPTION = "A library providing the API to access POSIX capabilities. \
  3. These allow giving various kinds of specific privileges to individual \
  4. users, without giving them full root permissions."
  5. HOMEPAGE = "http://sites.google.com/site/fullycapable/"
  6. # The library is BSD | GPLv2, the PAM module is BSD | LGPLv2+
  7. LICENSE = "(BSD-3-Clause | GPL-2.0-only) & (BSD-3-Clause | LGPL-2.0-or-later)"
  8. LIC_FILES_CHKSUM = "file://License;md5=2965a646645b72ecee859b43c592dcaa \
  9. file://pam_cap/License;md5=905326f41d3d1f8df21943f9a4ed6b50 \
  10. "
  11. DEPENDS = "hostperl-runtime-native gperf-native"
  12. SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz"
  13. SRC_URI:append:class-nativesdk = " \
  14. file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \
  15. "
  16. SRC_URI[sha256sum] = "629da4ab29900d0f7fcc36227073743119925fd711c99a1689bbf5c9b40c8e6f"
  17. UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
  18. inherit lib_package
  19. PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
  20. PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
  21. EXTRA_OEMAKE = " \
  22. ${PACKAGECONFIG_CONFARGS} \
  23. INDENT= \
  24. lib='${baselib}' \
  25. RAISE_SETFCAP=no \
  26. DYNAMIC=yes \
  27. USE_GPERF=yes \
  28. "
  29. do_compile() {
  30. oe_runmake \
  31. AR="${AR}" \
  32. CC="${CC}" \
  33. RANLIB="${RANLIB}" \
  34. OBJCOPY="${OBJCOPY}"
  35. }
  36. do_install() {
  37. oe_runmake install \
  38. DESTDIR="${D}" \
  39. prefix="${prefix}" \
  40. SBINDIR="${sbindir}"
  41. }
  42. do_install:append() {
  43. # Move the library to base_libdir
  44. install -d ${D}${base_libdir}
  45. if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
  46. mv ${D}${libdir}/libcap* ${D}${base_libdir}
  47. if [ -d ${D}${libdir}/security ]; then
  48. mv ${D}${libdir}/security ${D}${base_libdir}
  49. fi
  50. fi
  51. }
  52. # pam files
  53. FILES:${PN} += "${base_libdir}/security/*.so"
  54. # The license of the main package depends on whether PAM is enabled or not
  55. LICENSE:${PN} = "(BSD-3-Clause | GPL-2.0-only)${@bb.utils.contains('PACKAGECONFIG', 'pam', ' & (BSD-3-Clause | LGPL-2.0-or-later)', '', d)}"
  56. LICENSE:${PN}-dev = "(BSD-3-Clause | GPL-2.0-only)"
  57. BBCLASSEXTEND = "native nativesdk"