diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch new file mode 100644 index 0000000000..ecd0ffd920 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/files/libsemanage-extra-config.patch @@ -0,0 +1,30 @@ +diff -r -u libsemanage-3.6/src/semanage.conf libsemanage-3.6-patched/src/semanage.conf +--- libsemanage-3.6/src/semanage.conf 2023-12-13 15:46:22.000000000 +0100 ++++ libsemanage-3.6-patched/src/semanage.conf 2024-02-21 14:33:06.055611733 +0100 +@@ -40,3 +40,26 @@ + # By default, semanage will generate policies for the SELinux target. + # To build policies for Xen, uncomment the following line. + #target-platform = xen ++ ++# Set this to true to save the linked policy. ++# This is normally only useful for analysis ++# or debugging of policy. ++save-linked=false ++ ++# Set this to 0 to disable assertion checking. ++# This should speed up building the kernel policy ++# from policy modules, but may leave you open to ++# dangerous rules which assertion checking ++# would catch. ++expand-check=1 ++ ++# Modules in the module store can be compressed ++# with bzip2. Set this to the bzip2 blocksize ++# 1-9 when compressing. The higher the number, ++# the more memory is traded off for disk space. ++# Set to 0 to disable bzip2 compression. ++bzip-blocksize=0 ++ ++# Reduce memory usage for bzip2 compression and ++# decompression of modules in the module store. ++bzip-small=true diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.6.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.6.ebuild index 94a270075a..3de4516643 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.6.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libsemanage/libsemanage-3.6.ebuild @@ -24,50 +24,36 @@ fi LICENSE="GPL-2" SLOT="0/2" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="+python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}] +RDEPEND=" + app-arch/bzip2[${MULTILIB_USEDEP}] >=sys-libs/libsepol-${PV}:=[${MULTILIB_USEDEP}] >=sys-libs/libselinux-${PV}:=[${MULTILIB_USEDEP}] >=sys-process/audit-2.2.2[${MULTILIB_USEDEP}] - ${PYTHON_DEPS}" + python? ( ${PYTHON_DEPS} ) +" DEPEND="${RDEPEND}" -BDEPEND=">=dev-lang/swig-2.0.4-r1 +BDEPEND=" app-alternatives/yacc app-alternatives/lex - virtual/pkgconfig" + python? ( + >=dev-lang/swig-2.0.4-r1 + virtual/pkgconfig + ) +" # tests are not meant to be run outside of the # full SELinux userland repo RESTRICT="test" +PATCHES=( + "${FILESDIR}/libsemanage-extra-config.patch" +) + src_prepare() { - eapply_user - - echo >> "${S}/src/semanage.conf" - echo "# Set this to true to save the linked policy." >> "${S}/src/semanage.conf" - echo "# This is normally only useful for analysis" >> "${S}/src/semanage.conf" - echo "# or debugging of policy." >> "${S}/src/semanage.conf" - echo "save-linked=false" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Set this to 0 to disable assertion checking." >> "${S}/src/semanage.conf" - echo "# This should speed up building the kernel policy" >> "${S}/src/semanage.conf" - echo "# from policy modules, but may leave you open to" >> "${S}/src/semanage.conf" - echo "# dangerous rules which assertion checking" >> "${S}/src/semanage.conf" - echo "# would catch." >> "${S}/src/semanage.conf" - echo "expand-check=1" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Modules in the module store can be compressed" >> "${S}/src/semanage.conf" - echo "# with bzip2. Set this to the bzip2 blocksize" >> "${S}/src/semanage.conf" - echo "# 1-9 when compressing. The higher the number," >> "${S}/src/semanage.conf" - echo "# the more memory is traded off for disk space." >> "${S}/src/semanage.conf" - echo "# Set to 0 to disable bzip2 compression." >> "${S}/src/semanage.conf" - echo "bzip-blocksize=0" >> "${S}/src/semanage.conf" - echo >> "${S}/src/semanage.conf" - echo "# Reduce memory usage for bzip2 compression and" >> "${S}/src/semanage.conf" - echo "# decompression of modules in the module store." >> "${S}/src/semanage.conf" - echo "bzip-small=true" >> "${S}/src/semanage.conf" - + default multilib_copy_sources } @@ -80,7 +66,7 @@ multilib_src_compile() { LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ all - if multilib_is_native_abi; then + if use python && multilib_is_native_abi; then building_py() { emake \ AR="$(tc-getAR)" \ @@ -99,7 +85,7 @@ multilib_src_install() { LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ DESTDIR="${ED}" install - if multilib_is_native_abi; then + if use python && multilib_is_native_abi; then installation_py() { emake DESTDIR="${ED}" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ @@ -112,8 +98,10 @@ multilib_src_install() { } multiib_src_install_all() { - python_setup - python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store + if use python; then + python_setup + python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store + fi } pkg_postinst() {