1 # Bundling request for bootstrap/patternfly: https://fedorahosted.org/fpc/ticket/483
5 Release: 1%{?builddate}%{?gittag}%{?dist}
6 Summary: An Identity Provider Server
8 Group: System Environment/Base
10 URL: https://fedorahosted.org/ipsilon/
11 Source0: https://fedorahosted.org/released/ipsilon/ipsilon-%{version}.tar.gz
15 BuildRequires: python2-devel
16 BuildRequires: python-setuptools
17 BuildRequires: lasso-python
18 BuildRequires: python-openid, python-openid-cla, python-openid-teams
19 BuildRequires: m2crypto
21 Requires: python-requests
22 Requires: %{name}-base = %{version}-%{release}
26 Ipsilon is a multi-protocol Identity Provider service. Its function is to
27 bridge authentication providers and applications to achieve Single Sign On
32 Summary: Ipsilon base IDP server
33 Group: System Environment/Base
37 Requires: %{name}-filesystem = %{version}-%{release}
38 Requires: %{name}-provider = %{version}-%{release}
40 Requires: python-cherrypy
41 Requires: python-jinja2
43 Requires: python-sqlalchemy
44 Requires: open-sans-fonts
45 Requires(pre): shadow-utils
46 Requires(post): %_sbindir/semanage, %_sbindir/restorecon
47 Requires(postun): %_sbindir/semanage
51 The Ipsilon IdP server without installer
55 Summary: Package providing files required by Ipsilon
56 Group: System Environment/Base
59 %description filesystem
60 Package providing basic directory structure required
65 Summary: Tools for configuring Ipsilon clients
66 Group: System Environment/Base
68 Requires: %{name}-filesystem = %{version}-%{release}
69 Requires: %{name}-saml2-base = %{version}-%{release}
70 Requires: mod_auth_mellon
79 Group: System Environment/Base
81 Requires: %{name}-authkrb = %{version}-%{release}
82 Requires: %{name}-authform = %{version}-%{release}
85 Requires: ipa-admintools
87 Requires: freeipa-client
88 Requires: freeipa-admintools
92 %description tools-ipa
93 Convenience client install tools for IPA support in the Ipsilon identity Provider
98 Group: System Environment/Base
100 Requires: lasso-python
101 Requires: python-lxml
104 %description saml2-base
105 Provides core SAML2 utilities
109 Summary: SAML2 provider plugin
110 Group: System Environment/Base
112 Provides: ipsilon-provider = %{version}-%{release}
113 Requires: %{name} = %{version}-%{release}
114 Requires: %{name}-saml2-base = %{version}-%{release}
118 Provides a SAML2 provider plugin for the Ipsilon identity Provider
122 Summary: Openid provider plugin
123 Group: System Environment/Base
125 Provides: ipsilon-provider = %{version}-%{release}
126 Requires: %{name} = %{version}-%{release}
127 Requires: python-openid
128 Requires: python-openid-cla
129 Requires: python-openid-teams
133 Provides an OpenId provider plugin for the Ipsilon identity Provider
137 Summary: Persona provider plugin
138 Group: System Environment/Base
140 Provides: ipsilon-provider = %{version}-%{release}
141 Requires: %{name} = %{version}-%{release}
146 Provides a Persona provider plugin for the Ipsilon identity Provider
150 Summary: Fedora Authentication System login plugin
151 Group: System Environment/Base
153 Requires: %{name} = %{version}-%{release}
154 Requires: python-fedora
158 Provides a login plugin to authenticate against the Fedora Authentication System
162 Summary: mod_intercept_form_submit login plugin
163 Group: System Environment/Base
165 Requires: %{name} = %{version}-%{release}
166 Requires: mod_intercept_form_submit
169 %description authform
170 Provides a login plugin to authenticate with mod_intercept_form_submit
174 Summary: PAM based login plugin
175 Group: System Environment/Base
177 Requires: %{name} = %{version}-%{release}
182 Provides a login plugin to authenticate against the local PAM stack
186 Summary: mod_auth_kerb based login plugin
187 Group: System Environment/Base
189 Requires: %{name} = %{version}-%{release}
190 Requires: mod_auth_kerb
194 Provides a login plugin to allow authentication via the mod_auth_kerb Apache
199 Summary: mod_auth_kerb based login plugin
200 Group: System Environment/Base
202 Requires: %{name} = %{version}-%{release}
203 Requires: python-ldap
206 %description authldap
207 Provides a login plugin to allow authentication and info retrieval via LDAP.
210 Summary: SSSD & mod_lookup_identity-based identity plugin
211 Group: System Environment/Base
213 Requires: %{name} = %{version}-%{release}
214 Requires: mod_lookup_identity
215 Requires: libsss_simpleifp
216 Requires: sssd >= 1.12.4
219 %description infosssd
220 Provides an info plugin to allow retrieval via mod_lookup_identity and
228 CFLAGS="%{optflags}" %{__python} setup.py build
232 %{__python} setup.py install --skip-build --root %{buildroot}
233 mkdir -p %{buildroot}%{_sbindir}
234 mkdir -p %{buildroot}%{_defaultdocdir}
235 # These 0700 permissions are because ipsilon will store private keys here
236 install -d -m 0700 %{buildroot}%{_sharedstatedir}/ipsilon
237 install -d -m 0700 %{buildroot}%{_sysconfdir}/ipsilon
238 mv %{buildroot}/%{_bindir}/ipsilon %{buildroot}/%{_sbindir}
239 mv %{buildroot}/%{_bindir}/ipsilon-server-install %{buildroot}/%{_sbindir}
240 mv %{buildroot}%{_defaultdocdir}/%{name} %{buildroot}%{_defaultdocdir}/%{name}-%{version}
241 rm -fr %{buildroot}%{python2_sitelib}/tests
242 ln -s %{_datadir}/fonts %{buildroot}%{_datadir}/ipsilon/ui/fonts
245 # The test suite is not being run because:
246 # 1. The last step of %%install removes the entire test suite
247 # 2. It increases build time a lot
248 # 3. It adds more build dependencies (namely postgresql server and client libraries)
251 getent group ipsilon >/dev/null || groupadd -r ipsilon
252 getent passwd ipsilon >/dev/null || \
253 useradd -r -g ipsilon -d %{_sharedstatedir}/ipsilon -s /sbin/nologin \
254 -c "Ipsilon Server" ipsilon
258 semanage fcontext -a -t httpd_var_lib_t '%{_sharedstatedir}/ipsilon(/.*)?' || :
259 semanage fcontext -a -t var_lib_t '%{_sharedstatedir}/ipsilon(/.*)/*.conf' || :
260 restorecon -R %{_sharedstatedir}/ipsilon || :
263 # Clean up after package removal
264 if [ $1 -eq 0 ]; then
265 semanage fcontext -d -t var_lib_t '%{_sharedstatedir}/ipsilon(/.*)/*.conf' || :
266 semanage fcontext -d -t httpd_var_lib_t '%{_sharedstatedir}/ipsilon(/.*)?' || :
272 %dir %{_datadir}/ipsilon
273 %dir %{_datadir}/ipsilon/templates
274 %dir %{_datadir}/ipsilon/templates/install
275 %dir %{python2_sitelib}/ipsilon
276 %{python2_sitelib}/ipsilon/__init__.py*
277 %{python2_sitelib}/ipsilon-*.egg-info
278 %dir %{python2_sitelib}/ipsilon/tools
279 %{python2_sitelib}/ipsilon/tools/__init__.py*
280 %{python2_sitelib}/ipsilon/tools/files.py*
283 %{_sbindir}/ipsilon-server-install
284 %{_datadir}/ipsilon/templates/install/*.conf
285 %{_datadir}/ipsilon/ui/saml2sp
286 %dir %{python2_sitelib}/ipsilon/helpers
287 %{python2_sitelib}/ipsilon/helpers/common.py*
288 %{python2_sitelib}/ipsilon/helpers/__init__.py*
291 %{_defaultdocdir}/%{name}-%{version}
292 %{python2_sitelib}/ipsilon/admin
293 %{python2_sitelib}/ipsilon/rest
294 %dir %{python2_sitelib}/ipsilon/login
295 %{python2_sitelib}/ipsilon/login/__init__*
296 %{python2_sitelib}/ipsilon/login/common*
297 %{python2_sitelib}/ipsilon/login/authtest*
298 %dir %{python2_sitelib}/ipsilon/info
299 %{python2_sitelib}/ipsilon/info/__init__*
300 %{python2_sitelib}/ipsilon/info/common*
301 %{python2_sitelib}/ipsilon/info/infonss*
302 %dir %{python2_sitelib}/ipsilon/providers
303 %{python2_sitelib}/ipsilon/providers/__init__*
304 %{python2_sitelib}/ipsilon/providers/common*
305 %{python2_sitelib}/ipsilon/root.py*
306 %{python2_sitelib}/ipsilon/util
307 %{_mandir}/man*/ipsilon*
308 %{_datadir}/ipsilon/templates/*.html
309 %{_datadir}/ipsilon/templates/admin
310 %dir %{_datadir}/ipsilon/templates/login
311 %{_datadir}/ipsilon/templates/login/index.html
312 %{_datadir}/ipsilon/templates/login/form.html
313 %dir %{_datadir}/ipsilon/ui
314 %{_datadir}/ipsilon/ui/css
315 %{_datadir}/ipsilon/ui/img
316 %{_datadir}/ipsilon/ui/js
317 %{_datadir}/ipsilon/ui/fonts
319 %dir %attr(0700,ipsilon,ipsilon) %{_sharedstatedir}/ipsilon
320 %dir %attr(0700,ipsilon,ipsilon) %{_sysconfdir}/ipsilon
323 %{_bindir}/ipsilon-client-install
324 %{_datadir}/ipsilon/templates/install/saml2
327 %{python2_sitelib}/ipsilon/helpers/ipa.py*
330 %{python2_sitelib}/ipsilon/tools/saml2metadata.py*
331 %{python2_sitelib}/ipsilon/tools/certs.py*
334 %{python2_sitelib}/ipsilon/providers/saml2*
335 %{_datadir}/ipsilon/templates/saml2
338 %{python2_sitelib}/ipsilon/providers/openid*
339 %{_datadir}/ipsilon/templates/openid
342 %{python2_sitelib}/ipsilon/providers/persona*
343 %{_datadir}/ipsilon/templates/persona
346 %{python2_sitelib}/ipsilon/login/authfas*
349 %{python2_sitelib}/ipsilon/login/authform*
352 %{python2_sitelib}/ipsilon/login/authpam*
355 %{python2_sitelib}/ipsilon/login/authkrb*
356 %{_datadir}/ipsilon/templates/login/krb.html
359 %{python2_sitelib}/ipsilon/login/authldap*
360 %{python2_sitelib}/ipsilon/info/infoldap*
363 %{python2_sitelib}/ipsilon/info/infosssd.*
366 * Mon Mar 30 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.5.0-1
369 * Fri Feb 27 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.4.0-1
372 * Tue Feb 24 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-7
373 - Split the installer into -tools
374 - Split authform into -authform
376 * Thu Feb 12 2015 Rob Crittenden <rcritten@redhat.com> - 0.3.0-6
377 - Add mod_identity_lookup info plugin package
379 * Wed Jan 28 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-5
382 * Mon Jan 12 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-4
383 - Add symlink to fonts directory
385 * Tue Dec 16 2014 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-3
387 - Add comments on why the test suite is not in check
388 - The subpackages require the base package
389 - Add link to FPC ticket for bundling exception request
391 * Tue Dec 16 2014 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-2
392 - Fix shebang removal
394 * Tue Dec 16 2014 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.3.0-1