meta-selinux/recipes-security/selinux/libsemanage_3.8.1.bb
Scott Murray 05178ce178 Adapt to UNPACKDIR changes
Remove or update S definitions as required to work with oe-core
S/UNPACKDIR changes.  A default definition of S has been added to
selinux_common.inc to avoid duplication in the set of recipes that
use it to build packages from different subdirectories of the selinux
repo.  The three packagegroups test build successfully with these
changes.

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2025-06-30 13:38:18 +08:00

55 lines
1.8 KiB
BlitzBasic

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 = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=03068f550c635f6520e0f0252da412fc"
require selinux_common.inc
inherit lib_package python3native
SRC_URI += "file://libsemanage-Fix-execve-segfaults-on-Ubuntu.patch \
file://libsemanage-allow-to-disable-audit-support.patch \
file://libsemanage-disable-expand-check-on-policy-load.patch \
"
DEPENDS = "libsepol libselinux python3 bison-native swig-native"
DEPENDS:append:class-target = " audit"
EXTRA_OEMAKE:class-native = "DISABLE_AUDIT=y"
PACKAGES =+ "${PN}-python"
# For /usr/libexec/selinux/semanage_migrate_store
RDEPENDS:${PN}-python = "python3-core"
FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/* \
${libexecdir}/selinux/semanage_migrate_store"
FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/*"
FILES:${PN} += "${libexecdir}"
do_compile:append() {
oe_runmake pywrap \
PYLIBVER='python${PYTHON_BASEVERSION}' \
PYINC='-I${STAGING_INCDIR}/${PYLIBVER}' \
PYLIBS='-L${STAGING_LIBDIR}/${PYLIBVER} -l${PYLIBVER}'
}
do_install:append() {
oe_runmake install-pywrap \
DESTDIR=${D} \
PYCEXT='.so' \
PYLIBVER='python${PYTHON_BASEVERSION}' \
PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}'
# Update "policy-version" for semanage.conf
sed -i 's/^#\s*\(policy-version\s*=\).*$/\1 33/' \
${D}/etc/selinux/semanage.conf
}
BBCLASSEXTEND = "native"