Improve spec file
authorSimo Sorce <simo@redhat.com>
Tue, 11 Nov 2014 23:34:58 +0000 (18:34 -0500)
committerPatrick Uiterwijk <puiterwijk@redhat.com>
Wed, 12 Nov 2014 22:48:16 +0000 (23:48 +0100)
Add missing dependencies.
Split into smaller packages so that admins can choose what to install and
what dependencies to drag in.

Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
contrib/fedora/ipsilon.spec

index a891713..a28cbf3 100644 (file)
@@ -1,5 +1,5 @@
 Name:          ipsilon
-Version:       0.2.5
+Version:       0.2.6
 Release:       1%{?dist}
 Summary:       An Identity Provider Server
 
@@ -11,15 +11,14 @@ Source0:    ipsilon-%{version}.tar.gz
 BuildRequires: python2-devel
 BuildRequires: python-setuptools
 BuildRequires: lasso-python
+BuildRequires:  python-openid, python-openid-cla, python-openid-teams
 Requires:       ipsilon-tools = %{version}-%{release}
-Requires:      lasso-python
+Requires:       ipsilon-provider = %{version}-%{release}
 Requires:      mod_wsgi
-Requires:      mod_auth_kerb
 Requires:       mod_intercept_form_submit
 Requires:       python-cherrypy
 Requires:       python-jinja2
 Requires:       python-lxml
-Requires:       python-pam
 Requires:       python-sqlalchemy
 Requires(pre):  shadow-utils
 Requires(post): %_sbindir/semanage, %_sbindir/restorecon
@@ -44,15 +43,80 @@ Requires:   mod_auth_mellon
 Convenience client install tools for the Ipsilon identity Provider
 
 
+%package saml2
+Summary:        SAML2 provider plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Provides:       ipsilon-provider = %{version}-%{release}
+Requires:       lasso-python
+
+%description saml2
+Provides a SAML2 provider plugin for the Ipsilon identity Provider
+
+
+%package openid
+Summary:        Openid provider plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Provides:       ipsilon-provider = %{version}-%{release}
+Requires:       python-openid
+Requires:       python-openid-cla
+Requires:       python-openid-teams
+
+%description openid
+Provides an OpenId provider plugin for the Ipsilon identity Provider
+
+
+%package authfas
+Summary:        Fedora Authentication System login plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Requires:       python-fedora
+
+%description authfas
+Provides a login plugin to authenticate agaist the Fedora Authentication System
+
+
+%package authpam
+Summary:        PAM based login plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Requires:       python-pam
+
+%description authpam
+Provides a login plugin to authenticate agaist the local PAM stack
+
+
+%package authkrb
+Summary:        mod_auth_kerb based login plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Requires:      mod_auth_kerb
+
+%description authkrb
+Provides a login plugin to allow authentication via the mod_auth_kerb Apache
+module.
+
+
+%package authldap
+Summary:        mod_auth_kerb based login plugin
+Group:          System Environment/Base
+License:        GPLv3+
+Requires:       python-ldap
+
+%description authldap
+Provides a login plugin to allow authentication and info retrieval via LDAP.
+
+
 %prep
 %setup -q
 
 
 %build
-CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
+CFLAGS="%{optflags}" %{__python} setup.py build
 
 %install
-%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
+%{__python} setup.py install --skip-build --root %{buildroot}
 mkdir -p %{buildroot}%{_sbindir}
 install -d -m 0700 %{buildroot}%{_sharedstatedir}/ipsilon
 mv %{buildroot}/%{_bindir}/ipsilon %{buildroot}/%{_sbindir}
@@ -85,16 +149,22 @@ fi
 %{_defaultdocdir}/%{name}-%{version}
 %{python2_sitelib}/ipsilon-*.egg-info
 %{python2_sitelib}/ipsilon/admin/*
-%{python2_sitelib}/ipsilon/login/*
-%{python2_sitelib}/ipsilon/info/*
-%{python2_sitelib}/ipsilon/providers/*
+%{python2_sitelib}/ipsilon/login/__init__*
+%{python2_sitelib}/ipsilon/login/common*
+%{python2_sitelib}/ipsilon/login/authform*
+%{python2_sitelib}/ipsilon/login/authtest*
+%{python2_sitelib}/ipsilon/info/__init__*
+%{python2_sitelib}/ipsilon/info/common*
+%{python2_sitelib}/ipsilon/info/nss*
+%{python2_sitelib}/ipsilon/providers/__init__*
+%{python2_sitelib}/ipsilon/providers/common*
 %{python2_sitelib}/ipsilon/root.py*
 %{python2_sitelib}/ipsilon/util/*
 %{_mandir}/man*/ipsilon*
 %{_datadir}/ipsilon/templates/*.html
 %{_datadir}/ipsilon/templates/admin/*
-%{_datadir}/ipsilon/templates/login/*
-%{_datadir}/ipsilon/templates/saml2/*
+%{_datadir}/ipsilon/templates/login/index.html
+%{_datadir}/ipsilon/templates/login/form.html
 %{_datadir}/ipsilon/templates/install/*.conf
 %{_datadir}/ipsilon/ui/css/*
 %{_datadir}/ipsilon/ui/img/*
@@ -113,3 +183,25 @@ fi
 %{_datadir}/ipsilon/templates/install/saml2/sp.conf
 %{_datadir}/ipsilon/ui/saml2sp/*
 %{_bindir}/ipsilon-client-install
+
+%files saml2
+%{python2_sitelib}/ipsilon/providers/saml2*
+%{_datadir}/ipsilon/templates/saml2/*
+
+%files openid
+%{python2_sitelib}/ipsilon/providers/openid*
+%{_datadir}/ipsilon/templates/openid/*
+
+%files authfas
+%{python2_sitelib}/ipsilon/login/authfas*
+
+%files authpam
+%{python2_sitelib}/ipsilon/login/authpam*
+
+%files authkrb
+%{python2_sitelib}/ipsilon/login/authkrb*
+%{_datadir}/ipsilon/templates/login/krb.html
+
+%files authldap
+%{python2_sitelib}/ipsilon/login/authldap*
+%{python2_sitelib}/ipsilon/info/infoldap*