rendered paste body%define selinux_variants targeted strict mls
%define selinux_policyver %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp)
%define modulename ut2004
Name: ut2004-selinux
Version: 1.0.0
Release: 0.1%{?dist}
Summary: SELinux policy module
Group: Examples/SELinux
License: GPLv3+
URL: http://www.example.com/myapp/
Source0: ut2004-selinux-%{version}.tar.gz
Source1: %{modulename}.if
Source2: %{modulename}.te
Source3: %{modulename}.fc
Source4: %{modulename}.xml
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: checkpolicy, selinux-policy-devel, hardlink
%if "%{selinux_policyver}" != ""
Requires: selinux-policy >= %{selinux_policyver}
%endif
Requires(post): /usr/sbin/semodule, /sbin/fixfiles, ut2004-selinux
Requires(postun): /usr/sbin/semodule
%description
SELinux policy module package for Unreal Tournament 2004.
%prep
%setup -q
mkdir selinux
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} selinux
%build
cd selinux
for selinuxvariant in %{selinux_variants}
do
make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
mv %{modulename}.pp %{modulename}.pp.${selinuxvariant}
make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
done
cd -
%install
rm -rf %{buildroot}
cd selinux
for selinuxvariant in %{selinux_variants}
do
install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
install -p -m 644 %{modulename}.pp.${selinuxvariant} \
%{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
done
cd -
/usr/sbin/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
/sbin/restorecon -R -F -v /home/*/.ut2004 &> /dev/null || :
/sbin/restorecon -R -F -v /usr/local/games/ut2004/System/ut2004-bin &> /dev/null || :
/usr/sbin/semanage port -a -t ut2004_port_t -p tcp 28902
/usr/sbin/semanage port -a -t ut2004_port_t -p udp 10777
/usr/sbin/semanage port -a -t ut2004_port_t -p udp 7788
/usr/sbin/semanage port -a -t ut2004_port_t -p udp 7787
/usr/sbin/semanage port -a -t ut2004_port_t -p udp 7778
/usr/sbin/semanage port -a -t ut2004_port_t -p udp 7777
/sbin/fixfiles -R ut2004-selinux restore || :
%postun
if [ $1 -eq 0 ]; then
/usr/sbin/semanage port -d -t ut2004_port_t -p tcp 28902
/usr/sbin/semanage port -d -t ut2004_port_t -p udp 10777
/usr/sbin/semanage port -d -t ut2004_port_t -p udp 7788
/usr/sbin/semanage port -d -t ut2004_port_t -p udp 7787
/usr/sbin/semanage port -d -t ut2004_port_t -p udp 7778
/usr/sbin/semanage port -d -t ut2004_port_t -p udp 7777
for selinuxvariant in %{selinux_variants}
do
/usr/sbin/semodule -s ${selinuxvariant} -r %{modulename}
done
/sbin/restorecon -R -F -v /home/*/.ut2004 &> /dev/null || :
/sbin/restorecon -R -F -v /usr/local/games/ut2004/System/ut2004-bin &> /dev/null || :
fi
%files
%defattr(-,root,root,0755)
%doc ChangeLog AUTHOR COPYING selinux/*
%{_datadir}/selinux/*/%{modulename}.pp
%changelog
* Wed Oct 12 2007 Dominick Grift <dgrift1@gmail.com> 1.0.0-0.1
- Initial version.