summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libcap/libcap_2.25.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/libcap/libcap_2.25.bb')
-rw-r--r--meta/recipes-support/libcap/libcap_2.25.bb76
1 files changed, 76 insertions, 0 deletions
diff --git a/meta/recipes-support/libcap/libcap_2.25.bb b/meta/recipes-support/libcap/libcap_2.25.bb
new file mode 100644
index 0000000000..865ebb8d2c
--- /dev/null
+++ b/meta/recipes-support/libcap/libcap_2.25.bb
@@ -0,0 +1,76 @@
1SUMMARY = "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 = "hostperl-runtime-native"
9
10SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz"
11
12SRC_URI[md5sum] = "6666b839e5d46c2ad33fc8aa2ceb5f77"
13SRC_URI[sha256sum] = "693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162"
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="${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"
75
76BBCLASSEXTEND = "native nativesdk"