libcap : Provides a pkgconfig file for libcap to fix security-manager package
[scm/bb/tizen-distro.git] / meta / recipes-support / libcap / libcap.inc
1 SUMMARY = "Library for getting/setting POSIX.1e capabilities"
2 HOMEPAGE = "http://sites.google.com/site/fullycapable/"
3
4 # no specific GPL version required
5 LICENSE = "BSD | GPLv2"
6 LIC_FILES_CHKSUM = "file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1"
7
8 DEPENDS = "perl-native-runtime"
9
10 SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz \
11            file://fix-CAP_LAST_CAP.patch \
12            file://libcap.pc"
13
14 PR = "r1"
15
16 inherit lib_package
17
18 # do NOT pass target cflags to host compilations
19 #
20 do_configure() {
21         # libcap uses := for compilers, fortunately, it gives us a hint
22         # on what should be replaced with ?=
23         sed -e 's,:=,?=,g' -i Make.Rules
24         sed -e 's,^BUILD_CFLAGS ?= $(.*CFLAGS),BUILD_CFLAGS := $(BUILD_CFLAGS),' -i Make.Rules
25
26         # disable gperf detection
27         sed -e '/shell gperf/cifeq (,yes)' -i libcap/Makefile
28 }
29
30 PACKAGECONFIG ??= "attr ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
31 PACKAGECONFIG_class-native ??= ""
32
33 PACKAGECONFIG[attr] = "LIBATTR=yes,LIBATTR=no,attr"
34 PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
35
36 EXTRA_OEMAKE += " \
37   INDENT=  \
38   lib=${@os.path.basename('${libdir}')} \
39   RAISE_SETFCAP=no \
40 "
41
42 EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}"
43
44 do_compile() {
45         oe_runmake ${EXTRA_OECONF}
46 }
47
48 do_install() {
49         oe_runmake install \
50                 ${EXTRA_OECONF} \
51                 DESTDIR="${D}" \
52                 prefix="${prefix}" \
53                 SBINDIR="${D}${sbindir}"
54 }
55
56 do_install_append() {
57         # Move the library to base_libdir
58         install -d ${D}${base_libdir}
59         if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
60                 mv ${D}${libdir}/* ${D}${base_libdir}
61                 rmdir ${D}${libdir}
62         fi
63 }
64 do_install_append_class-target() {
65         mkdir -p  ${D}${libdir}/pkgconfig
66         cp ${WORKDIR}/libcap.pc  ${D}${libdir}/pkgconfig
67 }
68 FILES_${PN}-dev += " ${base_libdir}/*.so "
69 FILES_${PN}-dev_append_class-target = " ${libdir}/pkgconfig/libcap.pc "
70
71 # pam files
72 FILES_${PN} += "${base_libdir}/security/*.so"
73 FILES_${PN}-dbg += "${base_libdir}/security/.debug/*.so"
74
75 BBCLASSEXTEND = "native nativesdk"