From e506763d39ef426ea3285c7673f9442de3f03403 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Sat, 29 Jun 2024 21:36:39 +0800 Subject: selinux: upgrade 3.6 -> 3.7 ChangeLog: https://github.com/SELinuxProject/selinux/releases/tag/3.7 * audit2allow -C for CIL output mode * sepolgen: adjust parse for refpolicy * semanage: Allow modifying records on "add" * semanage: Do not sort local fcontext definitions * Improved man pages * checkpolicy: support CIDR notation for nodecon statements * sandbox: Add support for Wayland * Code improvements and bug fixes Signed-off-by: Yi Zhao Signed-off-by: Joe MacDonald --- recipes-security/selinux/checkpolicy_3.6.bb | 23 --- recipes-security/selinux/checkpolicy_3.7.bb | 23 +++ recipes-security/selinux/libselinux-python_3.6.bb | 57 ------- recipes-security/selinux/libselinux-python_3.7.bb | 57 +++++++ recipes-security/selinux/libselinux_3.6.bb | 33 ---- recipes-security/selinux/libselinux_3.7.bb | 33 ++++ recipes-security/selinux/libsemanage_3.6.bb | 56 ------- recipes-security/selinux/libsemanage_3.7.bb | 56 +++++++ recipes-security/selinux/libsepol_3.6.bb | 18 --- recipes-security/selinux/libsepol_3.7.bb | 18 +++ recipes-security/selinux/mcstrans_3.6.bb | 58 ------- recipes-security/selinux/mcstrans_3.7.bb | 58 +++++++ recipes-security/selinux/policycoreutils_3.6.bb | 179 ---------------------- recipes-security/selinux/policycoreutils_3.7.bb | 179 ++++++++++++++++++++++ recipes-security/selinux/restorecond_3.6.bb | 37 ----- recipes-security/selinux/restorecond_3.7.bb | 37 +++++ recipes-security/selinux/secilc_3.6.bb | 15 -- recipes-security/selinux/secilc_3.7.bb | 15 ++ recipes-security/selinux/selinux-dbus_3.6.bb | 18 --- recipes-security/selinux/selinux-dbus_3.7.bb | 18 +++ recipes-security/selinux/selinux-gui_3.6.bb | 20 --- recipes-security/selinux/selinux-gui_3.7.bb | 20 +++ recipes-security/selinux/selinux-python_3.6.bb | 122 --------------- recipes-security/selinux/selinux-python_3.7.bb | 122 +++++++++++++++ recipes-security/selinux/selinux-sandbox_3.6.bb | 31 ---- recipes-security/selinux/selinux-sandbox_3.7.bb | 31 ++++ recipes-security/selinux/selinux_common.inc | 2 +- recipes-security/selinux/semodule-utils_3.6.bb | 28 ---- recipes-security/selinux/semodule-utils_3.7.bb | 28 ++++ 29 files changed, 696 insertions(+), 696 deletions(-) delete mode 100644 recipes-security/selinux/checkpolicy_3.6.bb create mode 100644 recipes-security/selinux/checkpolicy_3.7.bb delete mode 100644 recipes-security/selinux/libselinux-python_3.6.bb create mode 100644 recipes-security/selinux/libselinux-python_3.7.bb delete mode 100644 recipes-security/selinux/libselinux_3.6.bb create mode 100644 recipes-security/selinux/libselinux_3.7.bb delete mode 100644 recipes-security/selinux/libsemanage_3.6.bb create mode 100644 recipes-security/selinux/libsemanage_3.7.bb delete mode 100644 recipes-security/selinux/libsepol_3.6.bb create mode 100644 recipes-security/selinux/libsepol_3.7.bb delete mode 100644 recipes-security/selinux/mcstrans_3.6.bb create mode 100644 recipes-security/selinux/mcstrans_3.7.bb delete mode 100644 recipes-security/selinux/policycoreutils_3.6.bb create mode 100644 recipes-security/selinux/policycoreutils_3.7.bb delete mode 100644 recipes-security/selinux/restorecond_3.6.bb create mode 100644 recipes-security/selinux/restorecond_3.7.bb delete mode 100644 recipes-security/selinux/secilc_3.6.bb create mode 100644 recipes-security/selinux/secilc_3.7.bb delete mode 100644 recipes-security/selinux/selinux-dbus_3.6.bb create mode 100644 recipes-security/selinux/selinux-dbus_3.7.bb delete mode 100644 recipes-security/selinux/selinux-gui_3.6.bb create mode 100644 recipes-security/selinux/selinux-gui_3.7.bb delete mode 100644 recipes-security/selinux/selinux-python_3.6.bb create mode 100644 recipes-security/selinux/selinux-python_3.7.bb delete mode 100644 recipes-security/selinux/selinux-sandbox_3.6.bb create mode 100644 recipes-security/selinux/selinux-sandbox_3.7.bb delete mode 100644 recipes-security/selinux/semodule-utils_3.6.bb create mode 100644 recipes-security/selinux/semodule-utils_3.7.bb diff --git a/recipes-security/selinux/checkpolicy_3.6.bb b/recipes-security/selinux/checkpolicy_3.6.bb deleted file mode 100644 index 60f506d..0000000 --- a/recipes-security/selinux/checkpolicy_3.6.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "SELinux policy compiler" -DESCRIPTION = "\ -This package contains checkpolicy, the SELinux policy compiler. Only \ -required for building policies. It uses libsepol to generate the \ -binary policy. checkpolicy uses the static libsepol since it deals \ -with low level details of the policy that have not been \ -encapsulated/abstracted by a proper shared library interface." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -DEPENDS = "libsepol bison-native" - -S = "${WORKDIR}/git/checkpolicy" - -do_install:append() { - install test/dismod ${D}/${bindir}/sedismod - install test/dispol ${D}/${bindir}/sedispol -} - -BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/checkpolicy_3.7.bb b/recipes-security/selinux/checkpolicy_3.7.bb new file mode 100644 index 0000000..60f506d --- /dev/null +++ b/recipes-security/selinux/checkpolicy_3.7.bb @@ -0,0 +1,23 @@ +SUMMARY = "SELinux policy compiler" +DESCRIPTION = "\ +This package contains checkpolicy, the SELinux policy compiler. Only \ +required for building policies. It uses libsepol to generate the \ +binary policy. checkpolicy uses the static libsepol since it deals \ +with low level details of the policy that have not been \ +encapsulated/abstracted by a proper shared library interface." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +DEPENDS = "libsepol bison-native" + +S = "${WORKDIR}/git/checkpolicy" + +do_install:append() { + install test/dismod ${D}/${bindir}/sedismod + install test/dispol ${D}/${bindir}/sedispol +} + +BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/libselinux-python_3.6.bb b/recipes-security/selinux/libselinux-python_3.6.bb deleted file mode 100644 index 3c5c489..0000000 --- a/recipes-security/selinux/libselinux-python_3.6.bb +++ /dev/null @@ -1,57 +0,0 @@ -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" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=84b4d2c6ef954a2d4081e775a270d0d0" - -require selinux_common.inc - -inherit python3targetconfig pkgconfig - -FILESEXTRAPATHS:prepend := "${THISDIR}/libselinux:" -SRC_URI += "\ - file://0001-Makefile-fix-python-modules-install-path-for-multili.patch \ - file://0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch \ - file://0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch \ - " - -S = "${WORKDIR}/git/libselinux" - -DEPENDS = "libsepol libpcre2 swig-native python3-setuptools-scm-native" -DEPENDS:append:libc-musl = " fts" - -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:append:libc-musl = " FTS_LDLIBS=-lfts" - -FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" -INSANE_SKIP:${PN} = "dev-so" - -do_compile() { - oe_runmake pywrap -j1 \ - PYLIBVER='python${PYTHON_BASEVERSION}' \ - PYINC='-I${STAGING_INCDIR}/${PYLIBVER}' \ - PYLIBS='-L${STAGING_LIBDIR}/${PYLIBVER} -l${PYLIBVER}' -} - -do_install() { - oe_runmake install-pywrap \ - DESTDIR=${D} \ - PREFIX=${prefix} - PYLIBVER='python${PYTHON_BASEVERSION}' \ - PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}' - - # Fix buildpaths issue - sed -i -e 's,${WORKDIR},,g' \ - ${D}${PYTHON_SITEPACKAGES_DIR}/selinux-${PV}.dist-info/direct_url.json -} diff --git a/recipes-security/selinux/libselinux-python_3.7.bb b/recipes-security/selinux/libselinux-python_3.7.bb new file mode 100644 index 0000000..3c5c489 --- /dev/null +++ b/recipes-security/selinux/libselinux-python_3.7.bb @@ -0,0 +1,57 @@ +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" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=84b4d2c6ef954a2d4081e775a270d0d0" + +require selinux_common.inc + +inherit python3targetconfig pkgconfig + +FILESEXTRAPATHS:prepend := "${THISDIR}/libselinux:" +SRC_URI += "\ + file://0001-Makefile-fix-python-modules-install-path-for-multili.patch \ + file://0002-Do-not-use-PYCEXT-and-rely-on-the-installed-file-nam.patch \ + file://0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch \ + " + +S = "${WORKDIR}/git/libselinux" + +DEPENDS = "libsepol libpcre2 swig-native python3-setuptools-scm-native" +DEPENDS:append:libc-musl = " fts" + +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:append:libc-musl = " FTS_LDLIBS=-lfts" + +FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" +INSANE_SKIP:${PN} = "dev-so" + +do_compile() { + oe_runmake pywrap -j1 \ + PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYINC='-I${STAGING_INCDIR}/${PYLIBVER}' \ + PYLIBS='-L${STAGING_LIBDIR}/${PYLIBVER} -l${PYLIBVER}' +} + +do_install() { + oe_runmake install-pywrap \ + DESTDIR=${D} \ + PREFIX=${prefix} + PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}' + + # Fix buildpaths issue + sed -i -e 's,${WORKDIR},,g' \ + ${D}${PYTHON_SITEPACKAGES_DIR}/selinux-${PV}.dist-info/direct_url.json +} diff --git a/recipes-security/selinux/libselinux_3.6.bb b/recipes-security/selinux/libselinux_3.6.bb deleted file mode 100644 index b0dcde6..0000000 --- a/recipes-security/selinux/libselinux_3.6.bb +++ /dev/null @@ -1,33 +0,0 @@ -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" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=84b4d2c6ef954a2d4081e775a270d0d0" - -require selinux_common.inc - -inherit lib_package pkgconfig - -FILESEXTRAPATHS:prepend := "${THISDIR}/libselinux:" -SRC_URI += "\ - file://0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch \ - " - -S = "${WORKDIR}/git/libselinux" - -DEPENDS = "libsepol libpcre2" -DEPENDS:append:libc-musl = " fts" - -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:append:libc-musl = " FTS_LDLIBS=-lfts" - -BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/libselinux_3.7.bb b/recipes-security/selinux/libselinux_3.7.bb new file mode 100644 index 0000000..b0dcde6 --- /dev/null +++ b/recipes-security/selinux/libselinux_3.7.bb @@ -0,0 +1,33 @@ +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" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=84b4d2c6ef954a2d4081e775a270d0d0" + +require selinux_common.inc + +inherit lib_package pkgconfig + +FILESEXTRAPATHS:prepend := "${THISDIR}/libselinux:" +SRC_URI += "\ + file://0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch \ + " + +S = "${WORKDIR}/git/libselinux" + +DEPENDS = "libsepol libpcre2" +DEPENDS:append:libc-musl = " fts" + +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:append:libc-musl = " FTS_LDLIBS=-lfts" + +BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/libsemanage_3.6.bb b/recipes-security/selinux/libsemanage_3.6.bb deleted file mode 100644 index 93eb870..0000000 --- a/recipes-security/selinux/libsemanage_3.6.bb +++ /dev/null @@ -1,56 +0,0 @@ -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=a6f89e2100d9b6cdffcea4f398e37343" - -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" - -S = "${WORKDIR}/git/libsemanage" - -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" diff --git a/recipes-security/selinux/libsemanage_3.7.bb b/recipes-security/selinux/libsemanage_3.7.bb new file mode 100644 index 0000000..93eb870 --- /dev/null +++ b/recipes-security/selinux/libsemanage_3.7.bb @@ -0,0 +1,56 @@ +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=a6f89e2100d9b6cdffcea4f398e37343" + +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" + +S = "${WORKDIR}/git/libsemanage" + +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" diff --git a/recipes-security/selinux/libsepol_3.6.bb b/recipes-security/selinux/libsepol_3.6.bb deleted file mode 100644 index 0c28e9b..0000000 --- a/recipes-security/selinux/libsepol_3.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "SELinux binary policy manipulation library" -DESCRIPTION = "libsepol 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.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343" - -require selinux_common.inc - -inherit lib_package - -S = "${WORKDIR}/git/libsepol" - -DEPENDS = "flex-native" - -BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/libsepol_3.7.bb b/recipes-security/selinux/libsepol_3.7.bb new file mode 100644 index 0000000..0c28e9b --- /dev/null +++ b/recipes-security/selinux/libsepol_3.7.bb @@ -0,0 +1,18 @@ +SUMMARY = "SELinux binary policy manipulation library" +DESCRIPTION = "libsepol 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.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343" + +require selinux_common.inc + +inherit lib_package + +S = "${WORKDIR}/git/libsepol" + +DEPENDS = "flex-native" + +BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/mcstrans_3.6.bb b/recipes-security/selinux/mcstrans_3.6.bb deleted file mode 100644 index 4a8482f..0000000 --- a/recipes-security/selinux/mcstrans_3.6.bb +++ /dev/null @@ -1,58 +0,0 @@ - -SUMMARY = "Daemon to translate SELinux MCS/MLS sensitivity labels" -DESCRIPTION = "\ -mcstrans provides an translation daemon to translate SELinux categories \ -from internal representations to user defined representation." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" - -require selinux_common.inc - -inherit pkgconfig systemd update-rc.d - -SRC_URI += "file://mcstrans-de-bashify.patch \ - file://mcstrans-fix-the-init-script.patch \ - " - -DEPENDS = "libsepol libselinux libcap" - -EXTRA_OEMAKE = "SBINDIR=${base_sbindir} \ - INITDIR=${sysconfdir}/init.d \ - SYSTEMDDIR=${systemd_unitdir} \ - " - -S = "${WORKDIR}/git/mcstrans" - -do_install:append() { - install -d ${D}${sbindir} - install -m 755 utils/untranscon ${D}${sbindir}/ - install -m 755 utils/transcon ${D}${sbindir}/ - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/run/setrans - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/setrans.conf - else - install -d ${D}${sysconfdir}/default/volatiles - echo "d root root 0755 /var/run/setrans none" \ - >${D}${sysconfdir}/default/volatiles/80_mcstrans - fi - install -d ${D}${datadir}/mcstrans - cp -r share/* ${D}${datadir}/mcstrans/. -} - -SYSTEMD_SERVICE:mcstrans = "mcstrans.service" -INITSCRIPT_PACKAGES = "mcstrans" -INITSCRIPT_NAME:mcstrans = "mcstrans" -INITSCRIPT_PARAMS:mcstrans = "defaults" - -pkg_postinst:mcstrans () { - if [ -z "$D" ]; then - if command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/setrans.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/recipes-security/selinux/mcstrans_3.7.bb b/recipes-security/selinux/mcstrans_3.7.bb new file mode 100644 index 0000000..4a8482f --- /dev/null +++ b/recipes-security/selinux/mcstrans_3.7.bb @@ -0,0 +1,58 @@ + +SUMMARY = "Daemon to translate SELinux MCS/MLS sensitivity labels" +DESCRIPTION = "\ +mcstrans provides an translation daemon to translate SELinux categories \ +from internal representations to user defined representation." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" + +require selinux_common.inc + +inherit pkgconfig systemd update-rc.d + +SRC_URI += "file://mcstrans-de-bashify.patch \ + file://mcstrans-fix-the-init-script.patch \ + " + +DEPENDS = "libsepol libselinux libcap" + +EXTRA_OEMAKE = "SBINDIR=${base_sbindir} \ + INITDIR=${sysconfdir}/init.d \ + SYSTEMDDIR=${systemd_unitdir} \ + " + +S = "${WORKDIR}/git/mcstrans" + +do_install:append() { + install -d ${D}${sbindir} + install -m 755 utils/untranscon ${D}${sbindir}/ + install -m 755 utils/transcon ${D}${sbindir}/ + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/setrans - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/setrans.conf + else + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 /var/run/setrans none" \ + >${D}${sysconfdir}/default/volatiles/80_mcstrans + fi + install -d ${D}${datadir}/mcstrans + cp -r share/* ${D}${datadir}/mcstrans/. +} + +SYSTEMD_SERVICE:mcstrans = "mcstrans.service" +INITSCRIPT_PACKAGES = "mcstrans" +INITSCRIPT_NAME:mcstrans = "mcstrans" +INITSCRIPT_PARAMS:mcstrans = "defaults" + +pkg_postinst:mcstrans () { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/setrans.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/recipes-security/selinux/policycoreutils_3.6.bb b/recipes-security/selinux/policycoreutils_3.6.bb deleted file mode 100644 index 2871de0..0000000 --- a/recipes-security/selinux/policycoreutils_3.6.bb +++ /dev/null @@ -1,179 +0,0 @@ -SUMMARY = "SELinux policy core utilities" -DESCRIPTION = "policycoreutils contains the policy core utilities that are required \ -for basic operation of a SELinux system. These utilities include \ -load_policy to load policies, setfiles to label filesystems, newrole \ -to switch roles, and run_init to run /etc/init.d scripts in the proper \ -context." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://policycoreutils-fixfiles-de-bashify.patch \ - " - -PAM_SRC_URI = "file://pam.d/newrole \ - file://pam.d/run_init \ - " - -DEPENDS = "libsepol libselinux libsemanage gettext-native" -DEPENDS:append:class-target = " libcap-ng" - -S = "${WORKDIR}/git/policycoreutils" - -inherit selinux python3native - -RDEPENDS:${PN}-fixfiles = "\ - ${PN}-setfiles \ - grep \ - findutils \ -" -RDEPENDS:${PN}-genhomedircon = "\ - ${PN}-semodule \ -" -RDEPENDS:${PN}-loadpolicy = "\ - libselinux \ - libsepol \ -" -RDEPENDS:${PN}-newrole = "\ - libcap-ng \ - libselinux \ -" -RDEPENDS:${PN}-runinit = "libselinux" -RDEPENDS:${PN}-secon = "libselinux" -RDEPENDS:${PN}-semodule = "\ - libsepol \ - libselinux \ - libsemanage \ -" -RDEPENDS:${PN}-sestatus = "libselinux" -RDEPENDS:${PN}-setfiles = "\ - libselinux \ - libsepol \ -" -RDEPENDS:${PN}-setsebool = "\ - libsepol \ - libselinux \ - libsemanage \ -" -RDEPENDS:${PN}:class-target = "selinux-python" - -PACKAGES =+ "\ - ${PN}-fixfiles \ - ${PN}-genhomedircon \ - ${PN}-hll \ - ${PN}-loadpolicy \ - ${PN}-newrole \ - ${PN}-runinit \ - ${PN}-secon \ - ${PN}-semodule \ - ${PN}-sestatus \ - ${PN}-setfiles \ - ${PN}-setsebool \ -" -FILES:${PN}-fixfiles = "${base_sbindir}/fixfiles" -FILES:${PN}-genhomedircon = "${base_sbindir}/genhomedircon" -FILES:${PN}-loadpolicy = "\ - ${base_sbindir}/load_policy \ -" -FILES:${PN}-newrole = "\ - ${bindir}/newrole \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${sysconfdir}/pam.d/newrole', '', d)} \ -" -FILES:${PN}-runinit = "\ - ${base_sbindir}/run_init \ - ${base_sbindir}/open_init_pty \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${sysconfdir}/pam.d/run_init', '', d)} \ -" -FILES:${PN}-dbg += "${prefix}/libexec/selinux/hll/.debug" -FILES:${PN}-secon = "${bindir}/secon" -FILES:${PN}-semodule = "${base_sbindir}/semodule" -FILES:${PN}-hll = "${prefix}/libexec/selinux/hll/*" -FILES:${PN}-sestatus = "\ - ${base_sbindir}/sestatus \ - ${sysconfdir}/sestatus.conf \ -" -FILES:${PN}-setfiles = "\ - ${base_sbindir}/restorecon \ - ${base_sbindir}/restorecon_xattr \ - ${base_sbindir}/setfiles \ -" -FILES:${PN}-setsebool = "\ - ${base_sbindir}/setsebool \ - ${datadir}/bash-completion/completions/setsebool \ -" - -export STAGING_INCDIR -export STAGING_LIBDIR -export BUILD_SYS -export HOST_SYS - -PACKAGECONFIG:class-target ?= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ - audit \ -" -PACKAGECONFIG:class-native ?= "" - -PACKAGECONFIG[libpam] = ",,libpam," -PACKAGECONFIG[audit] = ",,audit," - -EXTRA_OEMAKE = "\ - ${@bb.utils.contains('PACKAGECONFIG', 'libpam', 'PAMH=y', 'PAMH=', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'AUDITH=y', 'AUDITH=', d)} \ - INOTIFYH=n \ - PREFIX=${prefix} \ - SBINDIR=${base_sbindir} \ -" - -BBCLASSEXTEND = "native" - -PCU_NATIVE_CMDS = "setfiles semodule hll" - -do_compile:prepend() { - export PYTHON=python3 - export PYLIBVER='python${PYTHON_BASEVERSION}' - export PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYLIBVER}" - export PYTHON_LDFLAGS="${STAGING_LIBDIR}/lib${PYLIBVER}.so" - export PYTHON_SITE_PKG="${PYTHON_SITEPACKAGES_DIR}" -} - -do_compile:class-native() { - for PCU_CMD in ${PCU_NATIVE_CMDS} ; do - oe_runmake -C $PCU_CMD \ - INCLUDEDIR='${STAGING_INCDIR}' \ - LIBDIR='${STAGING_LIBDIR}' - done -} - -sysroot_stage_dirs:append:class-native() { - cp -R $from/${prefix}/libexec $to/${prefix}/libexec -} - -do_install:prepend() { - export PYTHON=python3 - export SBINDIR="${D}/${base_sbindir}" -} - -do_install:class-native() { - for PCU_CMD in ${PCU_NATIVE_CMDS} ; do - oe_runmake -C $PCU_CMD install \ - DESTDIR="${D}" \ - PREFIX="${prefix}" \ - SBINDIR="${base_sbindir}" - done -} - -do_install:append:class-target() { - if [ -e ${UNPACKDIR}/pam.d ]; then - install -d ${D}${sysconfdir}/pam.d/ - install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ - fi - - # /var/lib/selinux is involved by seobject.py: - # + dirname = "/var/lib/selinux" - # and it's required for running command: - # $ semanage permissive [OPTS] - install -d ${D}${localstatedir}/lib/selinux -} diff --git a/recipes-security/selinux/policycoreutils_3.7.bb b/recipes-security/selinux/policycoreutils_3.7.bb new file mode 100644 index 0000000..2871de0 --- /dev/null +++ b/recipes-security/selinux/policycoreutils_3.7.bb @@ -0,0 +1,179 @@ +SUMMARY = "SELinux policy core utilities" +DESCRIPTION = "policycoreutils contains the policy core utilities that are required \ +for basic operation of a SELinux system. These utilities include \ +load_policy to load policies, setfiles to label filesystems, newrole \ +to switch roles, and run_init to run /etc/init.d scripts in the proper \ +context." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://policycoreutils-fixfiles-de-bashify.patch \ + " + +PAM_SRC_URI = "file://pam.d/newrole \ + file://pam.d/run_init \ + " + +DEPENDS = "libsepol libselinux libsemanage gettext-native" +DEPENDS:append:class-target = " libcap-ng" + +S = "${WORKDIR}/git/policycoreutils" + +inherit selinux python3native + +RDEPENDS:${PN}-fixfiles = "\ + ${PN}-setfiles \ + grep \ + findutils \ +" +RDEPENDS:${PN}-genhomedircon = "\ + ${PN}-semodule \ +" +RDEPENDS:${PN}-loadpolicy = "\ + libselinux \ + libsepol \ +" +RDEPENDS:${PN}-newrole = "\ + libcap-ng \ + libselinux \ +" +RDEPENDS:${PN}-runinit = "libselinux" +RDEPENDS:${PN}-secon = "libselinux" +RDEPENDS:${PN}-semodule = "\ + libsepol \ + libselinux \ + libsemanage \ +" +RDEPENDS:${PN}-sestatus = "libselinux" +RDEPENDS:${PN}-setfiles = "\ + libselinux \ + libsepol \ +" +RDEPENDS:${PN}-setsebool = "\ + libsepol \ + libselinux \ + libsemanage \ +" +RDEPENDS:${PN}:class-target = "selinux-python" + +PACKAGES =+ "\ + ${PN}-fixfiles \ + ${PN}-genhomedircon \ + ${PN}-hll \ + ${PN}-loadpolicy \ + ${PN}-newrole \ + ${PN}-runinit \ + ${PN}-secon \ + ${PN}-semodule \ + ${PN}-sestatus \ + ${PN}-setfiles \ + ${PN}-setsebool \ +" +FILES:${PN}-fixfiles = "${base_sbindir}/fixfiles" +FILES:${PN}-genhomedircon = "${base_sbindir}/genhomedircon" +FILES:${PN}-loadpolicy = "\ + ${base_sbindir}/load_policy \ +" +FILES:${PN}-newrole = "\ + ${bindir}/newrole \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${sysconfdir}/pam.d/newrole', '', d)} \ +" +FILES:${PN}-runinit = "\ + ${base_sbindir}/run_init \ + ${base_sbindir}/open_init_pty \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${sysconfdir}/pam.d/run_init', '', d)} \ +" +FILES:${PN}-dbg += "${prefix}/libexec/selinux/hll/.debug" +FILES:${PN}-secon = "${bindir}/secon" +FILES:${PN}-semodule = "${base_sbindir}/semodule" +FILES:${PN}-hll = "${prefix}/libexec/selinux/hll/*" +FILES:${PN}-sestatus = "\ + ${base_sbindir}/sestatus \ + ${sysconfdir}/sestatus.conf \ +" +FILES:${PN}-setfiles = "\ + ${base_sbindir}/restorecon \ + ${base_sbindir}/restorecon_xattr \ + ${base_sbindir}/setfiles \ +" +FILES:${PN}-setsebool = "\ + ${base_sbindir}/setsebool \ + ${datadir}/bash-completion/completions/setsebool \ +" + +export STAGING_INCDIR +export STAGING_LIBDIR +export BUILD_SYS +export HOST_SYS + +PACKAGECONFIG:class-target ?= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ + audit \ +" +PACKAGECONFIG:class-native ?= "" + +PACKAGECONFIG[libpam] = ",,libpam," +PACKAGECONFIG[audit] = ",,audit," + +EXTRA_OEMAKE = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'libpam', 'PAMH=y', 'PAMH=', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'AUDITH=y', 'AUDITH=', d)} \ + INOTIFYH=n \ + PREFIX=${prefix} \ + SBINDIR=${base_sbindir} \ +" + +BBCLASSEXTEND = "native" + +PCU_NATIVE_CMDS = "setfiles semodule hll" + +do_compile:prepend() { + export PYTHON=python3 + export PYLIBVER='python${PYTHON_BASEVERSION}' + export PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYLIBVER}" + export PYTHON_LDFLAGS="${STAGING_LIBDIR}/lib${PYLIBVER}.so" + export PYTHON_SITE_PKG="${PYTHON_SITEPACKAGES_DIR}" +} + +do_compile:class-native() { + for PCU_CMD in ${PCU_NATIVE_CMDS} ; do + oe_runmake -C $PCU_CMD \ + INCLUDEDIR='${STAGING_INCDIR}' \ + LIBDIR='${STAGING_LIBDIR}' + done +} + +sysroot_stage_dirs:append:class-native() { + cp -R $from/${prefix}/libexec $to/${prefix}/libexec +} + +do_install:prepend() { + export PYTHON=python3 + export SBINDIR="${D}/${base_sbindir}" +} + +do_install:class-native() { + for PCU_CMD in ${PCU_NATIVE_CMDS} ; do + oe_runmake -C $PCU_CMD install \ + DESTDIR="${D}" \ + PREFIX="${prefix}" \ + SBINDIR="${base_sbindir}" + done +} + +do_install:append:class-target() { + if [ -e ${UNPACKDIR}/pam.d ]; then + install -d ${D}${sysconfdir}/pam.d/ + install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ + fi + + # /var/lib/selinux is involved by seobject.py: + # + dirname = "/var/lib/selinux" + # and it's required for running command: + # $ semanage permissive [OPTS] + install -d ${D}${localstatedir}/lib/selinux +} diff --git a/recipes-security/selinux/restorecond_3.6.bb b/recipes-security/selinux/restorecond_3.6.bb deleted file mode 100644 index 8e57283..0000000 --- a/recipes-security/selinux/restorecond_3.6.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Daemon to watch for file creation and set default file context" -DESCRIPTION = "\ -The restorecond daemon uses inotify to watch files listed in the \ -/etc/selinux/restorecond.conf, when they are created, this daemon \ -will make sure they have the correct file context associated with \ -the policy." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -inherit pkgconfig systemd update-rc.d - -DEPENDS = "libsepol libselinux glib-2.0" - -EXTRA_OEMAKE = "SYSTEMDSYSTEMUNITDIR=${systemd_system_unitdir} \ - SYSTEMDUSERUNITDIR=${systemd_user_unitdir} \ - " - -S = "${WORKDIR}/git/restorecond" - -FILES:${PN} += "${datadir}/dbus-1/services/org.selinux.Restorecond.service \ - ${systemd_user_unitdir}/* \ - " - -SYSTEMD_SERVICE:restorecond = "restorecond.service" -INITSCRIPT_PACKAGES = "restorecond" -INITSCRIPT_NAME:restorecond = "restorecond" -INITSCRIPT_PARAMS:restorecond = "defaults" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}; then - # remove /usr/lib/systemd/user - rm -rf ${D}${nonarch_libdir} - fi -} diff --git a/recipes-security/selinux/restorecond_3.7.bb b/recipes-security/selinux/restorecond_3.7.bb new file mode 100644 index 0000000..8e57283 --- /dev/null +++ b/recipes-security/selinux/restorecond_3.7.bb @@ -0,0 +1,37 @@ +SUMMARY = "Daemon to watch for file creation and set default file context" +DESCRIPTION = "\ +The restorecond daemon uses inotify to watch files listed in the \ +/etc/selinux/restorecond.conf, when they are created, this daemon \ +will make sure they have the correct file context associated with \ +the policy." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +inherit pkgconfig systemd update-rc.d + +DEPENDS = "libsepol libselinux glib-2.0" + +EXTRA_OEMAKE = "SYSTEMDSYSTEMUNITDIR=${systemd_system_unitdir} \ + SYSTEMDUSERUNITDIR=${systemd_user_unitdir} \ + " + +S = "${WORKDIR}/git/restorecond" + +FILES:${PN} += "${datadir}/dbus-1/services/org.selinux.Restorecond.service \ + ${systemd_user_unitdir}/* \ + " + +SYSTEMD_SERVICE:restorecond = "restorecond.service" +INITSCRIPT_PACKAGES = "restorecond" +INITSCRIPT_NAME:restorecond = "restorecond" +INITSCRIPT_PARAMS:restorecond = "defaults" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}; then + # remove /usr/lib/systemd/user + rm -rf ${D}${nonarch_libdir} + fi +} diff --git a/recipes-security/selinux/secilc_3.6.bb b/recipes-security/selinux/secilc_3.6.bb deleted file mode 100644 index 5e0da3f..0000000 --- a/recipes-security/selinux/secilc_3.6.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "SELinux Common Intermediate Language (CIL) compiler" -DESCRIPTION = "\ -This package contains secilc, the SELinux Common Intermediate \ -Language (CIL) compiler." -SECTION = "base" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c7e802b9a3b0c2c852669864c08b9138" - -require selinux_common.inc - -DEPENDS = "libsepol xmlto-native" - -S = "${WORKDIR}/git/secilc" - -BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/secilc_3.7.bb b/recipes-security/selinux/secilc_3.7.bb new file mode 100644 index 0000000..5e0da3f --- /dev/null +++ b/recipes-security/selinux/secilc_3.7.bb @@ -0,0 +1,15 @@ +SUMMARY = "SELinux Common Intermediate Language (CIL) compiler" +DESCRIPTION = "\ +This package contains secilc, the SELinux Common Intermediate \ +Language (CIL) compiler." +SECTION = "base" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c7e802b9a3b0c2c852669864c08b9138" + +require selinux_common.inc + +DEPENDS = "libsepol xmlto-native" + +S = "${WORKDIR}/git/secilc" + +BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/selinux-dbus_3.6.bb b/recipes-security/selinux/selinux-dbus_3.6.bb deleted file mode 100644 index b1198af..0000000 --- a/recipes-security/selinux/selinux-dbus_3.6.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "SELinux dbus service files" -DESCRIPTION = "\ -Provide SELinux dbus service files and scripts." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -S = "${WORKDIR}/git/dbus" - -RDEPENDS:${PN} = "python3-core selinux-python-sepolicy" - -FILES:${PN} += "\ - ${datadir}/system-config-selinux/selinux_server.py \ - ${datadir}/polkit-1/actions/org.selinux.policy \ - ${datadir}/dbus-1/system-services/org.selinux.service \ -" diff --git a/recipes-security/selinux/selinux-dbus_3.7.bb b/recipes-security/selinux/selinux-dbus_3.7.bb new file mode 100644 index 0000000..b1198af --- /dev/null +++ b/recipes-security/selinux/selinux-dbus_3.7.bb @@ -0,0 +1,18 @@ +SUMMARY = "SELinux dbus service files" +DESCRIPTION = "\ +Provide SELinux dbus service files and scripts." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +S = "${WORKDIR}/git/dbus" + +RDEPENDS:${PN} = "python3-core selinux-python-sepolicy" + +FILES:${PN} += "\ + ${datadir}/system-config-selinux/selinux_server.py \ + ${datadir}/polkit-1/actions/org.selinux.policy \ + ${datadir}/dbus-1/system-services/org.selinux.service \ +" diff --git a/recipes-security/selinux/selinux-gui_3.6.bb b/recipes-security/selinux/selinux-gui_3.6.bb deleted file mode 100644 index fbd5e70..0000000 --- a/recipes-security/selinux/selinux-gui_3.6.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "SELinux GUI tools" -DESCRIPTION = "\ -Provide SELinux Management tool (system-config-selinux) and SELinux \ -Policy Generation Tool (selinux-polgengui)" -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -S = "${WORKDIR}/git/gui" - -DEPENDS = "gettext-native" -RDEPENDS:${PN} = "python3-core" - -FILES:${PN} += " \ - ${datadir}/system-config-selinux/* \ - ${datadir}/icons/hicolor/* \ - ${datadir}/polkit-1/actions/org.selinux.config.policy \ -" diff --git a/recipes-security/selinux/selinux-gui_3.7.bb b/recipes-security/selinux/selinux-gui_3.7.bb new file mode 100644 index 0000000..fbd5e70 --- /dev/null +++ b/recipes-security/selinux/selinux-gui_3.7.bb @@ -0,0 +1,20 @@ +SUMMARY = "SELinux GUI tools" +DESCRIPTION = "\ +Provide SELinux Management tool (system-config-selinux) and SELinux \ +Policy Generation Tool (selinux-polgengui)" +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +S = "${WORKDIR}/git/gui" + +DEPENDS = "gettext-native" +RDEPENDS:${PN} = "python3-core" + +FILES:${PN} += " \ + ${datadir}/system-config-selinux/* \ + ${datadir}/icons/hicolor/* \ + ${datadir}/polkit-1/actions/org.selinux.config.policy \ +" diff --git a/recipes-security/selinux/selinux-python_3.6.bb b/recipes-security/selinux/selinux-python_3.6.bb deleted file mode 100644 index 79125d0..0000000 --- a/recipes-security/selinux/selinux-python_3.6.bb +++ /dev/null @@ -1,122 +0,0 @@ -SUMMARY = "Python modules and various SELinux utilities." -DESCRIPTION = "\ -This package contains Python modules sepolgen, sepolicy; And the \ -SELinux utilities audit2allow, chcat, semanage ..." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -inherit python3targetconfig - -SRC_URI += "file://fix-sepolicy-install-path.patch \ - " - -S = "${WORKDIR}/git/python" - -DEPENDS = "libsepol libselinux gettext-native python3-setuptools-scm-native" - -RDEPENDS:${PN} = "\ - python3-core \ - python3-codecs \ - python3-io \ - python3-ipy \ - python3-stringold \ - python3-syslog \ - python3-unixadmin \ - libselinux-python \ - libsemanage-python \ - setools \ -" -RDEPENDS:${PN}-audit2allow = "\ - python3-core \ - libselinux-python \ - ${PN}-sepolgen \ -" -RDEPENDS:${PN}-chcat = "\ - python3-core \ - python3-codecs \ - python3-shell \ - python3-stringold \ - python3-unixadmin \ - libselinux-python \ - ${PN} \ -" -RDEPENDS:${PN}-semanage = "\ - python3-core \ - python3-ipy \ - python3-compression \ - python3-xml \ - python3-misc \ - libselinux-python \ - audit-python \ - ${PN} \ -" -RDEPENDS:${PN}-sepolicy = "\ - binutils \ - python3-core \ - python3-codecs \ - python3-distro \ - python3-syslog \ - python3-multiprocessing \ - ${PN} \ -" -RDEPENDS:${PN}-sepolgen-ifgen = "\ - python3-core \ - libselinux-python \ -" - -PACKAGES =+ "\ - ${PN}-audit2allow \ - ${PN}-sepolgen-ifgen \ - ${PN}-chcat \ - ${PN}-semanage \ - ${PN}-sepolgen \ - ${PN}-sepolicy \ -" -FILES:${PN}-audit2allow = "\ - ${bindir}/audit2allow \ - ${bindir}/audit2why \ -" -FILES:${PN}-chcat = "\ - ${bindir}/chcat \ -" -FILES:${PN}-semanage = "\ - ${sbindir}/semanage \ - ${datadir}/bash-completion/completions/semanage \ -" -# The ${bindir}/sepolgen is a symlink to ${bindir}/sepolicy -FILES:${PN}-sepolicy = "\ - ${bindir}/sepolgen \ - ${bindir}/sepolicy \ - ${datadir}/bash-completion/completions/sepolicy \ -" -FILES:${PN}-sepolgen-ifgen = "\ - ${bindir}/sepolgen-ifgen \ - ${bindir}/sepolgen-ifgen-attr-helper \ -" -FILES:${PN}-sepolgen = "\ - ${PYTHON_SITEPACKAGES_DIR}/sepolgen* \ - ${localstatedir}/lib/sepolgen/perm_map \ -" - -FILES:${PN} += "\ - ${PYTHON_SITEPACKAGES_DIR}/seobject.py* \ - ${PYTHON_SITEPACKAGES_DIR}/sepolicy*.dist-info \ - ${PYTHON_SITEPACKAGES_DIR}/sepolicy/* \ -" - -do_install() { - oe_runmake DESTDIR="${D}" \ - PYLIBVER='python${PYTHON_BASEVERSION}' \ - PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}' \ - install - - # Remove .pyc files - find ${D} -name *.pyc -delete - - # Fix buildpaths issue - sed -i -e 's,${WORKDIR},,g' \ - ${D}${PYTHON_SITEPACKAGES_DIR}/sepolicy-${PV}.dist-info/direct_url.json -} diff --git a/recipes-security/selinux/selinux-python_3.7.bb b/recipes-security/selinux/selinux-python_3.7.bb new file mode 100644 index 0000000..79125d0 --- /dev/null +++ b/recipes-security/selinux/selinux-python_3.7.bb @@ -0,0 +1,122 @@ +SUMMARY = "Python modules and various SELinux utilities." +DESCRIPTION = "\ +This package contains Python modules sepolgen, sepolicy; And the \ +SELinux utilities audit2allow, chcat, semanage ..." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +inherit python3targetconfig + +SRC_URI += "file://fix-sepolicy-install-path.patch \ + " + +S = "${WORKDIR}/git/python" + +DEPENDS = "libsepol libselinux gettext-native python3-setuptools-scm-native" + +RDEPENDS:${PN} = "\ + python3-core \ + python3-codecs \ + python3-io \ + python3-ipy \ + python3-stringold \ + python3-syslog \ + python3-unixadmin \ + libselinux-python \ + libsemanage-python \ + setools \ +" +RDEPENDS:${PN}-audit2allow = "\ + python3-core \ + libselinux-python \ + ${PN}-sepolgen \ +" +RDEPENDS:${PN}-chcat = "\ + python3-core \ + python3-codecs \ + python3-shell \ + python3-stringold \ + python3-unixadmin \ + libselinux-python \ + ${PN} \ +" +RDEPENDS:${PN}-semanage = "\ + python3-core \ + python3-ipy \ + python3-compression \ + python3-xml \ + python3-misc \ + libselinux-python \ + audit-python \ + ${PN} \ +" +RDEPENDS:${PN}-sepolicy = "\ + binutils \ + python3-core \ + python3-codecs \ + python3-distro \ + python3-syslog \ + python3-multiprocessing \ + ${PN} \ +" +RDEPENDS:${PN}-sepolgen-ifgen = "\ + python3-core \ + libselinux-python \ +" + +PACKAGES =+ "\ + ${PN}-audit2allow \ + ${PN}-sepolgen-ifgen \ + ${PN}-chcat \ + ${PN}-semanage \ + ${PN}-sepolgen \ + ${PN}-sepolicy \ +" +FILES:${PN}-audit2allow = "\ + ${bindir}/audit2allow \ + ${bindir}/audit2why \ +" +FILES:${PN}-chcat = "\ + ${bindir}/chcat \ +" +FILES:${PN}-semanage = "\ + ${sbindir}/semanage \ + ${datadir}/bash-completion/completions/semanage \ +" +# The ${bindir}/sepolgen is a symlink to ${bindir}/sepolicy +FILES:${PN}-sepolicy = "\ + ${bindir}/sepolgen \ + ${bindir}/sepolicy \ + ${datadir}/bash-completion/completions/sepolicy \ +" +FILES:${PN}-sepolgen-ifgen = "\ + ${bindir}/sepolgen-ifgen \ + ${bindir}/sepolgen-ifgen-attr-helper \ +" +FILES:${PN}-sepolgen = "\ + ${PYTHON_SITEPACKAGES_DIR}/sepolgen* \ + ${localstatedir}/lib/sepolgen/perm_map \ +" + +FILES:${PN} += "\ + ${PYTHON_SITEPACKAGES_DIR}/seobject.py* \ + ${PYTHON_SITEPACKAGES_DIR}/sepolicy*.dist-info \ + ${PYTHON_SITEPACKAGES_DIR}/sepolicy/* \ +" + +do_install() { + oe_runmake DESTDIR="${D}" \ + PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYTHONLIBDIR='${PYTHON_SITEPACKAGES_DIR}' \ + install + + # Remove .pyc files + find ${D} -name *.pyc -delete + + # Fix buildpaths issue + sed -i -e 's,${WORKDIR},,g' \ + ${D}${PYTHON_SITEPACKAGES_DIR}/sepolicy-${PV}.dist-info/direct_url.json +} diff --git a/recipes-security/selinux/selinux-sandbox_3.6.bb b/recipes-security/selinux/selinux-sandbox_3.6.bb deleted file mode 100644 index 2cb55d6..0000000 --- a/recipes-security/selinux/selinux-sandbox_3.6.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Run cmd under an SELinux sandbox" -DESCRIPTION = "\ -Run application within a tightly confined SELinux domain. The default \ -sandbox domain only allows applications the ability to read and write \ -stdin, stdout and any other file descriptors handed to it." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -SRC_URI += "file://sandbox-de-bashify.patch \ - " - -S = "${WORKDIR}/git/sandbox" - -DEPENDS = "libselinux libcap-ng gettext-native" - -RDEPENDS:${PN} = "\ - python3-core \ - python3-math \ - python3-shell \ - python3-unixadmin \ - libselinux-python \ - selinux-python \ -" - -FILES:${PN} += "\ - ${datadir}/sandbox/sandboxX.sh \ - ${datadir}/sandbox/start \ -" diff --git a/recipes-security/selinux/selinux-sandbox_3.7.bb b/recipes-security/selinux/selinux-sandbox_3.7.bb new file mode 100644 index 0000000..2cb55d6 --- /dev/null +++ b/recipes-security/selinux/selinux-sandbox_3.7.bb @@ -0,0 +1,31 @@ +SUMMARY = "Run cmd under an SELinux sandbox" +DESCRIPTION = "\ +Run application within a tightly confined SELinux domain. The default \ +sandbox domain only allows applications the ability to read and write \ +stdin, stdout and any other file descriptors handed to it." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +SRC_URI += "file://sandbox-de-bashify.patch \ + " + +S = "${WORKDIR}/git/sandbox" + +DEPENDS = "libselinux libcap-ng gettext-native" + +RDEPENDS:${PN} = "\ + python3-core \ + python3-math \ + python3-shell \ + python3-unixadmin \ + libselinux-python \ + selinux-python \ +" + +FILES:${PN} += "\ + ${datadir}/sandbox/sandboxX.sh \ + ${datadir}/sandbox/start \ +" diff --git a/recipes-security/selinux/selinux_common.inc b/recipes-security/selinux/selinux_common.inc index cecb0b5..8dd6c2e 100644 --- a/recipes-security/selinux/selinux_common.inc +++ b/recipes-security/selinux/selinux_common.inc @@ -1,7 +1,7 @@ HOMEPAGE = "https://github.com/SELinuxProject" SRC_URI = "git://github.com/SELinuxProject/selinux.git;branch=main;protocol=https" -SRCREV = "97fa708d867ecb26e8d1c766760947f8e3b9e59a" +SRCREV = "2eb286bc0841791043567437ba5413f3014fb94e" UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" diff --git a/recipes-security/selinux/semodule-utils_3.6.bb b/recipes-security/selinux/semodule-utils_3.6.bb deleted file mode 100644 index 0c1c189..0000000 --- a/recipes-security/selinux/semodule-utils_3.6.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Utilities to manipulate SELinux policy module package" -DESCRIPTION = "\ -The utilities to create, expand, link and show the dependencies between \ -the SELinux policy module packages." -SECTION = "base" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" - -require selinux_common.inc - -DEPENDS = "libsepol" - -S = "${WORKDIR}/git/semodule-utils" - -PACKAGES =+ "\ - ${PN}-semodule-expand \ - ${PN}-semodule-link \ - ${PN}-semodule-package \ -" - -FILES:${PN}-semodule-expand = "${bindir}/semodule_expand" -FILES:${PN}-semodule-link = "${bindir}/semodule_link" -FILES:${PN}-semodule-package = "\ - ${bindir}/semodule_package \ - ${bindir}/semodule_unpackage \ -" - -BBCLASSEXTEND = "native" diff --git a/recipes-security/selinux/semodule-utils_3.7.bb b/recipes-security/selinux/semodule-utils_3.7.bb new file mode 100644 index 0000000..0c1c189 --- /dev/null +++ b/recipes-security/selinux/semodule-utils_3.7.bb @@ -0,0 +1,28 @@ +SUMMARY = "Utilities to manipulate SELinux policy module package" +DESCRIPTION = "\ +The utilities to create, expand, link and show the dependencies between \ +the SELinux policy module packages." +SECTION = "base" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=393a5ca445f6965873eca0259a17f833" + +require selinux_common.inc + +DEPENDS = "libsepol" + +S = "${WORKDIR}/git/semodule-utils" + +PACKAGES =+ "\ + ${PN}-semodule-expand \ + ${PN}-semodule-link \ + ${PN}-semodule-package \ +" + +FILES:${PN}-semodule-expand = "${bindir}/semodule_expand" +FILES:${PN}-semodule-link = "${bindir}/semodule_link" +FILES:${PN}-semodule-package = "\ + ${bindir}/semodule_package \ + ${bindir}/semodule_unpackage \ +" + +BBCLASSEXTEND = "native" -- cgit v1.2.3-54-g00ecf