Blob Blame History Raw
%{!?_licensedir:%global license %%doc}
%global pypi_name os-client-config

%if 0%{?fedora}
%global with_python3 1
%endif

%{!?upstream_version: %global upstream_version %{version}%{?milestone}}

Name:           python-%{pypi_name}
Version:        1.16.0
Release:        2%{?dist}
Summary:        OpenStack Client Configuration Library
License:        ASL 2.0
URL:            https://github.com/openstack/%{pypi_name}
Source0:        https://pypi.python.org/packages/source/o/%{pypi_name}/%{pypi_name}-%{version}.tar.gz

BuildArch:      noarch

%description
The os-client-config is a library for collecting client configuration for
using an OpenStack cloud in a consistent and comprehensive manner. It
will find cloud config for as few as 1 cloud and as many as you want to
put in a config file. It will read environment variables and config files,
and it also contains some vendor specific default values so that you don't
have to know extra info to use OpenStack

* If you have a config file, you will get the clouds listed in it
* If you have environment variables, you will get a cloud named `envvars`
* If you have neither, you will get a cloud named `defaults` with base defaults

%package -n python2-%{pypi_name}
Summary:        %{summary}
%{?python_provide:%python_provide python2-%{pypi_name}}
Provides:  python-%{pypi_name} = %{version}-%{release}
Obsoletes: python-%{pypi_name} < 1.7.3
# compat for previous Delorean Trunk package
Provides:       os-client-config

BuildRequires:  git
BuildRequires:  python2-devel
BuildRequires:  python-setuptools
BuildRequires:  python-pbr

# Testing requirements
BuildRequires:  python-fixtures
BuildRequires:  python-glanceclient >= 0.18.0
BuildRequires:  python-jsonschema >= 2.0.0
BuildRequires:  python-keystoneclient >= 1.1.0
BuildRequires:  python-oslotest >= 1.10.0

# Requirements
BuildRequires:  python-appdirs >= 1.3.0
BuildRequires:  python-keystoneauth1 >= 2.1.0
BuildRequires:  python-requestsexceptions >= 1.1.1
BuildRequires:  PyYAML >= 3.1.0

Requires:       python-appdirs >= 1.3.0
Requires:       python-keystoneauth1 >= 2.1.0
Requires:       python-requestsexceptions >= 1.1.1
Requires:       PyYAML >= 3.1.0

%description -n python2-%{pypi_name}
The os-client-config is a library for collecting client configuration for
using an OpenStack cloud in a consistent and comprehensive manner. It
will find cloud config for as few as 1 cloud and as many as you want to
put in a config file. It will read environment variables and config files,
and it also contains some vendor specific default values so that you don't
have to know extra info to use OpenStack

* If you have a config file, you will get the clouds listed in it
* If you have environment variables, you will get a cloud named `envvars`
* If you have neither, you will get a cloud named `defaults` with base defaults

%package  -n python2-%{pypi_name}-doc
Summary:        Documentation for OpenStack os-client-config library
%{?python_provide:%python_provide python2-%{pypi_name}-doc}

BuildRequires:  python-sphinx
BuildRequires:  python-oslo-sphinx
BuildRequires:  python-reno

%description -n python2-%{pypi_name}-doc
Documentation for the os-client-config library.


%if 0%{?with_python3}
%package -n python3-%{pypi_name}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools
BuildRequires:  python3-pbr

# Testing requirements
BuildRequires:  python3-fixtures
BuildRequires:  python3-jsonschema >= 2.0.0
BuildRequires:  python3-keystoneclient >= 2.1.0
BuildRequires:  python3-oslotest >= 1.10.0

# Requirements
BuildRequires:  python3-appdirs >= 1.3.0
BuildRequires:  python3-keystoneauth1 >= 2.1.0
BuildRequires:  python3-requestsexceptions >= 1.1.1
BuildRequires:  python3-PyYAML >= 3.1.0

Requires:       python3-appdirs >= 1.3.0
Requires:       python3-keystoneauth1 >= 2.1.0
Requires:       python3-requestsexceptions >= 1.1.1
Requires:       python3-PyYAML >= 3.1.0

%description -n python3-%{pypi_name}
The os-client-config is a library for collecting client configuration for
using an OpenStack cloud in a consistent and comprehensive manner. It
will find cloud config for as few as 1 cloud and as many as you want to
put in a config file. It will read environment variables and config files,
and it also contains some vendor specific default values so that you don't
have to know extra info to use OpenStack

* If you have a config file, you will get the clouds listed in it
* If you have environment variables, you will get a cloud named `envvars`
* If you have neither, you will get a cloud named `defaults` with base defaults

%package -n    python3-%{pypi_name}-doc
Summary:       Documentation for OpenStack os-client-config library
%{?python_provide:%python_provide python3-%{pypi_name}-doc}
Obsoletes: python-%{pypi_name}-doc < 1.7.3

BuildRequires: python3-sphinx
BuildRequires: python3-oslo-sphinx

%description -n python3-%{pypi_name}-doc
Documentation for the os-client-config library.
%endif

%prep
%autosetup -n %{pypi_name}-%{upstream_version} -S git

# Let RPM handle the dependencies
rm -f test-requirements.txt requirements.txt

%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif

%install
%py2_install

# generate html doc
%{__python} setup.py build_sphinx
rm -rf doc/build/html/.{doctrees,buildinfo} doc/build/html/objects.inv

%if 0%{?with_python3}
%py3_install
%endif

%check
%{__python2} setup.py testr
# cleanup testrepository
rm -rf .testrepository
%if 0%{?with_python3}
%{__python3} setup.py testr
%endif

%files -n python2-%{pypi_name}
%doc ChangeLog CONTRIBUTING.rst PKG-INFO README.rst
%license LICENSE
%{python2_sitelib}/os_client_config
%{python2_sitelib}/*.egg-info

%files -n python2-%{pypi_name}-doc
%license LICENSE
%doc doc/build/html

%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%doc ChangeLog CONTRIBUTING.rst PKG-INFO README.rst
%license LICENSE
%{python3_sitelib}/os_client_config
%{python3_sitelib}/*.egg-info

%files -n python3-%{pypi_name}-doc
%license LICENSE
%doc doc/build/html
%endif

%changelog
* Sun May  8 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.16.0-2
- Also supply Provides for old python package

* Tue Mar 08 2016 Paul Belanger <pabelanger@redhat.com> - 1.16.0-1
- Update to 1.16.0

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Nov 19 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.7.4-3
- Added few missing BuildRequires: for python3 subpackage

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.4-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Mon Sep 21 2015 Alan Pevec <alan.pevec@redhat.com> 1.7.4-1
- Update to upstream 1.7.4

* Mon Sep 21 2015 Alan Pevec <alan.pevec@redhat.com> 1.7.3-1
- Update to upstream 1.7.3

* Fri Sep 18 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.7.1-1
- Update to 1.7.1 version

* Thu Sep 03 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.6.3-2
- Add explicit Provides: python-os-client-config for CBS Cloud buildroot
- also add missing python_provide macro for -doc subpackages
- Use pypi_name macro wherever possible

* Thu Sep 03 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.6.3-1
- Update to 1.6.3 version

* Thu Sep 03 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.2.0-3
- Try to follow some new snippets from Python guidelines

* Sat Aug 01 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.2.0-2
- enable python3 version
- Add missing Requires: python3-appdirs
- enable tests

* Mon Jul 27 2015 Parag Nemade <pnemade AT redhat DOT com> - 1.2.0-1
- Initial packaging