c2f1fe1
%global srcname keycloak-httpd-client-install
c2f1fe1
%global summary Tools to configure Apache HTTPD as Keycloak client
c2f1fe1
c2f1fe1
%if 0%{?fedora}
c2f1fe1
%global with_python3 1
c2f1fe1
%endif
c2f1fe1
c2f1fe1
Name:           %{srcname}
a920da5
Version:        0.6
c2f1fe1
Release:        1%{?dist}
c2f1fe1
Summary:        %{summary}
c2f1fe1
c2f1fe1
%global git_tag RELEASE_%(r=%{version}; echo $r | tr '.' '_')
c2f1fe1
c2f1fe1
License:        GPLv3
c2f1fe1
URL:            https://github.com/jdennis/keycloak-httpd-client-install
c2f1fe1
Source0:        https://github.com/jdennis/keycloak-httpd-client-install/archive/%{git_tag}.tar.gz#/%{srcname}-%{version}.tar.gz
c2f1fe1
c2f1fe1
BuildArch:      noarch
c2f1fe1
c2f1fe1
BuildRequires:  python2-devel
c2f1fe1
%if 0%{?with_python3}
c2f1fe1
BuildRequires:  python3-devel
c2f1fe1
%endif
c2f1fe1
c2f1fe1
Requires:       %{_bindir}/keycloak-httpd-client-install
c2f1fe1
c2f1fe1
%description
c2f1fe1
Keycloak is a federated Identity Provider (IdP). Apache HTTPD supports
c2f1fe1
a variety of authentication modules which can be configured to utilize
c2f1fe1
a Keycloak IdP to perform authentication. This package contains
c2f1fe1
libraries and tools which can automate and simplify configuring an
c2f1fe1
Apache HTTPD authentication module and registering as a client of a
c2f1fe1
Keycloak IdP.
c2f1fe1
c2f1fe1
%package -n python2-%{srcname}
c2f1fe1
Summary:        %{summary}
c2f1fe1
c2f1fe1
%{?python_provide:%python_provide python2-%{srcname}}
c2f1fe1
c2f1fe1
Requires:       %{name} = %{version}-%{release}
c2f1fe1
Requires:       python-requests
c2f1fe1
Requires:       python-requests-oauthlib
c2f1fe1
Requires:       python-jinja2
c2f1fe1
Requires:       %{_bindir}/keycloak-httpd-client-install
c2f1fe1
c2f1fe1
%description -n python2-%{srcname}
c2f1fe1
Keycloak is an authentication server. This package contains libraries and
c2f1fe1
programs which can invoke the Keycloak REST API and configure clients
c2f1fe1
of a Keycloak server.
c2f1fe1
c2f1fe1
%if 0%{?with_python3}
c2f1fe1
%package -n python3-%{srcname}
c2f1fe1
Summary:        %{summary}
c2f1fe1
c2f1fe1
%{?python_provide:%python_provide python3-%{srcname}}
c2f1fe1
c2f1fe1
Requires:       %{name} = %{version}-%{release}
c2f1fe1
Requires:       python3-requests
c2f1fe1
Requires:       python3-requests-oauthlib
c2f1fe1
Requires:       python3-jinja2
c2f1fe1
c2f1fe1
%description -n python3-%{srcname}
c2f1fe1
Keycloak is an authentication server. This package contains libraries and
c2f1fe1
programs which can invoke the Keycloak REST API and configure clients
c2f1fe1
of a Keycloak server.
c2f1fe1
c2f1fe1
%endif
c2f1fe1
c2f1fe1
%prep
c2f1fe1
%autosetup -n %{srcname}-%{version}
c2f1fe1
c2f1fe1
%build
c2f1fe1
%py2_build
c2f1fe1
%if 0%{?with_python3}
c2f1fe1
%py3_build
c2f1fe1
%endif
c2f1fe1
c2f1fe1
%install
c2f1fe1
# Must do the python2 install first because the scripts in /usr/bin are
c2f1fe1
# overwritten with every setup.py install, and in general we want the
c2f1fe1
# python3 version to be the default.
c2f1fe1
%py2_install
c2f1fe1
%if 0%{?with_python3}
c2f1fe1
# py3_install won't overwrite files if they have a timestamp greater-than
c2f1fe1
# or equal to the py2 installed files. If both the py2 and py3 builds execute
c2f1fe1
# quickly the files end up with the same timestamps thus leaving the py2
c2f1fe1
# version in the py3 install. Therefore remove any files susceptible to this.
c2f1fe1
rm %{buildroot}%{_bindir}/keycloak-httpd-client-install
c2f1fe1
%py3_install
c2f1fe1
%endif
c2f1fe1
c2f1fe1
install -d -m 755 %{buildroot}/%{_mandir}/man8
c2f1fe1
install -c -m 644 doc/keycloak-httpd-client-install.8 %{buildroot}/%{_mandir}/man8
c2f1fe1
c2f1fe1
%files
c2f1fe1
%license LICENSE.txt
c2f1fe1
%doc README.md doc/ChangeLog
c2f1fe1
%{_datadir}/%{srcname}/
c2f1fe1
c2f1fe1
# Note that there is no %%files section for the unversioned python module if we are building for several python runtimes
c2f1fe1
%files -n python2-%{srcname}
c2f1fe1
%{python2_sitelib}/*
c2f1fe1
%if ! 0%{?with_python3}
c2f1fe1
%{_bindir}/keycloak-httpd-client-install
c2f1fe1
%{_mandir}/man8/*
c2f1fe1
%endif
c2f1fe1
c2f1fe1
%if 0%{?with_python3}
c2f1fe1
%files -n python3-%{srcname}
c2f1fe1
%{python3_sitelib}/*
c2f1fe1
%{_bindir}/keycloak-httpd-client-install
c2f1fe1
%{_mandir}/man8/*
c2f1fe1
%endif
c2f1fe1
c2f1fe1
%changelog
a920da5
* Wed Mar  1 2017 John Dennis <jdennis@redhat.com> - 0.6-1
a920da5
- Resolves: rhbz#1427720, if --mellon-root is not supplied and defaults to /
a920da5
  you end up with double slashes in entityId and endpoints
a920da5
- add --tls-verify option to control python-requests behavor when
a920da5
  using tls to connect. With this option you can use a self-signed
a920da5
  cert or point to a CA bundle.
a920da5
- Fix warnings and checks when using client originate method
a920da5
  'registration' with 'anonymous' authentication.
a920da5
2c07c64
* Fri Jan  6 2017 John Dennis <jdennis@redhat.com> - 0.5-1
2c07c64
- Resolves: bug #1410938 Using default ports produces bad request error
2c07c64
  Strip the port from the URL if it matches the scheme (e.g. 80 for
2c07c64
  http and 443 for https)
2c07c64
2959f7c
* Mon Jun 27 2016 John Dennis <jdennis@redhat.com> - 0.4-1
2959f7c
- new upstream
2959f7c
  See ChangeLog for details
2959f7c
c2f1fe1
* Fri May 20 2016 John Dennis <jdennis@redhat.com> - 0.3-1
c2f1fe1
- new upstream
c2f1fe1
  See ChangeLog for details
c2f1fe1
c2f1fe1
* Tue May 17 2016 John Dennis <jdennis@redhat.com> - 0.2-1
c2f1fe1
- new upstream
c2f1fe1
- Add keycloak-httpd-client-install.8 man page
c2f1fe1
c2f1fe1
* Fri May 13 2016 John Dennis <jdennis@redhat.com> - 0.1-1
c2f1fe1
- Initial version