summaryrefslogtreecommitdiffstats
path: root/recipes-security/selinux/libsemanage.inc
blob: 0139511d2e63b0d8f0524c12bffb3035e9a6f7d5 (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
42
43
44
45
SUMMARY = "SELinux binary policy manipulation library"
DESCRIPTION = "libsemanage provides an API for the manipulation of SELinux binary policies. \
It is used by checkpolicy (the policy compiler) and similar tools, as well \
as by programs like load_policy that need to perform specific transformations \
on binary policies such as customizing policy boolean settings."
SECTION = "base"
LICENSE = "LGPLv2.1+"

inherit lib_package python3native

DEPENDS += "libsepol libselinux bzip2 python3 bison-native flex-native swig-native"
DEPENDS_append_class-target = " audit"

PACKAGES =+ "${PN}-python"

# For /usr/libexec/selinux/semanage_migrate_store
RDEPENDS_${PN}-python += "python3-core"

FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
                      ${libexecdir}/selinux/semanage_migrate_store"
FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/*"

FILES_${PN} += "${libexecdir}"

EXTRA_OEMAKE_class-native += "DISABLE_AUDIT=y"

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

do_install_append() {
    oe_runmake install-pywrap \
            PYCEXT='.so' \
            PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
            PYTHONLIBDIR='${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages'

    # Update "policy-version" for semanage.conf
    sed -i 's/^#\s*\(policy-version\s*=\).*$/\1 31/' \
	${D}/etc/selinux/semanage.conf
}

BBCLASSEXTEND = "native"