From 6a9d1ab50be0360711dfbe6d89a403baf34c687b Mon Sep 17 00:00:00 2001 From: Aurélien Bompard Date: May 24 2022 10:47:36 +0000 Subject: Update the specfile Signed-off-by: Aurélien Bompard --- diff --git a/contrib/fedora/ipsilon.spec b/contrib/fedora/ipsilon.spec index 06fa53e..6ab5478 100644 --- a/contrib/fedora/ipsilon.spec +++ b/contrib/fedora/ipsilon.spec @@ -5,21 +5,21 @@ Version: 3.0.0 Release: 1%{?builddate}%{?gittag}%{?dist} Summary: An Identity Provider Server -Group: System Environment/Base License: GPLv3+ -URL: https://fedorahosted.org/ipsilon/ -Source0: https://fedorahosted.org/released/ipsilon/ipsilon-%{version}.tar.gz -BuildArch: noarch +URL: https://pagure.io/ipsilon +Source0: https://pagure.io/%{name}/archive/v%{version}/ipsilon-%{version}.tar.gz +BuildArch: noarch -BuildRequires: python2-devel -BuildRequires: python-setuptools -BuildRequires: lasso-python >= 2.5.0 -BuildRequires: python-openid, python-openid-cla, python-openid-teams -BuildRequires: m2crypto +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-lasso +BuildRequires: python3-openid, python3-openid-cla, python3-openid-teams +BuildRequires: python3-m2crypto +BuildRequires: make -Requires: python-setuptools -Requires: python-requests +Requires: python3-setuptools +Requires: python3-requests Requires: %{name}-base = %{version}-%{release} %description @@ -30,24 +30,20 @@ and Federation. %package base Summary: Ipsilon base IDP server -Group: System Environment/Base License: GPLv3+ Requires: httpd Requires: mod_ssl Requires: %{name}-filesystem = %{version}-%{release} Requires: %{name}-provider = %{version}-%{release} -Requires: mod_wsgi -Requires: python-cherrypy -Requires: python-jinja2 -Requires: python-lxml -Requires: python-sqlalchemy +Requires: python3-mod_wsgi +Requires: python3-cherrypy +Requires: python3-jinja2 +Requires: python3-lxml +Requires: python3-sqlalchemy Requires: open-sans-fonts Requires: fontawesome-fonts Requires: pam Requires(pre): shadow-utils -Requires(post): %_sbindir/semanage, %_sbindir/restorecon -Requires(postun): %_sbindir/semanage - %description base The Ipsilon IdP server without installer @@ -55,7 +51,6 @@ The Ipsilon IdP server without installer %package filesystem Summary: Package providing files required by Ipsilon -Group: System Environment/Base License: GPLv3+ %description filesystem @@ -65,14 +60,13 @@ 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 >= 0.11.0 +Requires: mod_auth_mellon Requires: mod_auth_openidc Requires: mod_ssl -Requires: python-requests +Requires: python3-requests BuildArch: noarch %description client @@ -81,10 +75,10 @@ Client install tools %package tools-ipa summary: IPA helpers -Group: System Environment/Base License: GPLv3+ Requires: %{name}-authgssapi = %{version}-%{release} Requires: %{name}-authform = %{version}-%{release} +Requires: %{name}-infosssd = %{version}-%{release} %if 0%{?rhel} Requires: ipa-client Requires: ipa-admintools @@ -100,10 +94,10 @@ Convenience client install tools for IPA support in the Ipsilon identity Provide %package saml2-base Summary: SAML2 base -Group: System Environment/Base License: GPLv3+ -Requires: lasso-python >= 2.5.0 -Requires: python-lxml +Requires: openssl +Requires: python3-lasso +Requires: python3-lxml BuildArch: noarch %description saml2-base @@ -112,10 +106,9 @@ 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: %{name}-base = %{version}-%{release} Requires: %{name}-saml2-base = %{version}-%{release} BuildArch: noarch @@ -125,26 +118,23 @@ 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: %{name} = %{version}-%{release} -Requires: python-openid -Requires: python-openid-cla -Requires: python-openid-teams +Requires: %{name}-base = %{version}-%{release} +Requires: python3-openid +Requires: python3-openid-cla +Requires: python3-openid-teams BuildArch: noarch %description openid Provides an OpenId provider plugin for the Ipsilon identity Provider - %package openidc Summary: OpenID Connect provider plugin -Group: System Environment/Base License: GPLv3+ Provides: ipsilon-provider = %{version}-%{release} Requires: %{name} = %{version}-%{release} -Requires: python-jwcrypto +Requires: python3-jwcrypto BuildArch: noarch %description openidc @@ -154,11 +144,10 @@ identity Provider %package authfas Summary: Fedora Authentication System login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} +Requires: %{name}-base = %{version}-%{release} Requires: %{name}-infofas = %{version}-%{release} -Requires: python-fedora +Requires: python3-fedora BuildArch: noarch %description authfas @@ -167,9 +156,8 @@ Provides a login plugin to authenticate against the Fedora Authentication System %package authform Summary: mod_intercept_form_submit login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} +Requires: %{name}-base = %{version}-%{release} Requires: mod_intercept_form_submit BuildArch: noarch @@ -179,10 +167,9 @@ Provides a login plugin to authenticate with mod_intercept_form_submit %package authpam Summary: PAM based login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} -Requires: python-pam +Requires: %{name}-base = %{version}-%{release} +Requires: python3-pam BuildArch: noarch %description authpam @@ -191,9 +178,8 @@ Provides a login plugin to authenticate against the local PAM stack %package authgssapi Summary: mod_auth_gssapi based login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} +Requires: %{name}-base = %{version}-%{release} Requires: mod_auth_gssapi BuildArch: noarch @@ -204,49 +190,65 @@ Apache module. %package authldap Summary: LDAP info and login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} -Requires: python-ldap +Requires: %{name}-base = %{version}-%{release} +Requires: python3-ldap BuildArch: noarch %description authldap Provides a login plugin to allow authentication and info retrieval via LDAP. + %package infofas Summary: Fedora Authentication System login plugin -Group: System Environment/Base License: GPLv3+ -Requires: %{name} = %{version}-%{release} -Requires: python-fedora +Requires: %{name}-base = %{version}-%{release} +Requires: python3-fedora BuildArch: noarch %description infofas Provides an info plugin to retrieve info from the Fedora Authentication System + %package infosssd -Summary: SSSD & DBus-based identity plugin -Group: System Environment/Base +Summary: SSSD based identity plugin License: GPLv3+ -Requires: %{name} = %{version}-%{release} -Requires: dbus +Requires: %{name}-base = %{version}-%{release} +Requires: python3-sssdconfig Requires: libsss_simpleifp Requires: sssd >= 1.12.4 BuildArch: noarch %description infosssd -Provides an info plugin to allow retrieval via DBus and SSSD. +Provides an info plugin to allow retrieval via SSSD. + +%package theme-Fedora +Summary: Fedora Account System theme +Requires: %{name}-base = %{version}-%{release} +BuildArch: noarch + +%description theme-Fedora +Provides a theme for Ipsilon used for the Fedora Account System. + +%package theme-openSUSE +Summary: openSUSE Accounts theme +Requires: %{name}-base = %{version}-%{release} +BuildArch: noarch + +%description theme-openSUSE +Provides a theme for Ipsilon used for openSUSE Accounts. %prep -%setup -q +%autosetup -p1 %build -CFLAGS="%{optflags}" %{__python} setup.py build +make manpages +%py3_build %install -%{__python} setup.py install --skip-build --root %{buildroot} +%py3_install mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_libexecdir}/ipsilon mkdir -p %{buildroot}%{_defaultdocdir} @@ -254,12 +256,11 @@ mkdir -p %{buildroot}%{_localstatedir}/cache/ipsilon # These 0700 permissions are because ipsilon will store private keys here install -d -m 0700 %{buildroot}%{_sharedstatedir}/ipsilon install -d -m 0700 %{buildroot}%{_sysconfdir}/ipsilon -mv %{buildroot}/%{_bindir}/ipsilon %{buildroot}/%{_libexecdir}/ipsilon -mv %{buildroot}/%{_bindir}/ipsilon-db2conf %{buildroot}/%{_sbindir} +mv %{buildroot}/%{_bindir}/ipsilon %{buildroot}/%{_libexecdir}/ipsilon/ipsilon.py mv %{buildroot}/%{_bindir}/ipsilon-server-install %{buildroot}/%{_sbindir} mv %{buildroot}/%{_bindir}/ipsilon-upgrade-database %{buildroot}/%{_sbindir} mv %{buildroot}%{_defaultdocdir}/%{name} %{buildroot}%{_defaultdocdir}/%{name}-%{version} -rm -fr %{buildroot}%{python2_sitelib}/tests +rm -fr %{buildroot}%{python3_sitelib}/tests ln -s %{_datadir}/fonts %{buildroot}%{_datadir}/ipsilon/ui/fonts mkdir -p %{buildroot}%{_sysconfdir}/pam.d @@ -271,69 +272,83 @@ cp %{buildroot}%{_datadir}/ipsilon/templates/install/pam/ipsilon.pamd %{buildroo # 2. It increases build time a lot # 3. It adds more build dependencies (namely postgresql server and client libraries) -%pre +%pre base getent group ipsilon >/dev/null || groupadd -r ipsilon getent passwd ipsilon >/dev/null || \ useradd -r -g ipsilon -d %{_sharedstatedir}/ipsilon -s /sbin/nologin \ -c "Ipsilon Server" ipsilon exit 0 -%post -semanage fcontext -a -t httpd_var_lib_t '%{_sharedstatedir}/ipsilon(/.*)?' || : -semanage fcontext -a -t var_lib_t '%{_sharedstatedir}/ipsilon(/.*)/*.conf' || : -restorecon -R %{_sharedstatedir}/ipsilon || : - -%postun -# Clean up after package removal -if [ $1 -eq 0 ]; then - semanage fcontext -d -t var_lib_t '%{_sharedstatedir}/ipsilon(/.*)/*.conf' || : - semanage fcontext -d -t httpd_var_lib_t '%{_sharedstatedir}/ipsilon(/.*)?' || : -fi - %files filesystem -%doc COPYING README.md +%doc README.md +%license COPYING %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/tools -%{python2_sitelib}/ipsilon/tools/__init__.py* -%{python2_sitelib}/ipsilon/tools/files.py* +%dir %{python3_sitelib}/ipsilon +%{python3_sitelib}/ipsilon/__init__.py* +%{python3_sitelib}/ipsilon-*.egg-info +%dir %{python3_sitelib}/ipsilon/__pycache__/ +%{python3_sitelib}/ipsilon/__pycache__/__init__.* +%dir %{python3_sitelib}/ipsilon/tools +%{python3_sitelib}/ipsilon/tools/__init__.py* +%{python3_sitelib}/ipsilon/tools/files.py* +%dir %{python3_sitelib}/ipsilon/tools/__pycache__ +%{python3_sitelib}/ipsilon/tools/__pycache__/__init__.* +%{python3_sitelib}/ipsilon/tools/__pycache__/files.* %files -%{_sbindir}/ipsilon-db2conf +%license COPYING %{_sbindir}/ipsilon-server-install -%{_sbindir}/ipsilon-upgrade-database +%{_bindir}/ipsilon-db2conf %{_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* +%dir %{python3_sitelib}/ipsilon/helpers +%{python3_sitelib}/ipsilon/helpers/common.py* +%{python3_sitelib}/ipsilon/helpers/__init__.py* +%dir %{python3_sitelib}/ipsilon/helpers/__pycache__ +%{python3_sitelib}/ipsilon/helpers/__pycache__/__init__.* +%{python3_sitelib}/ipsilon/helpers/__pycache__/common.* +%{_mandir}/man*/ipsilon-server-install.1* %files base +%license COPYING +%doc examples %{_defaultdocdir}/%{name}-%{version} -%{python2_sitelib}/ipsilon/admin -%{python2_sitelib}/ipsilon/authz -%{python2_sitelib}/ipsilon/rest -%{python2_sitelib}/ipsilon/tools/dbupgrade.py* -%dir %{python2_sitelib}/ipsilon/login -%{python2_sitelib}/ipsilon/login/__init__* -%{python2_sitelib}/ipsilon/login/common* -%{python2_sitelib}/ipsilon/login/authtest* -%dir %{python2_sitelib}/ipsilon/info -%{python2_sitelib}/ipsilon/info/__init__* -%{python2_sitelib}/ipsilon/info/common* -%{python2_sitelib}/ipsilon/info/infonss* -%dir %{python2_sitelib}/ipsilon/providers -%{python2_sitelib}/ipsilon/providers/__init__* -%{python2_sitelib}/ipsilon/providers/common* -%{python2_sitelib}/ipsilon/root.py* -%{python2_sitelib}/ipsilon/util -%{python2_sitelib}/ipsilon/user -%{_mandir}/man*/ipsilon* +%{python3_sitelib}/ipsilon/admin +%{python3_sitelib}/ipsilon/authz +%{python3_sitelib}/ipsilon/rest +%{python3_sitelib}/ipsilon/tools/dbupgrade.py* +%{python3_sitelib}/ipsilon/tools/__pycache__/dbupgrade.* +%dir %{python3_sitelib}/ipsilon/login +%{python3_sitelib}/ipsilon/login/__init__* +%{python3_sitelib}/ipsilon/login/common* +%{python3_sitelib}/ipsilon/login/authtest* +%dir %{python3_sitelib}/ipsilon/login/__pycache__ +%{python3_sitelib}/ipsilon/login/__pycache__/__init__* +%{python3_sitelib}/ipsilon/login/__pycache__/common* +%{python3_sitelib}/ipsilon/login/__pycache__/authtest* +%dir %{python3_sitelib}/ipsilon/info +%{python3_sitelib}/ipsilon/info/__init__* +%{python3_sitelib}/ipsilon/info/common* +%{python3_sitelib}/ipsilon/info/infonss* +%dir %{python3_sitelib}/ipsilon/info/__pycache__ +%{python3_sitelib}/ipsilon/info/__pycache__/__init__* +%{python3_sitelib}/ipsilon/info/__pycache__/common* +%{python3_sitelib}/ipsilon/info/__pycache__/infonss* +%dir %{python3_sitelib}/ipsilon/providers +%{python3_sitelib}/ipsilon/providers/__init__* +%{python3_sitelib}/ipsilon/providers/common* +%dir %{python3_sitelib}/ipsilon/providers/__pycache__ +%{python3_sitelib}/ipsilon/providers/__pycache__/__init__* +%{python3_sitelib}/ipsilon/providers/__pycache__/common* +%{python3_sitelib}/ipsilon/root.py* +%{python3_sitelib}/ipsilon/__pycache__/root.* +%{python3_sitelib}/ipsilon/util +%{python3_sitelib}/ipsilon/user +%{_mandir}/man*/ipsilon.7* +%{_mandir}/man*/ipsilon.conf.5* %{_datadir}/ipsilon/templates/*.html %{_datadir}/ipsilon/templates/admin %{_datadir}/ipsilon/templates/user @@ -347,61 +362,101 @@ fi %{_datadir}/ipsilon/ui/fonts %{_datadir}/ipsilon/ui/fonts-local %{_libexecdir}/ipsilon/ +%{_sbindir}/ipsilon-upgrade-database %dir %attr(0751,root,root) %{_sharedstatedir}/ipsilon %dir %attr(0751,root,root) %{_sysconfdir}/ipsilon %dir %attr(0750,ipsilon,apache) %{_localstatedir}/cache/ipsilon -%dir %{_datadir}/ipsilon/templates/install/pam -%{_sysconfdir}/pam.d/ipsilon -%{_datadir}/ipsilon/templates/install/pam/*.pamd +%config(noreplace) %{_sysconfdir}/pam.d/ipsilon +%dir %{_datadir}/ipsilon/themes %files client +%license COPYING %{_bindir}/ipsilon-client-install -%{_datadir}/ipsilon/templates/install/openidc %{_datadir}/ipsilon/templates/install/saml2 +%{_datadir}/ipsilon/templates/install/openidc +%{_mandir}/man*/ipsilon-client-install.1* %files tools-ipa -%{python2_sitelib}/ipsilon/helpers/ipa.py* +%license COPYING +%{python3_sitelib}/ipsilon/helpers/ipa.py* +%{python3_sitelib}/ipsilon/helpers/__pycache__/ipa.* %files saml2-base -%{python2_sitelib}/ipsilon/tools/saml2metadata.py* -%{python2_sitelib}/ipsilon/tools/certs.py* +%license COPYING +%{python3_sitelib}/ipsilon/tools/saml2metadata.py* +%{python3_sitelib}/ipsilon/tools/certs.py* +%{python3_sitelib}/ipsilon/tools/__pycache__/saml2metadata.* +%{python3_sitelib}/ipsilon/tools/__pycache__/certs.* %files saml2 -%{python2_sitelib}/ipsilon/providers/saml2* +%license COPYING +%{python3_sitelib}/ipsilon/providers/saml2* +%{python3_sitelib}/ipsilon/providers/__pycache__/saml2* %{_datadir}/ipsilon/templates/saml2 %files openid -%{python2_sitelib}/ipsilon/providers/openidp.py* -%{python2_sitelib}/ipsilon/providers/openid/ -%{_datadir}/ipsilon/templates/openid/ +%license COPYING +%{python3_sitelib}/ipsilon/providers/openidp.py* +%{python3_sitelib}/ipsilon/providers/__pycache__/openidp.* +%{python3_sitelib}/ipsilon/providers/openid/ +%{python3_sitelib}/ipsilon/providers/openid/__pycache__/ +%{_datadir}/ipsilon/templates/openid %files openidc -%{python2_sitelib}/ipsilon/providers/openidcp.py* -%{python2_sitelib}/ipsilon/providers/openidc/ -%{_datadir}/ipsilon/templates/openidc/ +%license COPYING +%{python3_sitelib}/ipsilon/providers/openidcp.py* +%{python3_sitelib}/ipsilon/providers/__pycache__/openidcp.* +%{python3_sitelib}/ipsilon/providers/openidc/ +%{python3_sitelib}/ipsilon/providers/openidc/__pycache__/ +%{_datadir}/ipsilon/templates/openidc %files authfas -%{python2_sitelib}/ipsilon/login/authfas* +%license COPYING +%{python3_sitelib}/ipsilon/login/authfas* +%{python3_sitelib}/ipsilon/login/__pycache__/authfas* %files authform -%{python2_sitelib}/ipsilon/login/authform* +%license COPYING +%{python3_sitelib}/ipsilon/login/authform* +%{python3_sitelib}/ipsilon/login/__pycache__/authform* %files authpam -%{python2_sitelib}/ipsilon/login/authpam* +%license COPYING +%{python3_sitelib}/ipsilon/login/authpam* +%{python3_sitelib}/ipsilon/login/__pycache__/authpam* +%{_datadir}/ipsilon/templates/install/pam %files authgssapi -%{python2_sitelib}/ipsilon/login/authgssapi* +%license COPYING +%{python3_sitelib}/ipsilon/login/authgssapi* +%{python3_sitelib}/ipsilon/login/__pycache__/authgssapi* %{_datadir}/ipsilon/templates/login/gssapi.html %files authldap -%{python2_sitelib}/ipsilon/login/authldap* -%{python2_sitelib}/ipsilon/info/infoldap* +%license COPYING +%{python3_sitelib}/ipsilon/login/authldap* +%{python3_sitelib}/ipsilon/info/infoldap* +%{python3_sitelib}/ipsilon/login/__pycache__/authldap* +%{python3_sitelib}/ipsilon/info/__pycache__/infoldap* + +%files infosssd +%license COPYING +%{python3_sitelib}/ipsilon/info/infosssd.* +%{python3_sitelib}/ipsilon/info/__pycache__/infosssd* %files infofas -%{python2_sitelib}/ipsilon/info/infofas.* +%license COPYING +%{python3_sitelib}/ipsilon/info/infofas.* +%{python3_sitelib}/ipsilon/info/__pycache__/infofas* + +%files theme-Fedora +%license COPYING +%{_datadir}/ipsilon/themes/Fedora + +%files theme-openSUSE +%license COPYING +%{_datadir}/ipsilon/themes/openSUSE -%files infosssd -%{python2_sitelib}/ipsilon/info/infosssd.* %changelog * Mon May 23 2022 Aurelien Bompard - 3.0.0-1