%global with_doc 0 %global service keystone %{!?upstream_version: %global upstream_version %{version}%{?milestone}} %global common_desc \ Keystone is a Python implementation of the OpenStack \ (http://www.openstack.org) identity service API. Name: openstack-keystone Version: 16.0.2 Release: 1 Summary: OpenStack Identity Service License: ASL 2.0 URL: http://keystone.openstack.org/ Source0: https://tarballs.openstack.org/%{service}/%{service}-%{upstream_version}.tar.gz Source1: openstack-keystone.logrotate Source3: openstack-keystone.sysctl Source5: openstack-keystone-sample-data Source20: keystone-dist.conf BuildArch: noarch BuildRequires: openstack-macros BuildRequires: python3-devel BuildRequires: python3-osprofiler BuildRequires: python3-pbr BuildRequires: git-core BuildRequires: python3-oslo-cache BuildRequires: python3-oslo-messaging BuildRequires: python3-oslo-config BuildRequires: python3-passlib BuildRequires: python3-pycadf BuildRequires: python3-babel BuildRequires: python3-oslo-policy BuildRequires: python3-jsonschema BuildRequires: python3-oslo-db BuildRequires: python3-oauthlib BuildRequires: python3-pysaml2 BuildRequires: python3-keystonemiddleware BuildRequires: python3-testresources BuildRequires: python3-testscenarios BuildRequires: python3-oslotest BuildRequires: python3-redis BuildRequires: python3-ldappool BuildRequires: python3-webtest BuildRequires: python3-freezegun Requires: python3-keystone = %{version}-%{release} Requires: python3-keystoneclient >= 3.8.0 %{?systemd_ordering} BuildRequires: systemd Requires(pre): shadow-utils %description %{common_desc} This package contains the Keystone daemon. %package -n python3-keystone Summary: Keystone Python libraries %{?python_provide:%python_provide python3-keystone} Requires: python3-pbr Requires: python3-bcrypt Requires: python3-sqlalchemy Requires: python3-passlib Requires: openssl Requires: python3-oauthlib Requires: python3-jsonschema Requires: python3-pycadf Requires: python3-keystonemiddleware Requires: python3-oslo-cache Requires: python3-oslo-config Requires: python3-oslo-context Requires: python3-oslo-db Requires: python3-oslo-i18n Requires: python3-oslo-log Requires: python3-oslo-messaging Requires: python3-oslo-middleware Requires: python3-oslo-policy Requires: python3-oslo-serialization Requires: python3-oslo-upgradecheck Requires: python3-oslo-utils Requires: python3-osprofiler Requires: python3-pysaml2 Requires: python3-stevedore Requires: python3-scrypt Requires: python3-flask Requires: python3-flask-restful Requires: python3-jwt Requires: python3-pytz Requires: python3-cryptography Requires: python3-ldap Requires: python3-ldappool Requires: python3-memcached Requires: python3-sqlalchemy-migrate Requires: python3-webob Requires: python3-dogpile-cache Requires: python3-msgpack %description -n python3-keystone %{common_desc} This package contains the Keystone Python library. %package -n python3-%{service}-tests Summary: Keystone tests %{?python_provide:%python_provide python3-%{service}-tests} Requires: openstack-%{service} = %{version}-%{release} %description -n python3-%{service}-tests %{common_desc} This package contains the Keystone test files. %if 0%{?with_doc} %package doc Summary: Documentation for OpenStack Identity Service # for API autodoc BuildRequires: python3-sphinx BuildRequires: python3-sphinx-feature-classification BuildRequires: python3-openstackdocstheme BuildRequires: python3-sphinxcontrib-apidoc BuildRequires: python3-sphinxcontrib-seqdiag BuildRequires: python3-sphinxcontrib-blockdiag BuildRequires: python3-flask BuildRequires: python3-flask-restful BuildRequires: python3-cryptography BuildRequires: python3-oslo-log BuildRequires: python3-oslo-messaging BuildRequires: python3-oslo-middleware BuildRequires: python3-oslo-policy BuildRequires: python3-mock BuildRequires: python3-dogpile-cache BuildRequires: python3-memcached BuildRequires: python3-lxml %description doc %{common_desc} This package contains documentation for Keystone. %endif %prep %autosetup -n keystone-%{upstream_version} -p1 find . \( -name .gitignore -o -name .placeholder \) -delete find keystone -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \; %py_req_cleanup sed -i 's#/local/bin#/bin#' httpd/wsgi-keystone.conf sed -i 's#apache2#httpd#' httpd/wsgi-keystone.conf %build PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf --format yaml --output-file=%{service}-schema.yaml PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf --format json --output-file=%{service}-schema.json # distribution defaults are located in keystone-dist.conf %{py3_build} %{__python3} setup.py compile_catalog -d build/lib/%{service}/locale -D keystone %install %{py3_install} echo "{}" > policy.json install -d -m 755 %{buildroot}%{_sysconfdir}/keystone install -d -m 755 %{buildroot}%{_sysconfdir}/keystone/policy.d install -p -D -m 640 etc/keystone.conf.sample %{buildroot}%{_sysconfdir}/keystone/keystone.conf install -p -D -m 640 policy.json %{buildroot}%{_sysconfdir}/keystone/policy.json install -p -D -m 640 %{service}-schema.yaml %{buildroot}%{_datadir}/%{service}/%{service}-schema.yaml install -p -D -m 640 %{service}-schema.json %{buildroot}%{_datadir}/%{service}/%{service}-schema.json install -p -D -m 644 %{SOURCE20} %{buildroot}%{_datadir}/keystone/keystone-dist.conf install -p -D -m 640 etc/logging.conf.sample %{buildroot}%{_sysconfdir}/keystone/logging.conf install -p -D -m 640 etc/default_catalog.templates %{buildroot}%{_sysconfdir}/keystone/default_catalog.templates install -p -D -m 640 etc/sso_callback_template.html %{buildroot}%{_sysconfdir}/keystone/sso_callback_template.html install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-keystone install -d -m 755 %{buildroot}%{_prefix}/lib/sysctl.d install -p -D -m 644 %{SOURCE3} %{buildroot}%{_prefix}/lib/sysctl.d/openstack-keystone.conf install -p -D -m 755 tools/sample_data.sh %{buildroot}%{_datadir}/keystone/sample_data.sh install -p -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/openstack-keystone-sample-data install -p -D -m 644 httpd/wsgi-keystone.conf %{buildroot}%{_datadir}/keystone/ install -d -m 755 %{buildroot}%{_sharedstatedir}/keystone install -d -m 755 %{buildroot}%{_localstatedir}/log/keystone rm -rf %{buildroot}/%{_prefix}%{_sysconfdir} %if 0%{?with_doc} sphinx-build -b html doc/source doc/build/html mkdir -p doc/build/man/_static sphinx-build -b man doc/source doc/build/man mkdir -p %{buildroot}%{_mandir}/man1 install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ %endif %if 0%{?with_doc} # Fix hidden-file-or-dir warnings rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo %endif # Install i18n .mo files (.po and .pot are not required) install -d -m 755 %{buildroot}%{_datadir} rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*/LC_*/%{service}*po rm -f %{buildroot}%{python3_sitelib}/%{service}/locale/*pot mv %{buildroot}%{python3_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale %find_lang %{service} --all-name %pre getent group keystone >/dev/null || groupadd -r --gid 163 keystone getent passwd keystone >/dev/null || \ useradd --uid 163 -r -g keystone -d %{_sharedstatedir}/keystone -s /sbin/nologin \ -c "OpenStack Keystone Daemons" keystone exit 0 %post %sysctl_apply openstack-keystone.conf touch %{_localstatedir}/log/keystone/keystone.log chown root:keystone %{_localstatedir}/log/keystone/keystone.log chmod 660 %{_localstatedir}/log/keystone/keystone.log %files %license LICENSE %doc README.rst %if 0%{?with_doc} %{_mandir}/man1/keystone*.1.gz %endif %{_bindir}/keystone-wsgi-admin %{_bindir}/keystone-wsgi-public %{_bindir}/keystone-manage %{_bindir}/keystone-status %{_bindir}/openstack-keystone-sample-data %dir %{_datadir}/keystone %attr(0644, root, keystone) %{_datadir}/keystone/keystone-dist.conf %attr(0644, root, keystone) %{_datadir}/keystone/%{service}-schema.yaml %attr(0644, root, keystone) %{_datadir}/keystone/%{service}-schema.json %attr(0755, root, root) %{_datadir}/keystone/sample_data.sh %attr(0644, root, keystone) %{_datadir}/keystone/wsgi-keystone.conf %dir %attr(0750, root, keystone) %{_sysconfdir}/keystone %dir %attr(0750, root, keystone) %{_sysconfdir}/keystone/policy.d %config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/keystone.conf %config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/logging.conf %config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/policy.json %config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/default_catalog.templates %config(noreplace) %attr(0640, keystone, keystone) %{_sysconfdir}/keystone/sso_callback_template.html %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-keystone %dir %attr(-, keystone, keystone) %{_sharedstatedir}/keystone %dir %attr(0750, keystone, keystone) %{_localstatedir}/log/keystone %ghost %attr(0660, root, keystone) %{_localstatedir}/log/keystone/keystone.log %{_prefix}/lib/sysctl.d/openstack-keystone.conf %files -n python3-keystone -f %{service}.lang %defattr(-,root,root,-) %license LICENSE %{python3_sitelib}/keystone %{python3_sitelib}/keystone-*.egg-info %exclude %{python3_sitelib}/%{service}/tests %files -n python3-%{service}-tests %license LICENSE %{python3_sitelib}/%{service}/tests %if 0%{?with_doc} %files doc %license LICENSE %doc doc/build/html %endif %changelog * Fri Nov 05 2021 wangxiyuan - 16.0.2-1 - Support OpenStack Train release