Gentoo Archives: gentoo-commits

From: Kenton Groombridge <concord@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/selinux-python/
Date: Sat, 04 Jun 2022 01:03:57
Message-Id: 1654304593.d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642.concord@gentoo
1 commit: d2dbee0e6fd5a1c2fb04f864c1b1b302d9b82642
2 Author: Kenton Groombridge <concord <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 3 13:30:56 2022 +0000
4 Commit: Kenton Groombridge <concord <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 4 01:03:13 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2dbee0e
7
8 sys-apps/selinux-python: bump to 3.4
9
10 Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org>
11
12 sys-apps/selinux-python/Manifest | 1 +
13 sys-apps/selinux-python/selinux-python-3.4.ebuild | 114 ++++++++++++++++++++++
14 2 files changed, 115 insertions(+)
15
16 diff --git a/sys-apps/selinux-python/Manifest b/sys-apps/selinux-python/Manifest
17 index 00f49d819ab3..8c34d49b8836 100644
18 --- a/sys-apps/selinux-python/Manifest
19 +++ b/sys-apps/selinux-python/Manifest
20 @@ -1,2 +1,3 @@
21 DIST selinux-python-3.3.tar.gz 2101584 BLAKE2B 603aafbf316b744098bd34c79bf384d55624c086fd75147675a4a0715df3d61710a99d490f30b78d59a2c2a85fcc4db91772c24644a963b31e1a0d305c4bc83e SHA512 a69948a8b139a309f18632440e4204f49832a94b8b6be50e162d3dacb16698effeb1a77c44462e8cc7dc3dd600b887b9ab2fef618c31d3e0fe0de216a6aaebe3
22 DIST selinux-python-3.4-rc1.tar.gz 3597175 BLAKE2B eb5c71b5a946978353dc023a799dd3e4063a8af460887a05dc9e852ef93e5794a4edb4c2fe909602c0bfd7a34d3c3d16b713ace822e610dc3a6c3c34929c3374 SHA512 b67baf60e95a5f7f1764b41e550665231639722e1a039f7f8d6b8eda3f70dd376f9e813fd755e5035018c8719069fc987e89b928c5cf7c9bd447d65af51e7656
23 +DIST selinux-python-3.4.tar.gz 3596450 BLAKE2B b98f6ba63814a4281c5ea624b2b0f68c6ae92e4447dd6078a0d70bce34534b0a457f0a9533e1db1fbf665b8a0b379adf78fd8ba8f3ae19973b74a3332157842b SHA512 d601ce2628c4876dc4f2dfccd6db8ff45f68c5eb1b14cec3328644b71959107546469b27dfd90488fc669019b341d0cba708a1797f427ac7f86a0f05e86c0948
24
25 diff --git a/sys-apps/selinux-python/selinux-python-3.4.ebuild b/sys-apps/selinux-python/selinux-python-3.4.ebuild
26 new file mode 100644
27 index 000000000000..edd4c0e29e22
28 --- /dev/null
29 +++ b/sys-apps/selinux-python/selinux-python-3.4.ebuild
30 @@ -0,0 +1,114 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +PYTHON_COMPAT=( python3_{8..10} )
36 +PYTHON_REQ_USE="xml(+)"
37 +
38 +inherit python-r1 toolchain-funcs
39 +
40 +MY_PV="${PV//_/-}"
41 +MY_P="${PN}-${MY_PV}"
42 +
43 +DESCRIPTION="SELinux core utilities"
44 +HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
45 +
46 +if [[ ${PV} == 9999 ]] ; then
47 + inherit git-r3
48 + EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
49 + S="${WORKDIR}/${P}/${PN#selinux-}"
50 +else
51 + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz"
52 + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
53 + S="${WORKDIR}/${MY_P}"
54 +fi
55 +
56 +LICENSE="GPL-2"
57 +SLOT="0"
58 +IUSE="test"
59 +RESTRICT="!test? ( test )"
60 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
61 +
62 +RDEPEND=">=sys-libs/libselinux-${PV}:=[python]
63 + >=sys-libs/libsemanage-${PV}:=[python(+)]
64 + >=sys-libs/libsepol-${PV}:=
65 + >=app-admin/setools-4.2.0[${PYTHON_USEDEP}]
66 + >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}]
67 + ${PYTHON_DEPS}"
68 +DEPEND="${RDEPEND}"
69 +BDEPEND="
70 + test? (
71 + ${RDEPEND}
72 + >=sys-apps/secilc-${PV}
73 + )"
74 +
75 +src_prepare() {
76 + default
77 + sed -i 's/-Werror//g' "${S}"/*/Makefile || die "Failed to remove Werror"
78 +
79 + python_copy_sources
80 +}
81 +
82 +src_compile() {
83 + building() {
84 + emake -C "${BUILD_DIR}" \
85 + CC="$(tc-getCC)" \
86 + LIBDIR="\$(PREFIX)/$(get_libdir)"
87 + }
88 + python_foreach_impl building
89 +}
90 +
91 +src_test() {
92 + testing() {
93 + # The different subprojects have some interproject dependencies:
94 + # - audit2allow depens on sepolgen
95 + # - chcat depends on semanage
96 + # and maybe others.
97 + # Add all the modules of the individual subprojects to the
98 + # PYTHONPATH, so they get actually found and used. In
99 + # particular, already installed versions on the system are not
100 + # used.
101 + for dir in audit2allow chcat semanage sepolgen/src sepolicy ; do
102 + PYTHONPATH="${BUILD_DIR}/${dir}:${PYTHONPATH}"
103 + done
104 + PYTHONPATH=${PYTHONPATH} \
105 + emake -C "${BUILD_DIR}" \
106 + test
107 + }
108 + python_foreach_impl testing
109 +}
110 +
111 +src_install() {
112 + installation() {
113 + emake -C "${BUILD_DIR}" \
114 + DESTDIR="${D}" \
115 + LIBDIR="\$(PREFIX)/$(get_libdir)" \
116 + install
117 + python_optimize
118 + }
119 + python_foreach_impl installation
120 +
121 + # Set version-specific scripts
122 + for pyscript in audit2allow sepolgen-ifgen sepolicy chcat; do
123 + python_replicate_script "${ED}/usr/bin/${pyscript}"
124 + done
125 + for pyscript in semanage; do
126 + python_replicate_script "${ED}/usr/sbin/${pyscript}"
127 + done
128 +
129 + # Create sepolgen.conf with different devel location definition
130 + if [[ -f /etc/selinux/config ]];
131 + then
132 + local selinuxtype=$(awk -F'=' '/^SELINUXTYPE/ {print $2}' /etc/selinux/config);
133 + mkdir -p "${D}"/etc/selinux || die "Failed to create selinux directory";
134 + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
135 + else
136 + local selinuxtype="${POLICY_TYPES%% *}";
137 + if [[ -n "${selinuxtype}" ]];
138 + then
139 + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
140 + else
141 + echo "SELINUX_DEVEL_PATH=/usr/share/selinux/strict/include:/usr/share/selinux/strict" > "${D}"/etc/selinux/sepolgen.conf;
142 + fi
143 + fi
144 +}