summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Uiterwijk <puiterwijk@redhat.com>2015-03-16 15:54:53 +0100
committerPatrick Uiterwijk <puiterwijk@redhat.com>2015-04-10 02:59:17 +0200
commit8ad119e79a510fa465b725570a300e5b3e356751 (patch)
tree4bb898f08d0a676ae1ae9c60efcfd8c2e0648e37
parent34275a71299437e8371ba518ba301ed9d7c83f74 (diff)
downloadipsilon-8ad119e79a510fa465b725570a300e5b3e356751.zip
ipsilon-8ad119e79a510fa465b725570a300e5b3e356751.tar.gz
ipsilon-8ad119e79a510fa465b725570a300e5b3e356751.tar.xz
Rework package setup
This way you can install saml2 client without ipsilon-base. Also, -base is the server itself, ipsilon will give you the installer with it. Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com> Reviewed-by: Rob Crittenden <rcritten@redhat.com>
-rw-r--r--contrib/fedora/ipsilon.spec111
1 files changed, 77 insertions, 34 deletions
diff --git a/contrib/fedora/ipsilon.spec b/contrib/fedora/ipsilon.spec
index 0c1f1ca..a8d3707 100644
--- a/contrib/fedora/ipsilon.spec
+++ b/contrib/fedora/ipsilon.spec
@@ -17,9 +17,25 @@ BuildRequires: python-setuptools
BuildRequires: lasso-python
BuildRequires: python-openid, python-openid-cla, python-openid-teams
BuildRequires: m2crypto
+
+Requires: python-requests
+Requires: %{name}-base = %{version}-%{release}
+BuildArch: noarch
+
+%description
+Ipsilon is a multi-protocol Identity Provider service. Its function is to
+bridge authentication providers and applications to achieve Single Sign On
+and Federation.
+
+
+%package base
+Summary: Ipsilon base IDP server
+Group: System Environment/Base
+License: GPLv3+
Requires: httpd
Requires: mod_ssl
-Requires: ipsilon-provider = %{version}-%{release}
+Requires: %{name}-filesystem = %{version}-%{release}
+Requires: %{name}-provider = %{version}-%{release}
Requires: mod_wsgi
Requires: python-cherrypy
Requires: python-jinja2
@@ -30,31 +46,40 @@ Requires(pre): shadow-utils
Requires(post): %_sbindir/semanage, %_sbindir/restorecon
Requires(postun): %_sbindir/semanage
-%description
-Ipsilon is a multi-protocol Identiy Provider service. Its function is to
-bridge authentication providers and applications to achieve Single Sign On
-and Federation.
+
+%description base
+The Ipsilon IdP server without installer
-%package tools
-Summary: Client tools for the Ipsilon IDP
+%package filesystem
+Summary: Package providing files required by Ipsilon
Group: System Environment/Base
License: GPLv3+
-Requires: python-requests
-Requires: python-lxml
-Requires: lasso-python
+
+%description filesystem
+Package providing basic directory structure required
+for all Ipsilon parts
+
+
+%package client
+Summary: Tools for configuring Ipsilon clients
+Group: System Environment/Base
+License: GPLv3+
+Requires: %{name}-filesystem = %{version}-%{release}
+Requires: %{name}-saml2-base = %{version}-%{release}
Requires: mod_auth_mellon
BuildArch: noarch
-%description tools
-Convenience install tools for the Ipsilon identity Provider
+%description client
+Client install tools
%package tools-ipa
summary: IPA helpers
Group: System Environment/Base
License: GPLv3+
-Requires: %{name}-tools = %{version}-%{release}
+Requires: %{name}-authkrb = %{version}-%{release}
+Requires: %{name}-authform = %{version}-%{release}
%if 0%{?rhel}
Requires: ipa-client
Requires: ipa-admintools
@@ -68,13 +93,25 @@ BuildArch: noarch
Convenience client install tools for IPA support in the Ipsilon identity Provider
+%package saml2-base
+Summary: SAML2 base
+Group: System Environment/Base
+License: GPLv3+
+Requires: lasso-python
+Requires: python-lxml
+BuildArch: noarch
+
+%description saml2-base
+Provides core SAML2 utilities
+
+
%package saml2
Summary: SAML2 provider plugin
Group: System Environment/Base
License: GPLv3+
Provides: ipsilon-provider = %{version}-%{release}
Requires: %{name} = %{version}-%{release}
-Requires: lasso-python
+Requires: %{name}-saml2-base = %{version}-%{release}
BuildArch: noarch
%description saml2
@@ -230,11 +267,28 @@ if [ $1 -eq 0 ]; then
fi
-%files
-%{_defaultdocdir}/%{name}-%{version}
+%files filesystem
+%doc COPYING README
+%dir %{_datadir}/ipsilon
+%dir %{_datadir}/ipsilon/templates
+%dir %{_datadir}/ipsilon/templates/install
+%dir %{python2_sitelib}/ipsilon
%{python2_sitelib}/ipsilon/__init__.py*
%{python2_sitelib}/ipsilon-*.egg-info
-%dir %{python2_sitelib}/ipsilon
+%dir %{python2_sitelib}/ipsilon/tools
+%{python2_sitelib}/ipsilon/tools/__init__.py*
+%{python2_sitelib}/ipsilon/tools/files.py*
+
+%files
+%{_sbindir}/ipsilon-server-install
+%{_datadir}/ipsilon/templates/install/*.conf
+%{_datadir}/ipsilon/ui/saml2sp
+%dir %{python2_sitelib}/ipsilon/helpers
+%{python2_sitelib}/ipsilon/helpers/common.py*
+%{python2_sitelib}/ipsilon/helpers/__init__.py*
+
+%files base
+%{_defaultdocdir}/%{name}-%{version}
%{python2_sitelib}/ipsilon/admin
%{python2_sitelib}/ipsilon/rest
%dir %{python2_sitelib}/ipsilon/login
@@ -251,17 +305,12 @@ fi
%{python2_sitelib}/ipsilon/root.py*
%{python2_sitelib}/ipsilon/util
%{_mandir}/man*/ipsilon*
-%dir %{_datadir}/ipsilon
-%dir %{_datadir}/ipsilon/templates
%{_datadir}/ipsilon/templates/*.html
%{_datadir}/ipsilon/templates/admin
%dir %{_datadir}/ipsilon/templates/login
%{_datadir}/ipsilon/templates/login/index.html
%{_datadir}/ipsilon/templates/login/form.html
%dir %{_datadir}/ipsilon/ui
-%dir %{python2_sitelib}/ipsilon/tools
-%{python2_sitelib}/ipsilon/tools/__init__.py*
-%{python2_sitelib}/ipsilon/tools/files.py*
%{_datadir}/ipsilon/ui/css
%{_datadir}/ipsilon/ui/img
%{_datadir}/ipsilon/ui/js
@@ -270,24 +319,18 @@ fi
%dir %attr(0700,ipsilon,ipsilon) %{_sharedstatedir}/ipsilon
%dir %attr(0700,ipsilon,ipsilon) %{_sysconfdir}/ipsilon
-%files tools
-%doc COPYING README
-%dir %{python2_sitelib}/ipsilon/helpers
-%{python2_sitelib}/ipsilon/helpers/common.py*
-%{python2_sitelib}/ipsilon/helpers/__init__.py*
-%{_datadir}/ipsilon/templates/install/saml2
-%{_datadir}/ipsilon/ui/saml2sp
+%files client
%{_bindir}/ipsilon-client-install
-%{_sbindir}/ipsilon-server-install
-%dir %{_datadir}/ipsilon/templates/install
-%{_datadir}/ipsilon/templates/install/*.conf
+%{_datadir}/ipsilon/templates/install/saml2
%files tools-ipa
%{python2_sitelib}/ipsilon/helpers/ipa.py*
-%files saml2
-%{python2_sitelib}/ipsilon/tools/certs.py*
+%files saml2-base
%{python2_sitelib}/ipsilon/tools/saml2metadata.py*
+%{python2_sitelib}/ipsilon/tools/certs.py*
+
+%files saml2
%{python2_sitelib}/ipsilon/providers/saml2*
%{_datadir}/ipsilon/templates/saml2