sys-apps/policycoreutils: Sync with Gentoo

It's from Gentoo commit c4719a957590a9b209422d93c8136075c2781af7.
This commit is contained in:
Krzesimir Nowak 2024-02-21 14:47:01 +01:00
parent 6c5ad82927
commit a620286334
3 changed files with 37 additions and 21 deletions

View File

@ -1,2 +1,2 @@
DIST policycoreutils-3.5.tar.gz 775639 BLAKE2B 777b8564484e89385db7a184c4cad9a99aabf1fd1ac41abd5826c7e6ad29118ae9d6f0d0fd968b6ced87f2f04bc6d7cd207b67428151522915367f656fb8d3f8 SHA512 7978ef6b7a278c6384c9b397734d03c4932c8aefecceaa1e6a1345be27b253dbe276fdcd219ce83ad732c6ed55d53bbc3254e39bccadd67d2cd1152a14749444
DIST policycoreutils-3.6.tar.gz 755682 BLAKE2B a8b180c8006989192d152651dcfa51856956780bfe1139cc1dc0162eb66ba1eef4f7d64f68a48479572b02e2e97a68c7082722a745d22a9453e8378373319e3c SHA512 e1f32e6e0310b879a5aadab157b103314a61bf3b8fd59c1212d701fbf39900e3b9a0b727338988103d784a7e505355a871ba519dd91520b135a3b9dae40bf1b0
DIST policycoreutils-extra-1.37.tar.bz2 8809 BLAKE2B a7f6122c2e27f54b018174e962bd7f4c14af04e09bbb5300bde6967ea7f2dc5cd03b5787919a4e7f5288bcbc6747922962b5bd3b588ab1e3a035fbff4910d8f5 SHA512 0a85cd7cf279256b5e1927f9dfdd89626a1c8b77b0aeb62b496e7e8d1dccbaa315e39f9308fb2df7270f0bc1c10787b19990e7365cad74b47b61e30394c8b23f

View File

@ -1,2 +0,0 @@
#Type Path Mode UID GID Age Argument
L /var/lib/selinux/ - - - - ../../usr/lib/selinux/policy

View File

@ -1,12 +1,11 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="xml(+)"
TMPFILES_OPTIONAL=1
inherit multilib python-r1 toolchain-funcs bash-completion-r1 tmpfiles
inherit python-r1 toolchain-funcs bash-completion-r1
MY_PV="${PV//_/-}"
MY_P="${PN}-${MY_PV}"
@ -36,12 +35,14 @@ SLOT="0"
IUSE="audit pam split-usr"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND=">=sys-libs/libselinux-${PV}:=
>=sys-libs/libsemanage-${PV}:=
DEPEND=">=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}]
>=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}]
>=sys-libs/libsepol-${PV}:=
sys-libs/libcap-ng:=
>=app-admin/setools-4.2.0[${PYTHON_USEDEP}]
audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] )
pam? ( sys-libs/pam:= )"
pam? ( sys-libs/pam:= )
${PYTHON_DEPS}"
# Avoid dependency loop in the cross-compile case, bug #755173
# (Still exists in native)
@ -51,7 +52,8 @@ BDEPEND="sys-devel/gettext"
RDEPEND="${DEPEND}
app-misc/pax-utils"
PDEPEND="sys-apps/semodule-utils"
PDEPEND="sys-apps/semodule-utils
sys-apps/selinux-python"
src_unpack() {
# Override default one because we need the SRC_URI ones even in case of 9999 ebuilds
@ -78,6 +80,14 @@ src_prepare() {
eapply_user
sed -i 's/-Werror//g' "${S1}"/*/Makefile || die "Failed to remove Werror"
python_copy_sources
# Our extra code is outside the regular directory, so set it to the extra
# directory. We really should optimize this as it is ugly, but the extra
# code is needed for Gentoo at the same time that policycoreutils is present
# (so we cannot use an additional package for now).
S="${S2}"
python_copy_sources
}
src_compile() {
@ -90,8 +100,10 @@ src_compile() {
CC="$(tc-getCC)" \
LIBDIR="\$(PREFIX)/$(get_libdir)"
}
BUILD_DIR="${S1}"
building
S="${S1}" # Regular policycoreutils
python_foreach_impl building
S="${S2}" # Extra set
python_foreach_impl building
}
src_install() {
@ -106,6 +118,7 @@ src_install() {
CC="$(tc-getCC)" \
LIBDIR="\$(PREFIX)/$(get_libdir)" \
install
python_optimize
}
installation-extras() {
@ -113,11 +126,14 @@ src_install() {
emake -C "${BUILD_DIR}" \
DESTDIR="${D}" \
install
python_optimize
}
BUILD_DIR="${S1}"
installation-policycoreutils
S="${S1}" # policycoreutils
python_foreach_impl installation-policycoreutils
S="${S2}" # extras
python_foreach_impl installation-extras
S="${S1}" # back for later
# remove redhat-style init script
rm -fR "${D}/etc/rc.d" || die
@ -132,12 +148,14 @@ src_install() {
bashcomp_alias setsebool getsebool
dodir /usr/lib/selinux/policy
dosym ../../usr/lib/selinux/policy /var/lib/selinux
keepdir /usr/lib/selinux/policy
# location for policy definitions
dodir /var/lib/selinux
keepdir /var/lib/selinux
# Recreate the symlink in /var in case of wiping the root filesystem.
dotmpfiles "${FILESDIR}/tmpfiles.d/10-var-lib-selinux.conf"
# Set version-specific scripts
for pyscript in rlpkg; do
python_replicate_script "${ED}/usr/sbin/${pyscript}"
done
}
pkg_postinst() {