diff --git a/sys-libs/libsemanage/Manifest b/sys-libs/libsemanage/Manifest index ac2119b1dd386..fc53ccc05cd43 100644 --- a/sys-libs/libsemanage/Manifest +++ b/sys-libs/libsemanage/Manifest @@ -1,2 +1,3 @@ +DIST libsemanage-3.10.tar.gz 185969 BLAKE2B f075e06969b403702dbc00776a62d9362b7ec9d4d5cf561a7067162fa4cbd1dbd019b841df1d4de56ffb115db92a3ebc8303e4a607ba5811c465033ef8c8bb6c SHA512 e07cb1d7e145b3baa2fb857c043c8ede7581d29fbb6a59709ebbee73097c12768e8b77eab35b4394efc0a655f3d266cdf7b08ac69759d6989d41e4213fe8aafd DIST libsemanage-3.8.1.tar.gz 184618 BLAKE2B 25816a0dccc9cb4fe2033e548e0e840b5ffbde3771a8a4f6d81223c7c29e3622eb0152050d8f1ba41bd6b9afb0ad9819e9a1fabd9722e01cad57d7fd7a135d5d SHA512 ac3729ba4934a48a33e082af35baa9e25e6806855afb0f0e4e22aa67be201518c3d4933b8cf4dec83e5acbe178301276f51850bb1b16bc13e027a470ac7f1eb5 DIST libsemanage-3.9.tar.gz 185278 BLAKE2B 8ba8771ec28b12aa9641b2f7d653c48941f52a245c0784c0f87836948babc308ffe882df5154dfeba3c267f91b916165d4fd0b83de302da572c7dea02e819009 SHA512 a859e8d9313c922942a9be0477b387775b19c41bd108f80992112dcd2696701f40a890f5e6fc3087e7bfe69b382a1bcffa3e02c8996a719e763fbe2f6787c61c diff --git a/sys-libs/libsemanage/libsemanage-3.10.ebuild b/sys-libs/libsemanage/libsemanage-3.10.ebuild new file mode 100644 index 0000000000000..4ad33f3ae0b95 --- /dev/null +++ b/sys-libs/libsemanage/libsemanage-3.10.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +PYTHON_COMPAT=( python3_{11..14} ) + +inherit python-r1 toolchain-funcs multilib-minimal + +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="SELinux kernel and policy management library" +HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" + S="${WORKDIR}/${P}/${PN}" +else + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~riscv ~x86" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="GPL-2" +SLOT="0/2" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +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}" +DEPEND="${RDEPEND}" +BDEPEND=">=dev-lang/swig-2.0.4-r1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig" + +# tests are not meant to be run outside of the +# full SELinux userland repo +RESTRICT="test" + +src_prepare() { + eapply_user + + cat <<-EOF >> "${S}/src/semanage.conf" || die + # 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 + EOF + + multilib_copy_sources +} + +multilib_src_compile() { + local -x CFLAGS="${CFLAGS} -fno-semantic-interposition" + + emake \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + all + + if multilib_is_native_abi; then + building_py() { + emake \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + "$@" + } + python_foreach_impl building_py swigify + python_foreach_impl building_py pywrap + fi +} + +multilib_src_install() { + emake \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + DESTDIR="${ED}" install + + if multilib_is_native_abi; then + installation_py() { + emake DESTDIR="${ED}" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + install-pywrap + python_optimize # bug 531638 + } + python_foreach_impl installation_py + fi +} + +multiib_src_install_all() { + python_setup + python_fix_shebang "${ED}"/usr/libexec/selinux/semanage_migrate_store +}