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/policycoreutils/
Date: Sat, 04 Jun 2022 01:03:59
Message-Id: 1654304592.f82348b6f5b39d7903c28b45f125ad80d95035df.concord@gentoo
1 commit: f82348b6f5b39d7903c28b45f125ad80d95035df
2 Author: Kenton Groombridge <concord <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 3 13:30:50 2022 +0000
4 Commit: Kenton Groombridge <concord <AT> gentoo <DOT> org>
5 CommitDate: Sat Jun 4 01:03:12 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f82348b6
7
8 sys-apps/policycoreutils: bump to 3.4
9
10 Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org>
11
12 sys-apps/policycoreutils/Manifest | 1 +
13 .../policycoreutils/policycoreutils-3.4.ebuild | 163 +++++++++++++++++++++
14 2 files changed, 164 insertions(+)
15
16 diff --git a/sys-apps/policycoreutils/Manifest b/sys-apps/policycoreutils/Manifest
17 index 71d9b732a14e..4355a398c140 100644
18 --- a/sys-apps/policycoreutils/Manifest
19 +++ b/sys-apps/policycoreutils/Manifest
20 @@ -1,3 +1,4 @@
21 DIST policycoreutils-3.3.tar.gz 2818092 BLAKE2B 0ed9f128a774176ebadb71f448af8dee8c616a706314783b646869e7ea91892e358d5bb03e3aece3d0e6dc3203852e4e2925482727df1e5c71e075236ee43e5c SHA512 db658990355f99a8e43f53d20cc67bf9e557b0a7837d1927c80f325b7f93ad47876382278a980b818484d6e31712a9b03e279f947ebc88c4be60a9f395607f98
22 DIST policycoreutils-3.4-rc1.tar.gz 771240 BLAKE2B 27f730c1f870be9175bef9d8c44ad74f737d5a185d369ceb84c609974423ffea5ce1f8a602af6d25253df963e37c7d2fd5a4cc4877782f6768cfaf5a544c4aa4 SHA512 bbe7b126f07b895d6bea4dfdbc6574a3f8ba08466979f8ed5009b54c68eb0c7f1786d175f52925d0e7e983ca799b846f50112b50c5d6d4edc1b03152593b68c1
23 +DIST policycoreutils-3.4.tar.gz 771435 BLAKE2B 53654ad8f17c8e539c7821ddcc4f40dde1aa214943b5f2876efbfd8e10c90747d21c1530df3d53e51677159026a70691db6282f3bedc79739673380e053f74a2 SHA512 ded0d6fb5e3f165a893ee42411ac82616ddf37a02acaca6a8437b8f10ea12e5594bbd7bc7e3ead12df00c018078950f3fbe55604c41b0554257c4ca18f55ebb6
24 DIST policycoreutils-extra-1.37.tar.bz2 8809 BLAKE2B a7f6122c2e27f54b018174e962bd7f4c14af04e09bbb5300bde6967ea7f2dc5cd03b5787919a4e7f5288bcbc6747922962b5bd3b588ab1e3a035fbff4910d8f5 SHA512 0a85cd7cf279256b5e1927f9dfdd89626a1c8b77b0aeb62b496e7e8d1dccbaa315e39f9308fb2df7270f0bc1c10787b19990e7365cad74b47b61e30394c8b23f
25
26 diff --git a/sys-apps/policycoreutils/policycoreutils-3.4.ebuild b/sys-apps/policycoreutils/policycoreutils-3.4.ebuild
27 new file mode 100644
28 index 000000000000..1ac0b78acdaf
29 --- /dev/null
30 +++ b/sys-apps/policycoreutils/policycoreutils-3.4.ebuild
31 @@ -0,0 +1,163 @@
32 +# Copyright 1999-2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI="7"
36 +PYTHON_COMPAT=( python3_{8..10} )
37 +PYTHON_REQ_USE="xml(+)"
38 +
39 +inherit multilib python-r1 toolchain-funcs bash-completion-r1
40 +
41 +MY_PV="${PV//_/-}"
42 +MY_P="${PN}-${MY_PV}"
43 +EXTRAS_VER="1.37"
44 +
45 +DESCRIPTION="SELinux core utilities"
46 +HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
47 +
48 +if [[ ${PV} == 9999 ]]; then
49 + inherit git-r3
50 + EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
51 + SRC_URI="https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2"
52 + S1="${WORKDIR}/${P}/${PN}"
53 + S2="${WORKDIR}/policycoreutils-extra"
54 + S="${S1}"
55 +else
56 + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz
57 + https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2"
58 + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
59 + S1="${WORKDIR}/${MY_P}"
60 + S2="${WORKDIR}/policycoreutils-extra"
61 + S="${S1}"
62 +fi
63 +
64 +LICENSE="GPL-2"
65 +SLOT="0"
66 +IUSE="audit pam split-usr"
67 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
68 +
69 +DEPEND=">=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}]
70 + >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}]
71 + >=sys-libs/libsepol-${PV}:=
72 + sys-libs/libcap-ng:=
73 + >=app-admin/setools-4.2.0[${PYTHON_USEDEP}]
74 + audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] )
75 + pam? ( sys-libs/pam:= )
76 + ${PYTHON_DEPS}"
77 +
78 +# Avoid dependency loop in the cross-compile case, bug #755173
79 +# (Still exists in native)
80 +BDEPEND="sys-devel/gettext"
81 +
82 +# pax-utils for scanelf used by rlpkg
83 +RDEPEND="${DEPEND}
84 + app-misc/pax-utils"
85 +
86 +PDEPEND="sys-apps/semodule-utils
87 + sys-apps/selinux-python"
88 +
89 +src_unpack() {
90 + # Override default one because we need the SRC_URI ones even in case of 9999 ebuilds
91 + default
92 + if [[ ${PV} == 9999 ]] ; then
93 + git-r3_src_unpack
94 + fi
95 +}
96 +
97 +src_prepare() {
98 + S="${S1}"
99 + cd "${S}" || die "Failed to switch to ${S}"
100 + if [[ ${PV} != 9999 ]] ; then
101 + # If needed for live ebuilds please use /etc/portage/patches
102 + eapply "${FILESDIR}/policycoreutils-3.1-0001-newrole-not-suid.patch"
103 + fi
104 +
105 + # rlpkg is more useful than fixfiles
106 + sed -i -e '/^all/s/fixfiles//' "${S}/scripts/Makefile" \
107 + || die "fixfiles sed 1 failed"
108 + sed -i -e '/fixfiles/d' "${S}/scripts/Makefile" \
109 + || die "fixfiles sed 2 failed"
110 +
111 + eapply_user
112 +
113 + sed -i 's/-Werror//g' "${S1}"/*/Makefile || die "Failed to remove Werror"
114 +
115 + python_copy_sources
116 + # Our extra code is outside the regular directory, so set it to the extra
117 + # directory. We really should optimize this as it is ugly, but the extra
118 + # code is needed for Gentoo at the same time that policycoreutils is present
119 + # (so we cannot use an additional package for now).
120 + S="${S2}"
121 + python_copy_sources
122 +}
123 +
124 +src_compile() {
125 + building() {
126 + emake -C "${BUILD_DIR}" \
127 + AUDIT_LOG_PRIVS="y" \
128 + AUDITH="$(usex audit y n)" \
129 + PAMH="$(usex pam y n)" \
130 + SESANDBOX="n" \
131 + CC="$(tc-getCC)" \
132 + LIBDIR="\$(PREFIX)/$(get_libdir)"
133 + }
134 + S="${S1}" # Regular policycoreutils
135 + python_foreach_impl building
136 + S="${S2}" # Extra set
137 + python_foreach_impl building
138 +}
139 +
140 +src_install() {
141 + # Python scripts are present in many places. There are no extension modules.
142 + installation-policycoreutils() {
143 + einfo "Installing policycoreutils"
144 + emake -C "${BUILD_DIR}" DESTDIR="${D}" \
145 + AUDIT_LOG_PRIVS="y" \
146 + AUDITH="$(usex audit y n)" \
147 + PAMH="$(usex pam y n)" \
148 + SESANDBOX="n" \
149 + CC="$(tc-getCC)" \
150 + LIBDIR="\$(PREFIX)/$(get_libdir)" \
151 + install
152 + python_optimize
153 + }
154 +
155 + installation-extras() {
156 + einfo "Installing policycoreutils-extra"
157 + emake -C "${BUILD_DIR}" \
158 + DESTDIR="${D}" \
159 + install
160 + python_optimize
161 + }
162 +
163 + S="${S1}" # policycoreutils
164 + python_foreach_impl installation-policycoreutils
165 + S="${S2}" # extras
166 + python_foreach_impl installation-extras
167 + S="${S1}" # back for later
168 +
169 + # remove redhat-style init script
170 + rm -fR "${D}/etc/rc.d" || die
171 +
172 + # compatibility symlinks
173 + use split-usr && dosym ../../sbin/setfiles /usr/sbin/setfiles
174 +
175 + bashcomp_alias setsebool getsebool
176 +
177 + # location for policy definitions
178 + dodir /var/lib/selinux
179 + keepdir /var/lib/selinux
180 +
181 + # Set version-specific scripts
182 + for pyscript in rlpkg; do
183 + python_replicate_script "${ED}/usr/sbin/${pyscript}"
184 + done
185 +}
186 +
187 +pkg_postinst() {
188 + for POLICY_TYPE in ${POLICY_TYPES} ; do
189 + # There have been some changes to the policy store, rebuilding now.
190 + # https://marc.info/?l=selinux&m=143757277819717&w=2
191 + einfo "Rebuilding store ${POLICY_TYPE} in '${ROOT:-/}' (without re-loading)."
192 + semodule -p "${ROOT:-/}" -s "${POLICY_TYPE}" -n -B || die "Failed to rebuild policy store ${POLICY_TYPE}"
193 + done
194 +}