summaryrefslogtreecommitdiffstats
path: root/recipes-security/selinux/libselinux-python.inc
blob: 24407e8dcfd0e9c82ecfe935a10e62d96eb05a04 (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
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 python3-dir

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

def get_policyconfigarch(d):
    import re
    target = d.getVar('TARGET_ARCH', True)
    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/*"

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 \
            PYCEXT='.so' \
            PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
            PYTHONLIBDIR='${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages'
}