diff options
author | Kenton Groombridge <concord@gentoo.org> | 2022-06-03 09:30:56 -0400 |
---|---|---|
committer | Kenton Groombridge <concord@gentoo.org> | 2022-06-03 21:03:13 -0400 |
commit | d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642 (patch) | |
tree | 3bf3ae2d9ff3554775b3098c353329d82932c54f /sys-apps | |
parent | sys-apps/policycoreutils: bump to 3.4 (diff) | |
download | gentoo-d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642.tar.gz gentoo-d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642.tar.bz2 gentoo-d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642.zip |
sys-apps/selinux-python: bump to 3.4
Signed-off-by: Kenton Groombridge <concord@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/selinux-python/Manifest | 1 | ||||
-rw-r--r-- | sys-apps/selinux-python/selinux-python-3.4.ebuild | 114 |
2 files changed, 115 insertions, 0 deletions
diff --git a/sys-apps/selinux-python/Manifest b/sys-apps/selinux-python/Manifest index 00f49d819ab3..8c34d49b8836 100644 --- a/sys-apps/selinux-python/Manifest +++ b/sys-apps/selinux-python/Manifest @@ -1,2 +1,3 @@ DIST selinux-python-3.3.tar.gz 2101584 BLAKE2B 603aafbf316b744098bd34c79bf384d55624c086fd75147675a4a0715df3d61710a99d490f30b78d59a2c2a85fcc4db91772c24644a963b31e1a0d305c4bc83e SHA512 a69948a8b139a309f18632440e4204f49832a94b8b6be50e162d3dacb16698effeb1a77c44462e8cc7dc3dd600b887b9ab2fef618c31d3e0fe0de216a6aaebe3 DIST selinux-python-3.4-rc1.tar.gz 3597175 BLAKE2B eb5c71b5a946978353dc023a799dd3e4063a8af460887a05dc9e852ef93e5794a4edb4c2fe909602c0bfd7a34d3c3d16b713ace822e610dc3a6c3c34929c3374 SHA512 b67baf60e95a5f7f1764b41e550665231639722e1a039f7f8d6b8eda3f70dd376f9e813fd755e5035018c8719069fc987e89b928c5cf7c9bd447d65af51e7656 +DIST selinux-python-3.4.tar.gz 3596450 BLAKE2B b98f6ba63814a4281c5ea624b2b0f68c6ae92e4447dd6078a0d70bce34534b0a457f0a9533e1db1fbf665b8a0b379adf78fd8ba8f3ae19973b74a3332157842b SHA512 d601ce2628c4876dc4f2dfccd6db8ff45f68c5eb1b14cec3328644b71959107546469b27dfd90488fc669019b341d0cba708a1797f427ac7f86a0f05e86c0948 diff --git a/sys-apps/selinux-python/selinux-python-3.4.ebuild b/sys-apps/selinux-python/selinux-python-3.4.ebuild new file mode 100644 index 000000000000..edd4c0e29e22 --- /dev/null +++ b/sys-apps/selinux-python/selinux-python-3.4.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="xml(+)" + +inherit python-r1 toolchain-funcs + +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="SELinux core utilities" +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#selinux-}" +else + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=">=sys-libs/libselinux-${PV}:=[python] + >=sys-libs/libsemanage-${PV}:=[python(+)] + >=sys-libs/libsepol-${PV}:= + >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] + >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] + ${PYTHON_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND=" + test? ( + ${RDEPEND} + >=sys-apps/secilc-${PV} + )" + +src_prepare() { + default + sed -i 's/-Werror//g' "${S}"/*/Makefile || die "Failed to remove Werror" + + python_copy_sources +} + +src_compile() { + building() { + emake -C "${BUILD_DIR}" \ + CC="$(tc-getCC)" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" + } + python_foreach_impl building +} + +src_test() { + testing() { + # The different subprojects have some interproject dependencies: + # - audit2allow depens on sepolgen + # - chcat depends on semanage + # and maybe others. + # Add all the modules of the individual subprojects to the + # PYTHONPATH, so they get actually found and used. In + # particular, already installed versions on the system are not + # used. + for dir in audit2allow chcat semanage sepolgen/src sepolicy ; do + PYTHONPATH="${BUILD_DIR}/${dir}:${PYTHONPATH}" + done + PYTHONPATH=${PYTHONPATH} \ + emake -C "${BUILD_DIR}" \ + test + } + python_foreach_impl testing +} + +src_install() { + installation() { + emake -C "${BUILD_DIR}" \ + DESTDIR="${D}" \ + LIBDIR="\$(PREFIX)/$(get_libdir)" \ + install + python_optimize + } + python_foreach_impl installation + + # Set version-specific scripts + for pyscript in audit2allow sepolgen-ifgen sepolicy chcat; do + python_replicate_script "${ED}/usr/bin/${pyscript}" + done + for pyscript in semanage; do + python_replicate_script "${ED}/usr/sbin/${pyscript}" + done + + # Create sepolgen.conf with different devel location definition + if [[ -f /etc/selinux/config ]]; + then + local selinuxtype=$(awk -F'=' '/^SELINUXTYPE/ {print $2}' /etc/selinux/config); + mkdir -p "${D}"/etc/selinux || die "Failed to create selinux directory"; + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf; + else + local selinuxtype="${POLICY_TYPES%% *}"; + if [[ -n "${selinuxtype}" ]]; + then + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf; + else + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/strict/include:/usr/share/selinux/strict" > "${D}"/etc/selinux/sepolgen.conf; + fi + fi +} |