|
|
|
@ -7,7 +7,6 @@
|
|
|
|
|
|
|
|
|
|
# container-selinux stuff (prefix with ds_ for version/release etc.)
|
|
|
|
|
# Some bits borrowed from the openstack-selinux package
|
|
|
|
|
%global selinuxtype targeted
|
|
|
|
|
%global moduletype services
|
|
|
|
|
%global modulenames container
|
|
|
|
|
|
|
|
|
@ -16,21 +15,24 @@
|
|
|
|
|
# Format must contain '$x' somewhere to do anything useful
|
|
|
|
|
%global _format() export %1=""; for x in %{modulenames}; do %1+=%2; %1+=" "; done;
|
|
|
|
|
|
|
|
|
|
# RHEL 8 doesn't allow watch and systemd_chat_resolved
|
|
|
|
|
%if %{defined rhel} && 0%{?rhel} == 8
|
|
|
|
|
%define no_watch 1
|
|
|
|
|
%define no_systemd_chat_resolved 1
|
|
|
|
|
%global _selinux_policy_version 3.14.3-80.el8
|
|
|
|
|
# RHEL < 10 and Fedora < 40 use file context entries in /var/run
|
|
|
|
|
%if %{defined rhel} && 0%{?rhel} < 10 || %{defined fedora} && 0%{?fedora} < 40
|
|
|
|
|
%define legacy_var_run 1
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# https://github.com/containers/container-selinux/issues/203
|
|
|
|
|
%if %{!defined fedora} && %{!defined rhel} || %{defined fedora} && 0%{?fedora} <= 37 || %{defined rhel} && 0%{?rhel} <= 9
|
|
|
|
|
%if %{!defined fedora} && %{!defined rhel} || %{defined rhel} && 0%{?rhel} <= 9
|
|
|
|
|
%define no_user_namespace 1
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# copr_build is more intuitive than copr_username
|
|
|
|
|
%if %{defined copr_username}
|
|
|
|
|
%define copr_build 1
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Name: container-selinux
|
|
|
|
|
# Set different Epochs for copr and koji
|
|
|
|
|
%if %{defined copr_username}
|
|
|
|
|
%if %{defined copr_build}
|
|
|
|
|
Epoch: 102
|
|
|
|
|
%else
|
|
|
|
|
Epoch: 3
|
|
|
|
@ -38,8 +40,8 @@ Epoch: 3
|
|
|
|
|
# Keep Version in upstream specfile at 0. It will be automatically set
|
|
|
|
|
# to the correct value by Packit for copr and koji builds.
|
|
|
|
|
# IGNORE this comment if you're looking at it in dist-git.
|
|
|
|
|
Version: 2.232.1
|
|
|
|
|
Release: 3%{?dist}
|
|
|
|
|
Version: 2.234.2
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
License: GPL-2.0-only
|
|
|
|
|
URL: https://github.com/containers/%{name}
|
|
|
|
|
Summary: SELinux policies for container runtimes
|
|
|
|
@ -53,7 +55,8 @@ BuildRequires: selinux-policy-devel >= %_selinux_policy_version
|
|
|
|
|
# RE: rhbz#1195804 - ensure min NVR for selinux-policy
|
|
|
|
|
Requires: selinux-policy >= %_selinux_policy_version
|
|
|
|
|
Requires(post): selinux-policy-base >= %_selinux_policy_version
|
|
|
|
|
Requires(post): selinux-policy-targeted >= %_selinux_policy_version
|
|
|
|
|
Requires(post): selinux-policy-any >= %_selinux_policy_version
|
|
|
|
|
Recommends: selinux-policy-targeted >= %_selinux_policy_version
|
|
|
|
|
Requires(post): policycoreutils
|
|
|
|
|
Requires(post): libselinux-utils
|
|
|
|
|
Requires(post): sed
|
|
|
|
@ -72,21 +75,14 @@ SELinux policy modules for use with container runtimes.
|
|
|
|
|
sed -i 's/^man: install-policy/man:/' Makefile
|
|
|
|
|
sed -i 's/^install: man/install:/' Makefile
|
|
|
|
|
|
|
|
|
|
%if %{defined no_watch}
|
|
|
|
|
sed -i 's/watch watch_reads//' container.if
|
|
|
|
|
sed -i 's/watch watch_reads//' container.te
|
|
|
|
|
sed -i '/sysfs_t:dir watch/d' container.te
|
|
|
|
|
sed -i '/fifo_file watch/d' container.te
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{defined no_systemd_chat_resolved}
|
|
|
|
|
sed -i '/^systemd_chat_resolved/d' container.te
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{defined no_user_namespace}
|
|
|
|
|
sed -i '/user_namespace/d' container.te
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{defined legacy_var_run}
|
|
|
|
|
sed -i 's|^/run/|/var/run/|' container.fc
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
@ -95,11 +91,8 @@ make
|
|
|
|
|
%_format MODULES $x.pp.bz2
|
|
|
|
|
%{__make} DATADIR=%{buildroot}%{_datadir} SYSCONFDIR=%{buildroot}%{_sysconfdir} install install.udica-templates install.selinux-user
|
|
|
|
|
|
|
|
|
|
# Ref: https://bugzilla.redhat.com/show_bug.cgi?id=2209120
|
|
|
|
|
rm %{buildroot}%{_mandir}/man8/container_selinux.8
|
|
|
|
|
|
|
|
|
|
%pre
|
|
|
|
|
%selinux_relabel_pre -s %{selinuxtype}
|
|
|
|
|
%selinux_relabel_pre
|
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
# Install all modules in a single transaction
|
|
|
|
@ -107,21 +100,21 @@ if [ $1 -eq 1 ]; then
|
|
|
|
|
%{_sbindir}/setsebool -P -N virt_use_nfs=1 virt_sandbox_use_all_caps=1
|
|
|
|
|
fi
|
|
|
|
|
%_format MODULES %{_datadir}/selinux/packages/$x.pp.bz2
|
|
|
|
|
%{_sbindir}/semodule -n -s %{selinuxtype} -r container 2> /dev/null
|
|
|
|
|
%{_sbindir}/semodule -n -s %{selinuxtype} -d docker 2> /dev/null
|
|
|
|
|
%{_sbindir}/semodule -n -s %{selinuxtype} -d gear 2> /dev/null
|
|
|
|
|
%selinux_modules_install -s %{selinuxtype} $MODULES
|
|
|
|
|
. %{_sysconfdir}/selinux/config
|
|
|
|
|
%{_sbindir}/semodule -n -s ${SELINUXTYPE} -r container 2> /dev/null
|
|
|
|
|
%{_sbindir}/semodule -n -s ${SELINUXTYPE} -d docker 2> /dev/null
|
|
|
|
|
%{_sbindir}/semodule -n -s ${SELINUXTYPE} -d gear 2> /dev/null
|
|
|
|
|
%selinux_modules_install -s ${SELINUXTYPE} $MODULES
|
|
|
|
|
sed -e "\|container_file_t|h; \${x;s|container_file_t||;{g;t};a\\" -e "container_file_t" -e "}" -i /etc/selinux/${SELINUXTYPE}/contexts/customizable_types
|
|
|
|
|
matchpathcon -qV %{_sharedstatedir}/containers || restorecon -R %{_sharedstatedir}/containers &> /dev/null || :
|
|
|
|
|
|
|
|
|
|
%postun
|
|
|
|
|
if [ $1 -eq 0 ]; then
|
|
|
|
|
%selinux_modules_uninstall -s %{selinuxtype} %{modulenames} docker
|
|
|
|
|
%selinux_modules_uninstall %{modulenames} docker
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
%posttrans
|
|
|
|
|
%selinux_relabel_post -s %{selinuxtype}
|
|
|
|
|
%selinux_relabel_post
|
|
|
|
|
|
|
|
|
|
#define license tag if not already defined
|
|
|
|
|
%{!?_licensedir:%global license %doc}
|
|
|
|
@ -131,12 +124,14 @@ fi
|
|
|
|
|
%{_datadir}/selinux/*
|
|
|
|
|
%dir %{_datadir}/containers/selinux
|
|
|
|
|
%{_datadir}/containers/selinux/contexts
|
|
|
|
|
%dir %{_datadir}/udica
|
|
|
|
|
%dir %{_datadir}/udica/templates/
|
|
|
|
|
%{_datadir}/udica/templates/*
|
|
|
|
|
# Ref: https://bugzilla.redhat.com/show_bug.cgi?id=2209120
|
|
|
|
|
#%%{_mandir}/man8/container_selinux.8.gz
|
|
|
|
|
%{_sysconfdir}/selinux/targeted/contexts/users/*
|
|
|
|
|
%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulenames}
|
|
|
|
|
%{_mandir}/man8/container_selinux.8.gz
|
|
|
|
|
%{_sysconfdir}/selinux/targeted/contexts/users/container_u
|
|
|
|
|
%ghost %verify(not mode) %{_selinux_store_path}/targeted/active/modules/200/%{modulenames}
|
|
|
|
|
%ghost %verify(not mode) %{_selinux_store_path}/mls/active/modules/200/%{modulenames}
|
|
|
|
|
|
|
|
|
|
%triggerpostun -- container-selinux < 2:2.162.1-3
|
|
|
|
|
if %{_sbindir}/selinuxenabled ; then
|
|
|
|
@ -146,6 +141,21 @@ fi
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
## START: Generated by rpmautospec
|
|
|
|
|
* Mon Nov 25 2024 Jindrich Novy <jnovy@redhat.com> - 3:2.234.2-1
|
|
|
|
|
- container-selinux-2.234.2-1.el10
|
|
|
|
|
- update to https://github.com/containers/container-
|
|
|
|
|
selinux/releases/tag/v2.234.2
|
|
|
|
|
- Related: RHEL-67309
|
|
|
|
|
|
|
|
|
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3:2.233.0-2
|
|
|
|
|
- Bump release for October 2024 mass rebuild:
|
|
|
|
|
|
|
|
|
|
* Mon Sep 16 2024 Jindrich Novy <jnovy@redhat.com> - 3:2.233.0-1
|
|
|
|
|
- container-selinux-2.233.0-1.el10
|
|
|
|
|
- update to https://github.com/containers/container-
|
|
|
|
|
selinux/releases/tag/v2.233.0
|
|
|
|
|
- Related: RHEL-58990
|
|
|
|
|
|
|
|
|
|
* Fri Jul 26 2024 Jindrich Novy <jnovy@redhat.com> - 3:2.232.1-3
|
|
|
|
|
- Rebuild - Related: RHEL-39410
|
|
|
|
|
|
|
|
|
|