blob: 36b94ee74f22f5425b596b984fa80a0824e12951 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Library for getting/setting POSIX.1e capabilities"
2HOMEPAGE = "http://sites.google.com/site/fullycapable/"
3
4# no specific GPL version required
5LICENSE = "BSD | GPLv2"
6LIC_FILES_CHKSUM = "file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1"
7
8DEPENDS = "perl-native-runtime"
9
10SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz"
11
12SRC_URI[md5sum] = "d43ab9f680435a7fff35b4ace8d45b80"
13SRC_URI[sha256sum] = "cee4568f78dc851d726fc93f25f4ed91cc223b1fe8259daa4a77158d174e6c65"
14
15inherit lib_package
16
17# do NOT pass target cflags to host compilations
18#
19do_configure() {
20 # libcap uses := for compilers, fortunately, it gives us a hint
21 # on what should be replaced with ?=
22 sed -e 's,:=,?=,g' -i Make.Rules
23 sed -e 's,^BUILD_CFLAGS ?= $(.*CFLAGS),BUILD_CFLAGS := $(BUILD_CFLAGS),' -i Make.Rules
24
25 # disable gperf detection
26 sed -e '/shell gperf/cifeq (,yes)' -i libcap/Makefile
27}
28
29PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
30 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
31PACKAGECONFIG_class-native ??= ""
32
33PACKAGECONFIG[attr] = "LIBATTR=yes,LIBATTR=no,attr"
34PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
35
36EXTRA_OEMAKE = " \
37 INDENT= \
38 lib=${@os.path.basename('${libdir}')} \
39 RAISE_SETFCAP=no \
40 DYNAMIC=yes \
41"
42
43EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
44
45# these are present in the libcap defaults, so include in our CFLAGS too
46CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
47
48do_compile() {
49 oe_runmake ${EXTRA_OECONF}
50}
51
52do_install() {
53 oe_runmake install \
54 ${EXTRA_OECONF} \
55 DESTDIR="${D}" \
56 prefix="${prefix}" \
57 SBINDIR="${D}${sbindir}"
58}
59
60do_install_append() {
61 # Move the library to base_libdir
62 install -d ${D}${base_libdir}
63 if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
64 mv ${D}${libdir}/libcap* ${D}${base_libdir}
65 if [ -d ${D}${libdir}/security ]; then
66 mv ${D}${libdir}/security ${D}${base_libdir}
67 fi
68 fi
69}
70
71FILES_${PN}-dev += "${base_libdir}/*.so"
72
73# pam files
74FILES_${PN} += "${base_libdir}/security/*.so"
75FILES_${PN}-dbg += "${base_libdir}/security/.debug/*.so"
76
77BBCLASSEXTEND = "native nativesdk"