blob: 00b8e99662167cfbf5951e358cd56c91f96c6258 [file] [log] [blame]
%{!?sources_gpg: %{!?dlrn:%global sources_gpg 1} }
%global sources_gpg_sign 0x2426b928085a020d8a90d0d879ab7008d0896c8a
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
# we are excluding some BRs from automatic generator
%global excluded_brs doc8 bandit pre-commit hacking flake8-import-order whereto
# Exclude sphinx from BRs if docs are disabled
%if ! 0%{?with_doc}
%global excluded_brs %{excluded_brs} sphinx openstackdocstheme
%endif
%global library osc-placement
%global module osc_placement
%global with_doc 1
Name: python-%{library}
Version: XXX
Release: XXX
Summary: OpenStackClient plugin for the Placement service
License: Apache-2.0
URL: https://github.com/openstack/osc-placement
Source0: http://tarballs.openstack.org/%{library}/%{library}-%{upstream_version}.tar.gz
# Required for tarball sources verification
%if 0%{?sources_gpg} == 1
Source101: http://tarballs.openstack.org/%{library}/%{library}-%{upstream_version}.tar.gz.asc
Source102: https://releases.openstack.org/_static/%{sources_gpg_sign}.txt
%endif
BuildArch: noarch
# Required for tarball sources verification
%if 0%{?sources_gpg} == 1
BuildRequires: /usr/bin/gpgv2
BuildRequires: openstack-macros
%endif
%description
OpenStackClient plugin for the Placement service
This is an OpenStackClient plugin, that provides CLI for the Placement service.
Python API binding is not implemented - Placement API consumers are encouraged
to use the REST API directly, CLI is provided only for convenience of users.
%package -n python3-%{library}
Summary: OpenStackClient plugin for the Placement service
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
BuildRequires: git-core
%description -n python3-%{library}
OpenStackClient plugin for the Placement service.
This is an OpenStackClient plugin, that provides CLI for the Placement service.
Python API binding is not implemented - Placement API consumers are encouraged
to use the REST API directly, CLI is provided only for convenience of users.
%package -n python3-%{library}-tests
Summary: OpenStackClient plugin for the Placement service tests
Requires: python3-%{library} = %{version}-%{release}
Requires: python3-mock
Requires: python3-oslotest
Requires: python3-subunit
Requires: python3-testrepository
Requires: python3-stestr
Requires: python3-openstackclient
%description -n python3-%{library}-tests
OpenStackClient plugin for the Placement service tests
This package contains the test files.
%if 0%{?with_doc}
%package -n python-%{library}-doc
Summary: OpenStackClient plugin for the Placement service documentation
%description -n python-%{library}-doc
OpenStackClient plugin for the Placement service.
This package contains the documentation.
%endif
%prep
# Required for tarball sources verification
%if 0%{?sources_gpg} == 1
%{gpgverify} --keyring=%{SOURCE102} --signature=%{SOURCE101} --data=%{SOURCE0}
%endif
%autosetup -n %{library}-%{upstream_version} -S git
sed -i /^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d tox.ini
sed -i "s/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/" tox.ini
sed -i /^minversion.*/d tox.ini
sed -i /^requires.*virtualenv.*/d tox.ini
sed -i '/sphinx-build/ s/-W//' tox.ini
# Exclude some bad-known BRs
for pkg in %{excluded_brs}; do
for reqfile in doc/requirements.txt test-requirements.txt; do
if [ -f $reqfile ]; then
sed -i /^${pkg}.*/d $reqfile
fi
done
done
# Automatic BR generation
%generate_buildrequires
%if 0%{?with_doc}
%pyproject_buildrequires -t -e %{default_toxenv},docs
%else
%pyproject_buildrequires -t -e %{default_toxenv}
%endif
%build
%pyproject_wheel
%if 0%{?with_doc}
# generate html docs
%tox -e docs
# remove the sphinx-build-3 leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
%endif
%install
%pyproject_install
%check
%tox -e %{default_toxenv}
%files -n python3-%{library}
%license LICENSE
%{python3_sitelib}/%{module}
%{python3_sitelib}/%{module}-*.dist-info
%exclude %{python3_sitelib}/%{module}/tests
%files -n python3-%{library}-tests
%license LICENSE
%{python3_sitelib}/%{module}/tests
%if 0%{?with_doc}
%files -n python-%{library}-doc
%license LICENSE
%doc doc/build/html README.rst
%endif
%changelog