summaryrefslogtreecommitdiffstats
path: root/recipes-security/selinux/libselinux-python.inc
blob: 7149d9440df4a6c110952d46065201e34829edff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SUMMARY = "SELinux library and simple utilities"
DESCRIPTION = "libselinux provides an API for SELinux applications to get and set \
process and file security contexts and to obtain security policy \
decisions.  Required for any applications that use the SELinux API."
SECTION = "base"
LICENSE = "PD"

FILESEXTRAPATHS_prepend := "${THISDIR}/libselinux:"

inherit python3native python3targetconfig

DEPENDS += "python3 swig-native libpcre libsepol"
RDEPENDS_${PN} += "libselinux python3-core python3-shell"

def get_policyconfigarch(d):
    import re
    target = d.getVar('TARGET_ARCH')
    p = re.compile('i.86')
    target = p.sub('i386',target)
    return "ARCH=%s" % (target)
EXTRA_OEMAKE += "${@get_policyconfigarch(d)}"

EXTRA_OEMAKE += "LDFLAGS='${LDFLAGS} -lpcre' LIBSEPOLA='${STAGING_LIBDIR}/libsepol.a'"
EXTRA_OEMAKE_append_libc-musl = " FTS_LDLIBS=-lfts"

FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
INSANE_SKIP_${PN} = "dev-so"

do_compile() {
    oe_runmake pywrap -j1 \
            PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
            PYINC='-I${STAGING_INCDIR}/${PYLIBVER}' \
            PYLIBS='-L${STAGING_LIBDIR}/${PYLIBVER} -l${PYLIBVER}'
}

do_install() {
    oe_runmake install-pywrap \
            DESTDIR=${D} \
            PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
            PYTHONLIBDIR='${libdir}/python${PYTHON_BASEVERSION}/site-packages'
}