summaryrefslogtreecommitdiffstats
path: root/funcweb/funcweb.spec
diff options
context:
space:
mode:
Diffstat (limited to 'funcweb/funcweb.spec')
-rw-r--r--funcweb/funcweb.spec61
1 files changed, 59 insertions, 2 deletions
diff --git a/funcweb/funcweb.spec b/funcweb/funcweb.spec
index df5aee7..7ea73c1 100644
--- a/funcweb/funcweb.spec
+++ b/funcweb/funcweb.spec
@@ -12,15 +12,19 @@ Release: %(echo `awk '{ print $2 }' %{SOURCE1}`)%{?dist}
License: GPLv2+
Group: Applications/System
Source0: %{name}-%{version}.tar.gz
+Source2: %{name}.te
#packages that are required
Requires: python >= 2.3
Requires: func >= 0.20
-Requires: certmaster >= 0.1
+Requires: certmaster >= 0.20
Requires: mod_ssl >= 2.0
Requires: httpd >= 2.0
Requires: TurboGears >= 1.0.4.2
Requires: pam
+#a bug in Turbogears package that causes some problems if
+#bigger version than that one is installed on the system !
+Requires: python-cherrypy < 3.0
#the build requires
BuildRequires: python-devel
@@ -34,6 +38,12 @@ BuildRequires: python-setuptools-devel
BuildRequires: python-setuptools
%endif
%endif
+# SELinux module
+%if 0%{?fedora} == 5
+BuildRequires: checkpolicy, selinux-policy >= 2.2.40, m4
+%else
+BuildRequires: checkpolicy, selinux-policy-devel
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
Url: https://hosted.fedoraproject.org/projects/func/
@@ -41,8 +51,21 @@ Url: https://hosted.fedoraproject.org/projects/func/
Web interface for managing systems controlled by Func
+%package selinux
+Summary: SELinux support for FuncWeb
+Group: System Environment/Daemons
+Requires: %{name} = %{version}
+Requires(post): policycoreutils, initscripts, %{name}
+Requires(preun): policycoreutils, initscripts, %{name}
+Requires(postun): policycoreutils
+
+%description selinux
+This package adds SELinux policy for FuncWeb
+
%prep
%setup -q
+mkdir -p selinux
+cp -p %{SOURCE2} selinux/
%build
%{__python} setup.py build
@@ -51,6 +74,11 @@ Web interface for managing systems controlled by Func
test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install --prefix=/usr --root=$RPM_BUILD_ROOT
+#SELinux part
+cd selinux/
+make -f %{_datadir}/selinux/devel/Makefile
+install -p -m 644 -D %{name}.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/%{name}.pp
+
%clean
rm -fr $RPM_BUILD_ROOT
@@ -67,12 +95,14 @@ rm -fr $RPM_BUILD_ROOT
%dir %{python_sitelib}/funcweb/static
%dir %{python_sitelib}/funcweb/static/css
%dir %{python_sitelib}/funcweb/static/images
-%dir %{python_sitelib}/funcweb/static/javascript
+%dir %{python_sitelib}/funcweb/static/images/imgs
+%dir %{python_sitelib}/funcweb/static/javascript/ext
%dir %{python_sitelib}/funcweb/identity
%dir %{_sysconfdir}/%{name}
%dir /var/log/funcweb
%config(noreplace) %{_sysconfdir}/httpd/conf.d/funcweb.conf
%config(noreplace) %{_sysconfdir}/%{name}/prod.cfg
+%config(noreplace) %{_sysconfdir}/pam.d/funcweb
%config(noreplace) /etc/logrotate.d/funcweb_rotate
#adding the server startup shutdown thing
@@ -95,14 +125,20 @@ rm -fr $RPM_BUILD_ROOT
%{python_sitelib}/funcweb/static/images/*.jpg
%{python_sitelib}/funcweb/static/images/*.ico
%{python_sitelib}/funcweb/static/images/*.gif
+%{python_sitelib}/funcweb/static/images/imgs/*.gif
%{python_sitelib}/funcweb/static/images/Makefile
%{python_sitelib}/funcweb/static/javascript/*.js
+%{python_sitelib}/funcweb/static/javascript/ext/*.js
%{python_sitelib}/funcweb/static/javascript/Makefile
%{python_sitelib}/funcweb/identity/*.py*
%{python_sitelib}/funcweb/identity/Makefile
/usr/bin/funcwebd
%doc README
+%files selinux
+%defattr(-, root, root, -)
+%{_datadir}/selinux/packages/%{name}/%{name}.pp
+
%post
# for suse
if [ -x /usr/lib/lsb/install_initd ]; then
@@ -120,6 +156,24 @@ else
done
fi
+%post selinux
+if [ "$1" -le "1" ]; then # Fist install
+ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp 2>/dev/null || :
+ semanage port -a -t funcweb_port_t -p tcp 51236 2>/dev/null || :
+fi
+
+%preun selinux
+if [ "$1" -lt "1" ]; then # Final removal
+ semanage port -d -t funcweb_port_t -p tcp 51236 2>/dev/null || :
+ semodule -r funcweb 2>/dev/null || :
+fi
+
+%postun selinux
+if [ "$1" -ge "1" ]; then # Upgrade
+ # Replaces the module if it is already loaded
+ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}.pp 2>/dev/null || :
+fi
+
#before uninstall the things
%preun
if [ "$1" = 0 ] ; then
@@ -135,6 +189,9 @@ fi
%changelog
+* Fri Jul 11 2008 Krzysztof A. Adamski <krzysztofa@gmail.com> - 0.1
+- SELinux policy added
+
* Sat Jul 05 2008 Denis Kurov <makkalot@gmail.com> - 0.1
- The first RPM for funcweb with new dynamic widget stuff