%global selinux_variants mls targeted %global selinux_policyver %(%{__sed} -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0) %global modulename flatpak-timeout-fix Name: flatpak-timeout-fix Version: 2 Release: %autorelease Summary: A .pp file to fix Flatpak on SELinux License: GPL v3 URL: https://github.com/risiOS/risiOS-meta BuildRequires: checkpolicy, selinux-policy-devel, hardlink %if "%{selinux_policyver}" != "" Requires: selinux-policy >= %{selinux_policyver} %endif Requires(post): /usr/sbin/semodule, /sbin/fixfiles, flatpak Requires(postun): /usr/sbin/semodule %description Fixes an issue where SELinux will not allow Flatpak to install a package. %prep mkdir SELinux %build cd SELinux cat > flatpak-timeout-fix.te <<EOF module flatpak-timeout-fix 1.0; require { type accountsd_t; type flatpak_helper_t; class dbus send_msg; } #============= accountsd_t ============== allow accountsd_t flatpak_helper_t:dbus send_msg; EOF for selinuxvariant in %{selinux_variants} do make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile mv flatpak-timeout-fix.pp flatpak-timeout-fix.pp.${selinuxvariant} make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean done cd - %install cd SELinux for selinuxvariant in %{selinux_variants} do mkdir -p %{buildroot}%{_datadir}/selinux/${selinuxvariant} install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant} install -p -m 644 %{modulename}.pp.${selinuxvariant} \ %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp done cd - /usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux %clean rm -rf %{buildroot} %post for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || : done %postun if [ $1 -eq 0 ] ; then for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || : done fi %files %defattr(-,root,root,0755) %{_datadir}/selinux/*/%{modulename}.pp %changelog * Mon Jul 31 2006 John Doe <doe@example.com> 0.01-1 - Initial version