Make it easy to install mutiple server instances
[cascardo/ipsilon.git] / contrib / fedora / ipsilon.spec
1 Name:           ipsilon
2 Version:        0.2
3 Release:        1%{?dist}
4 Summary:        An Identity Provider Server
5
6 Group:          System Environment/Base
7 License:        GPLv3+
8 URL:            https://fedorahosted.org/ipsilon/
9 Source0:        ipsilon-%{version}.tar.gz
10
11 BuildRequires:  python2-devel
12 BuildRequires:  python-setuptools
13 BuildRequires:  lasso-python
14 Requires:       ipsilon-tools = %{version}-%{release}
15 Requires:       lasso-python
16 Requires:       mod_wsgi
17 Requires:       mod_auth_kerb
18 Requires:       python-cherrypy
19 Requires:       python-jinja2
20 Requires:       python-lxml
21 Requires:       python-pam
22 Requires(pre):  shadow-utils
23
24 %description
25 Ipsilon is a multi-protocol Identiy Provider service. Its function is to
26 bridge authentication providers and applications to achieve Single Sign On
27 and Federation.
28
29
30 %package tools
31 Summary:        Client tools for the Ipsilon IDP
32 Group:          System Environment/Base
33 License:        GPLv3+
34 Requires:       python-requests
35 Requires:       python-lxml
36 Requires:       lasso-python
37 Requires:       mod_auth_mellon
38
39 %description tools
40 Convenience client install tools for the Ipsilon identity Provider
41
42
43 %prep
44 %setup -q
45
46
47 %build
48 CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
49
50 %install
51 %{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
52 mkdir -p %{buildroot}%{_sbindir}
53 install -d -m 0700 %{buildroot}%{_sharedstatedir}/ipsilon
54 install -d -m 0700 %{buildroot}%{_sharedstatedir}/ipsilon/sessions
55 mv %{buildroot}/%{_bindir}/ipsilon %{buildroot}/%{_sbindir}
56 mv %{buildroot}/%{_bindir}/ipsilon-server-install %{buildroot}/%{_sbindir}
57 install -d -m 0700 %{buildroot}%{_sysconfdir}/ipsilon
58
59 %pre
60 getent group ipsilon >/dev/null || groupadd -r ipsilon
61 getent passwd ipsilon >/dev/null || \
62     useradd -r -g ipsilon -d %{_sharedstatedir}/ipsilon -s /sbin/nologin \
63     -c "Ipsilon Server" ipsilon
64 exit 0
65
66 %files
67 %doc COPYING
68 %{python2_sitelib}/ipsilon-*.egg-info
69 %{python2_sitelib}/ipsilon/admin/*
70 %{python2_sitelib}/ipsilon/login/*
71 %{python2_sitelib}/ipsilon/providers/*
72 %{python2_sitelib}/ipsilon/root.py*
73 %{python2_sitelib}/ipsilon/util/*
74 %{_mandir}/man*/ipsilon*
75 %{_datadir}/ipsilon/templates/*.html
76 %{_datadir}/ipsilon/templates/admin/*
77 %{_datadir}/ipsilon/templates/login/*
78 %{_datadir}/ipsilon/templates/saml2/*
79 %{_datadir}/ipsilon/templates/install/*.conf
80 %{_datadir}/ipsilon/ui/css/*
81 %{_datadir}/ipsilon/ui/img/*
82 %{_datadir}/ipsilon/ui/js/*
83 %{_sbindir}/ipsilon
84 %{_sbindir}/ipsilon-server-install
85 %dir %attr(0700,ipsilon,ipsilon) %{_sharedstatedir}/ipsilon
86 %dir %attr(0700,ipsilon,ipsilon) %{_sharedstatedir}/ipsilon/sessions
87 %dir %attr(0700,ipsilon,ipsilon) %{_sysconfdir}/ipsilon
88
89 %files tools
90 %doc COPYING
91 %{python2_sitelib}/ipsilon-*.egg-info
92 %{python2_sitelib}/ipsilon/__init__.py*
93 %{python2_sitelib}/ipsilon/tools/*
94 %{_datadir}/ipsilon/templates/install/saml2/sp.conf
95 %{_datadir}/ipsilon/ui/saml2sp/*
96 %{_bindir}/ipsilon-client-install