Switch to python3 for keystone service
python2 will retire in sometime, so we should start switch to python3. As there are no real consumers for rpm-packaging services specs, so switching services spec to python3 only. Also do not skip py3 while generating spec for keystone. Change-Id: Id8eba4dcfa9652967993c41af9161bad8559b9fd
This commit is contained in:
parent
405837ae10
commit
f633de2d83
@ -19,26 +19,37 @@ Source3: openstack-keystone.tmpfiles
|
||||
Source4: openstack-keystone.defaultconf
|
||||
Source5: openstack-keystone.README.config
|
||||
BuildRequires: openstack-macros
|
||||
BuildRequires: {{ py2pkg('Flask') }}
|
||||
BuildRequires: {{ py2pkg('WebTest') }}
|
||||
BuildRequires: {{ py2pkg('bcrypt') }}
|
||||
BuildRequires: {{ py2pkg('devel') }}
|
||||
BuildRequires: {{ py2pkg('fixtures') }}
|
||||
BuildRequires: {{ py2pkg('freezegun') }}
|
||||
BuildRequires: {{ py2pkg('lxml') }}
|
||||
BuildRequires: {{ py2pkg('mock') }}
|
||||
BuildRequires: {{ py2pkg('oslo.cache') }}
|
||||
BuildRequires: {{ py2pkg('oslo.config') }}
|
||||
BuildRequires: {{ py2pkg('oslotest') }}
|
||||
BuildRequires: {{ py2pkg('osprofiler') }}
|
||||
BuildRequires: {{ py2pkg('pbr') }}
|
||||
BuildRequires: {{ py2pkg('requests') }}
|
||||
BuildRequires: {{ py2pkg('scrypt') }}
|
||||
BuildRequires: {{ py2pkg('stestr') }}
|
||||
BuildRequires: {{ py2pkg('testresources') }}
|
||||
BuildRequires: {{ py2pkg('testtools') }}
|
||||
BuildRequires: {{ py2pkg('Flask', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('WebTest', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('bcrypt', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('devel', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('fixtures', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('freezegun', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('jsonschema', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('keystonemiddleware', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('ldappool', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('lxml', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('mock', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oauthlib', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslo.cache', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslo.config', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslo.db', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslo.messaging', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslo.policy', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('oslotest', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('osprofiler', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('passlib', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('pbr', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('pysaml2', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('requests', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('scrypt', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('sqlparse', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('stestr', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('testresources', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('testscenarios', py_versions=['py3']) }}
|
||||
BuildRequires: {{ py2pkg('testtools', py_versions=['py3']) }}
|
||||
BuildRequires: which
|
||||
Requires: python-{{ pypi_name }} = %{epoch}:%{version}-%{release}
|
||||
Requires: python3-{{ pypi_name }} = %{epoch}:%{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: libxmlsec1-openssl1
|
||||
@ -55,55 +66,55 @@ Keystone is a Python implementation of the OpenStack
|
||||
.
|
||||
This package contains the keystone python libraries.
|
||||
|
||||
%package -n python-{{ pypi_name }}
|
||||
%package -n python3-{{ pypi_name }}
|
||||
Summary: Keystone Python libraries
|
||||
Group: Applications/System
|
||||
Requires: {{ py2pkg('Babel') }}
|
||||
Requires: {{ py2pkg('Flask') }}
|
||||
Requires: {{ py2pkg('Paste') }}
|
||||
Requires: {{ py2pkg('PasteDeploy') }}
|
||||
Requires: {{ py2pkg('PyMySQL') }}
|
||||
Requires: {{ py2pkg('Routes') }}
|
||||
Requires: {{ py2pkg('SQLAlchemy') }}
|
||||
Requires: {{ py2pkg('WebOb') }}
|
||||
Requires: {{ py2pkg('bcrypt') }}
|
||||
Requires: {{ py2pkg('cryptography') }}
|
||||
Requires: {{ py2pkg('dogpile.cache') }}
|
||||
Requires: {{ py2pkg('jsonschema') }}
|
||||
Requires: {{ py2pkg('python-keystoneclient') }}
|
||||
Requires: {{ py2pkg('keystonemiddleware') }}
|
||||
Requires: {{ py2pkg('ldappool') }}
|
||||
Requires: {{ py2pkg('msgpack') }}
|
||||
Requires: {{ py2pkg('oauthlib') }}
|
||||
Requires: {{ py2pkg('oslo.cache') }}
|
||||
Requires: {{ py2pkg('oslo.concurrency') }}
|
||||
Requires: {{ py2pkg('oslo.config') }}
|
||||
Requires: {{ py2pkg('oslo.context') }}
|
||||
Requires: {{ py2pkg('oslo.db') }}
|
||||
Requires: {{ py2pkg('oslo.i18n') }}
|
||||
Requires: {{ py2pkg('oslo.log') }}
|
||||
Requires: {{ py2pkg('oslo.messaging') }}
|
||||
Requires: {{ py2pkg('oslo.middleware') }}
|
||||
Requires: {{ py2pkg('oslo.policy') }}
|
||||
Requires: {{ py2pkg('oslo.serialization') }}
|
||||
Requires: {{ py2pkg('oslo.utils') }}
|
||||
Requires: {{ py2pkg('osprofiler') }}
|
||||
Requires: {{ py2pkg('passlib') }}
|
||||
Requires: {{ py2pkg('pbr') }}
|
||||
Requires: {{ py2pkg('pycadf') }}
|
||||
Requires: {{ py2pkg('pysaml2') }}
|
||||
Requires: {{ py2pkg('python-memcached') }}
|
||||
Requires: {{ py2pkg('six') }}
|
||||
Requires: {{ py2pkg('sqlalchemy-migrate') }}
|
||||
Requires: {{ py2pkg('stevedore') }}
|
||||
Requires: {{ py2pkg('Babel', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('Flask', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('Paste', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('PasteDeploy', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('PyMySQL', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('Routes', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('SQLAlchemy', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('WebOb', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('bcrypt', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('cryptography', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('dogpile.cache', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('jsonschema', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('python-keystoneclient', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('keystonemiddleware', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('ldappool', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('msgpack', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oauthlib', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.cache', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.concurrency', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.config', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.context', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.db', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.i18n', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.log', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.messaging', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.middleware', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.policy', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.serialization', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('oslo.utils', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('osprofiler', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('passlib', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('pbr', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('pycadf', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('pysaml2', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('python-memcached', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('six', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('sqlalchemy-migrate', py_versions=['py3']) }}
|
||||
Requires: {{ py2pkg('stevedore', py_versions=['py3']) }}
|
||||
%if 0%{?suse_version}
|
||||
Requires: {{ py2pkg('pyldap') }}
|
||||
Requires: {{ py2pkg('pyldap', py_versions=['py3']) }}
|
||||
%endif
|
||||
%if 0%{?rdo}
|
||||
Requires: {{ py2pkg('python-ldap') }}
|
||||
Requires: {{ py2pkg('python-ldap', py_versions=['py3']) }}
|
||||
%endif
|
||||
|
||||
%description -n python-{{ pypi_name }}
|
||||
%description -n python3-{{ pypi_name }}
|
||||
Keystone is a Python implementation of the OpenStack
|
||||
(http://docs.openstack.org/developer/keystone/) identity service API.
|
||||
This package contains the Keystone Python library.
|
||||
@ -129,6 +140,7 @@ BuildRequires: {{ py2pkg('oslo.log') }}
|
||||
BuildRequires: {{ py2pkg('oslo.messaging') }}
|
||||
BuildRequires: {{ py2pkg('oslo.middleware') }}
|
||||
BuildRequires: {{ py2pkg('oslo.policy') }}
|
||||
BuildRequires: {{ py2pkg('osprofiler') }}
|
||||
BuildRequires: {{ py2pkg('passlib') }}
|
||||
BuildRequires: {{ py2pkg('pysaml2') }}
|
||||
BuildRequires: {{ py2pkg('python-memcached') }}
|
||||
@ -152,9 +164,8 @@ sed -i 's#apache2#httpd#' httpd/wsgi-keystone.conf
|
||||
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
|
||||
|
||||
%build
|
||||
%{py2_build}
|
||||
|
||||
PBR_VERSION={{ upstream_version }} sphinx-build -b html doc/source doc/build/html
|
||||
%{py3_build}
|
||||
PYTHONPATH=. PBR_VERSION={{ upstream_version }} sphinx-build -b html doc/source doc/build/html
|
||||
# remove the Sphinx-build leftovers
|
||||
rm -rf doc/build/html/.{doctrees,buildinfo}
|
||||
# config file generation
|
||||
@ -164,7 +175,7 @@ oslo-config-generator --config-file config-generator/keystone.conf \
|
||||
oslopolicy-sample-generator --config-file config-generator/keystone-policy-generator.conf --output-file etc/keystone.policy.yaml
|
||||
|
||||
%install
|
||||
%{py2_install}
|
||||
%{py3_install}
|
||||
install -d -m 755 %{buildroot}%{_sysconfdir}/keystone
|
||||
install -d -m 755 %{buildroot}%{_sysconfdir}/sysctl.d
|
||||
install -d -m 750 %{buildroot}%{_localstatedir}/{lib,log}/keystone
|
||||
@ -198,7 +209,12 @@ exit 0
|
||||
%check
|
||||
# don't want to depend on hacking for package building
|
||||
rm keystone/tests/unit/test_hacking_checks.py
|
||||
%if 0%{?suse_version}
|
||||
stestr run --black-regex keystone.tests.unit.test_policy.GeneratePolicyFileTestCase.test_policy_generator_from_command_line
|
||||
%endif
|
||||
%if 0%{?rdo}
|
||||
stestr-3 run --black-regex keystone.tests.unit.test_policy.GeneratePolicyFileTestCase.test_policy_generator_from_command_line
|
||||
%endif
|
||||
|
||||
%post
|
||||
%tmpfiles_create %{_tmpfilesdir}/keystone.conf
|
||||
@ -231,12 +247,12 @@ stestr run --black-regex keystone.tests.unit.test_policy.GeneratePolicyFileTestC
|
||||
%dir %attr(0750, %{keystone}, %{keystone}) %{_localstatedir}/cache/keystone
|
||||
%{_sysconfdir}/sysctl.d/openstack-keystone.conf
|
||||
|
||||
%files -n python-keystone
|
||||
%files -n python3-keystone
|
||||
%defattr(-,root,root,-)
|
||||
%doc README.rst
|
||||
%license LICENSE
|
||||
%{python2_sitelib}/keystone*
|
||||
%{python2_sitelib}/keystone-*.egg-info
|
||||
%{python3_sitelib}/keystone*
|
||||
%{python3_sitelib}/keystone-*.egg-info
|
||||
|
||||
%files doc
|
||||
%license LICENSE
|
||||
|
@ -16,15 +16,21 @@ for specstyle in $specstyles; do
|
||||
rm -rf $OUTPUTDIR/${specstyle}/*
|
||||
done
|
||||
|
||||
py3onlypackages=("openstack-keystone")
|
||||
|
||||
count=0
|
||||
echo "run renderspec over specfiles from ${specdir}"
|
||||
for specstyle in $specstyles; do
|
||||
for spec in ${specdir}/**/*.spec.j2; do
|
||||
echo "run ${spec} for ${specstyle}"
|
||||
pkg_name=$(pymod2pkg --dist $specstyle $(basename $spec .spec.j2))
|
||||
if [[ ! " ${py3onlypackages[@]} " =~ " ${pkg_name} " ]];then
|
||||
skip="--skip-pyversion py3"
|
||||
else
|
||||
skip=""
|
||||
fi
|
||||
renderspec --spec-style ${specstyle} ${spec} \
|
||||
--requirements $basedir/global-requirements.txt \
|
||||
--skip-pyversion py3 \
|
||||
--requirements $basedir/global-requirements.txt ${skip} \
|
||||
-o $WORKSPACE/logs/${specstyle}/$pkg_name.spec &
|
||||
let count+=1
|
||||
[[ count -eq $MAXPROC ]] && wait && count=0
|
||||
|
Loading…
x
Reference in New Issue
Block a user