diff options
Diffstat (limited to 'sys-apps/policycoreutils/policycoreutils-9999.ebuild')
-rw-r--r-- | sys-apps/policycoreutils/policycoreutils-9999.ebuild | 72 |
1 files changed, 31 insertions, 41 deletions
diff --git a/sys-apps/policycoreutils/policycoreutils-9999.ebuild b/sys-apps/policycoreutils/policycoreutils-9999.ebuild index 463a7f498dc8..b8625ff49cd8 100644 --- a/sys-apps/policycoreutils/policycoreutils-9999.ebuild +++ b/sys-apps/policycoreutils/policycoreutils-9999.ebuild @@ -1,22 +1,15 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" -PYTHON_COMPAT=( python{3_5,3_6} ) -PYTHON_REQ_USE="xml" +EAPI="7" +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="xml(+)" -inherit multilib python-r1 toolchain-funcs bash-completion-r1 +inherit python-r1 toolchain-funcs bash-completion-r1 -MY_P="${P//_/-}" - -MY_RELEASEDATE="20190315" -EXTRAS_VER="1.36" -SEMNG_VER="${PV}" -SELNX_VER="${PV}" -SEPOL_VER="${PV}" - -IUSE="audit pam dbus" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" +MY_PV="${PV//_/-}" +MY_P="${PN}-${MY_PV}" +EXTRAS_VER="1.37" DESCRIPTION="SELinux core utilities" HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki" @@ -25,13 +18,13 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git" SRC_URI="https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" - S1="${WORKDIR}/${MY_P}/${PN}" + S1="${WORKDIR}/${P}/${PN}" S2="${WORKDIR}/policycoreutils-extra" S="${S1}" else - SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_RELEASEDATE}/${MY_P}.tar.gz + SRC_URI="https://github.com/SELinuxProject/selinux/releases/download/${MY_PV}/${MY_P}.tar.gz https://dev.gentoo.org/~perfinion/distfiles/policycoreutils-extra-${EXTRAS_VER}.tar.bz2" - KEYWORDS="~amd64 ~arm64 ~mips ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" S1="${WORKDIR}/${MY_P}" S2="${WORKDIR}/policycoreutils-extra" S="${S1}" @@ -39,32 +32,25 @@ fi LICENSE="GPL-2" SLOT="0" +IUSE="audit pam split-usr" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" -DEPEND=">=sys-libs/libselinux-${SELNX_VER}:=[python,${PYTHON_USEDEP}] - >=sys-libs/libcap-1.10-r10:= - >=sys-libs/libsemanage-${SEMNG_VER}:=[python,${PYTHON_USEDEP}] +DEPEND=">=sys-libs/libselinux-${PV}:=[python,${PYTHON_USEDEP}] + >=sys-libs/libsemanage-${PV}:=[python(+),${PYTHON_USEDEP}] + >=sys-libs/libsepol-${PV}:= sys-libs/libcap-ng:= - >=sys-libs/libsepol-${SEPOL_VER}:= >=app-admin/setools-4.2.0[${PYTHON_USEDEP}] - sys-devel/gettext - dev-python/ipy[${PYTHON_USEDEP}] - dbus? ( - sys-apps/dbus - dev-libs/dbus-glib:= - ) audit? ( >=sys-process/audit-1.5.1[python,${PYTHON_USEDEP}] ) pam? ( sys-libs/pam:= ) - ${PYTHON_DEPS} - !<sec-policy/selinux-base-policy-2.20151208-r6" -# 2.20151208-r6 and higher has support for new setfiles + ${PYTHON_DEPS}" -### libcgroup -> seunshare -### dbus -> restorecond +# Avoid dependency loop in the cross-compile case, bug #755173 +# (Still exists in native) +BDEPEND="sys-devel/gettext" # pax-utils for scanelf used by rlpkg RDEPEND="${DEPEND} - app-misc/pax-utils - !<sys-apps/openrc-0.14" + app-misc/pax-utils" PDEPEND="sys-apps/semodule-utils sys-apps/selinux-python" @@ -82,7 +68,7 @@ src_prepare() { cd "${S}" || die "Failed to switch to ${S}" if [[ ${PV} != 9999 ]] ; then # If needed for live ebuilds please use /etc/portage/patches - eapply "${FILESDIR}/policycoreutils-2.7-0001-newrole-not-suid.patch" + eapply "${FILESDIR}/policycoreutils-3.1-0001-newrole-not-suid.patch" fi # rlpkg is more useful than fixfiles @@ -110,7 +96,6 @@ src_compile() { AUDIT_LOG_PRIVS="y" \ AUDITH="$(usex audit y n)" \ PAMH="$(usex pam y n)" \ - INOTIFYH="$(usex dbus y n)" \ SESANDBOX="n" \ CC="$(tc-getCC)" \ LIBDIR="\$(PREFIX)/$(get_libdir)" @@ -129,7 +114,6 @@ src_install() { AUDIT_LOG_PRIVS="y" \ AUDITH="$(usex audit y n)" \ PAMH="$(usex pam y n)" \ - INOTIFYH="$(usex dbus y n)" \ SESANDBOX="n" \ CC="$(tc-getCC)" \ LIBDIR="\$(PREFIX)/$(get_libdir)" \ @@ -155,7 +139,13 @@ src_install() { rm -fR "${D}/etc/rc.d" || die # compatibility symlinks - dosym /sbin/setfiles /usr/sbin/setfiles + if use split-usr; then + dosym ../../sbin/setfiles /usr/sbin/setfiles + else + # remove sestatus symlink + rm -f "${D}"/usr/sbin/sestatus || die + fi + bashcomp_alias setsebool getsebool # location for policy definitions @@ -172,7 +162,7 @@ pkg_postinst() { for POLICY_TYPE in ${POLICY_TYPES} ; do # There have been some changes to the policy store, rebuilding now. # https://marc.info/?l=selinux&m=143757277819717&w=2 - einfo "Rebuilding store ${POLICY_TYPE} (without re-loading)." - semodule -s "${POLICY_TYPE}" -n -B || die "Failed to rebuild policy store ${POLICY_TYPE}" + einfo "Rebuilding store ${POLICY_TYPE} in '${ROOT:-/}' (without re-loading)." + semodule -p "${ROOT:-/}" -s "${POLICY_TYPE}" -n -B || die "Failed to rebuild policy store ${POLICY_TYPE}" done } |