xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-support/libcap/libcap_2.66.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Library for getting/setting POSIX.1e capabilities"
2*4882a593SmuzhiyunDESCRIPTION = "A library providing the API to access POSIX capabilities. \
3*4882a593SmuzhiyunThese allow giving various kinds of specific privileges to individual \
4*4882a593Smuzhiyunusers, without giving them full root permissions."
5*4882a593SmuzhiyunHOMEPAGE = "http://sites.google.com/site/fullycapable/"
6*4882a593Smuzhiyun# no specific GPL version required
7*4882a593SmuzhiyunLICENSE = "BSD-3-Clause | GPL-2.0-only"
8*4882a593SmuzhiyunLIC_FILES_CHKSUM_PAM = "file://pam_cap/License;md5=0ad4c9c052b9719ee4fce1bfc7c7dee4"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "\
10*4882a593Smuzhiyun    file://License;md5=e2370ba375efe9e1a095c26d37e483b8 \
11*4882a593Smuzhiyun    ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${LIC_FILES_CHKSUM_PAM}', '', d)} \
12*4882a593Smuzhiyun"
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunDEPENDS = "hostperl-runtime-native gperf-native"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunSRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \
17*4882a593Smuzhiyun           file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
18*4882a593Smuzhiyun           file://0002-tests-do-not-run-target-executables.patch \
19*4882a593Smuzhiyun           "
20*4882a593SmuzhiyunSRC_URI:append:class-nativesdk = " \
21*4882a593Smuzhiyun           file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \
22*4882a593Smuzhiyun           "
23*4882a593SmuzhiyunSRC_URI[sha256sum] = "15c40ededb3003d70a283fe587a36b7d19c8b3b554e33f86129c059a4bb466b2"
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
26*4882a593Smuzhiyun
27*4882a593Smuzhiyuninherit lib_package
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
30*4882a593SmuzhiyunPACKAGECONFIG:class-native ??= ""
31*4882a593Smuzhiyun
32*4882a593SmuzhiyunPACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunEXTRA_OEMAKE = " \
35*4882a593Smuzhiyun  INDENT=  \
36*4882a593Smuzhiyun  lib='${baselib}' \
37*4882a593Smuzhiyun  RAISE_SETFCAP=no \
38*4882a593Smuzhiyun  DYNAMIC=yes \
39*4882a593Smuzhiyun  USE_GPERF=yes \
40*4882a593Smuzhiyun"
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunEXTRA_OEMAKE:append:class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
43*4882a593Smuzhiyun
44*4882a593Smuzhiyundo_compile() {
45*4882a593Smuzhiyun	unset CFLAGS BUILD_CFLAGS
46*4882a593Smuzhiyun	oe_runmake \
47*4882a593Smuzhiyun		${PACKAGECONFIG_CONFARGS} \
48*4882a593Smuzhiyun		AR="${AR}" \
49*4882a593Smuzhiyun		CC="${CC}" \
50*4882a593Smuzhiyun		RANLIB="${RANLIB}" \
51*4882a593Smuzhiyun                OBJCOPY="${OBJCOPY}" \
52*4882a593Smuzhiyun		COPTS="${CFLAGS}" \
53*4882a593Smuzhiyun		BUILD_COPTS="${BUILD_CFLAGS}"
54*4882a593Smuzhiyun}
55*4882a593Smuzhiyun
56*4882a593Smuzhiyundo_install() {
57*4882a593Smuzhiyun	oe_runmake install \
58*4882a593Smuzhiyun		${PACKAGECONFIG_CONFARGS} \
59*4882a593Smuzhiyun		DESTDIR="${D}" \
60*4882a593Smuzhiyun		prefix="${prefix}" \
61*4882a593Smuzhiyun		SBINDIR="${sbindir}"
62*4882a593Smuzhiyun}
63*4882a593Smuzhiyun
64*4882a593Smuzhiyundo_install:append() {
65*4882a593Smuzhiyun	# Move the library to base_libdir
66*4882a593Smuzhiyun	install -d ${D}${base_libdir}
67*4882a593Smuzhiyun	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
68*4882a593Smuzhiyun		mv ${D}${libdir}/libcap* ${D}${base_libdir}
69*4882a593Smuzhiyun                if [ -d ${D}${libdir}/security ]; then
70*4882a593Smuzhiyun			mv ${D}${libdir}/security ${D}${base_libdir}
71*4882a593Smuzhiyun		fi
72*4882a593Smuzhiyun	fi
73*4882a593Smuzhiyun}
74*4882a593Smuzhiyun
75*4882a593SmuzhiyunFILES:${PN}-dev += "${base_libdir}/*.so"
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun# pam files
78*4882a593SmuzhiyunFILES:${PN} += "${base_libdir}/security/*.so"
79*4882a593Smuzhiyun
80*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
81