diff --git a/sec-policy/selinux-base-policy/selinux-base-policy-2.20210203-r1.ebuild b/sec-policy/selinux-base-policy/selinux-base-policy-2.20210203-r1.ebuild index 56db7e92b5d06..2a8e2f2df82f1 100644 --- a/sec-policy/selinux-base-policy/selinux-base-policy-2.20210203-r1.ebuild +++ b/sec-policy/selinux-base-policy/selinux-base-policy-2.20210203-r1.ebuild @@ -28,6 +28,7 @@ BDEPEND=" sys-devel/m4" MODS="application authlogin bootloader clock consoletype cron dmesg fstools getty hostname init iptables libraries locallogin logging lvm miscfiles modutils mount mta netutils nscd portage raid rsync selinuxutil setrans ssh staff storage su sysadm sysnetwork systemd tmpfiles udev userdomain usermanage unprivuser xdg" +DEL_MODS="hotplug" LICENSE="GPL-2" SLOT="0" S="${WORKDIR}/" @@ -105,12 +106,24 @@ pkg_postinst() { COMMAND="${COMMAND} -i ${i}.pp" done + for i in ${DEL_MODS}; do + [[ "${MODS}" != "*${i}*" ]] || die "Duplicate module in MODS and DEL_MODS: ${i}" + done + for i in ${POLICY_TYPES}; do einfo "Inserting the following modules, with base, into the $i module store: ${MODS}" cd "${ROOT}/usr/share/selinux/${i}" semodule ${root_opts} -s ${i} ${COMMAND} + + if [ -n "${DEL_MODS}" ];then + for mod in ${DEL_MODS}; do + if semodule ${root_opts} -s ${i} -l | grep -q "\b${mod}\b"; then + semodule ${root_opts} -s ${i} -r ${mod} + fi + done + fi done # Don't relabel when cross compiling diff --git a/sec-policy/selinux-base-policy/selinux-base-policy-2.20210908-r1.ebuild b/sec-policy/selinux-base-policy/selinux-base-policy-2.20210908-r1.ebuild index 56db7e92b5d06..2a8e2f2df82f1 100644 --- a/sec-policy/selinux-base-policy/selinux-base-policy-2.20210908-r1.ebuild +++ b/sec-policy/selinux-base-policy/selinux-base-policy-2.20210908-r1.ebuild @@ -28,6 +28,7 @@ BDEPEND=" sys-devel/m4" MODS="application authlogin bootloader clock consoletype cron dmesg fstools getty hostname init iptables libraries locallogin logging lvm miscfiles modutils mount mta netutils nscd portage raid rsync selinuxutil setrans ssh staff storage su sysadm sysnetwork systemd tmpfiles udev userdomain usermanage unprivuser xdg" +DEL_MODS="hotplug" LICENSE="GPL-2" SLOT="0" S="${WORKDIR}/" @@ -105,12 +106,24 @@ pkg_postinst() { COMMAND="${COMMAND} -i ${i}.pp" done + for i in ${DEL_MODS}; do + [[ "${MODS}" != "*${i}*" ]] || die "Duplicate module in MODS and DEL_MODS: ${i}" + done + for i in ${POLICY_TYPES}; do einfo "Inserting the following modules, with base, into the $i module store: ${MODS}" cd "${ROOT}/usr/share/selinux/${i}" semodule ${root_opts} -s ${i} ${COMMAND} + + if [ -n "${DEL_MODS}" ];then + for mod in ${DEL_MODS}; do + if semodule ${root_opts} -s ${i} -l | grep -q "\b${mod}\b"; then + semodule ${root_opts} -s ${i} -r ${mod} + fi + done + fi done # Don't relabel when cross compiling