diff --git a/dnfdaemon.spec b/dnfdaemon.spec index bb00319..5907e3e 100644 --- a/dnfdaemon.spec +++ b/dnfdaemon.spec @@ -3,7 +3,7 @@ Name: dnfdaemon Version: 0.3.16 -Release: 10%{?dist} +Release: 11%{?dist} Summary: DBus daemon for dnf package actions License: GPLv2+ @@ -22,15 +22,28 @@ Requires: python3-dbus Requires: python3-dnf >= %{dnf_version} Requires: polkit -Requires(post): policycoreutils-python-utils -Requires(postun): policycoreutils-python-utils - %{?systemd_requires} %description Dbus daemon for performing package actions with the dnf package manager +%package selinux +Summary: SELinux integration for the dnf-daemon + +Requires: %{name} = %{version}-%{release} + +Requires(post): policycoreutils-python-utils +Requires(postun): policycoreutils-python-utils + +# http://rpm.org/user_doc/boolean_dependencies.html#cautionary-tale-about-if +Supplements: (dnfdaemon and selinux-policy) + +%description selinux +Metapackage customizing the SELinux policy to make the dnf-daemon work with +SELinux enabled in enforcing mode. + + %package -n python2-%{name} Summary: Python 2 api for communicating with the dnf-daemon DBus service @@ -72,17 +85,10 @@ Python 3 api for communicating with the dnf-daemon DBus service %post -# apply the right selinux file context -# http://fedoraproject.org/wiki/PackagingDrafts/SELinux#File_contexts -semanage fcontext -a -t rpm_exec_t '%{_datadir}/%{name}/%{name}-system' 2>/dev/null || : -restorecon -R %{_datadir}/%{name}/%{name}-system || : %systemd_post %{name}.service %postun -if [ $1 -eq 0 ] ; then # final removal -semanage fcontext -d -t rpm_exec_t '%{_datadir}/%{name}/%{name}-system' 2>/dev/null || : -fi %systemd_postun %{name}.service @@ -90,6 +96,19 @@ fi %systemd_preun %{name}.service +%post selinux +# apply the right selinux file context +# http://fedoraproject.org/wiki/PackagingDrafts/SELinux#File_contexts +semanage fcontext -a -t rpm_exec_t '%{_datadir}/%{name}/%{name}-system' 2>/dev/null || : +restorecon -R %{_datadir}/%{name}/%{name}-system || : + + +%postun selinux +if [ $1 -eq 0 ] ; then # final removal +semanage fcontext -d -t rpm_exec_t '%{_datadir}/%{name}/%{name}-system' 2>/dev/null || : +fi + + %files %license COPYING %doc README.md ChangeLog @@ -104,6 +123,10 @@ fi %{python3_sitelib}/%{name}/server +%files selinux +# empty metapackage + + %files -n python2-%{name} %{python_sitelib}/%{name} @@ -113,6 +136,10 @@ fi %changelog +* Thu Mar 30 2017 Björn Esser - 0.3.16-11 +- Add -selinux subpackage and drag it in through boolean Supplements + Thanks to Kevin Kofler (rhbz#1395531) + * Thu Mar 30 2017 Björn Esser - 0.3.16-10 - Updated spec-file to latest guidelines - Removed obsolete bits