add pyproject.toml to support pip 23.1

pip 23.1 removed the "setup.py install" fallback for projects
that do not have pyproject.toml and now uses a pyproject.toml
which is vendored in pip.
To address that, this change adds the minimal pyproject.toml
to enable pbr to be properly used to build editable wheels.

This is required to support installing devstack on
centos stream 9 and related distros with GLOBAL_VENV=True
Without this change the wsgi scripts are not generated in
editable mode. i.e. pip install -e /opt/stack/keystone

See https://pip.pypa.io/en/stable/news/#v23-1
and https://github.com/pypa/pip/issues/8368 for more
details on the removal of the fallback support.

setuptools v64.0.0 is used to support editable installs
via its PEP-660 implmentation
https://github.com/pypa/setuptools/pull/3488

Change-Id: Iee3338c1dd583fc35d93a3e6e74f8f71b7f076e0
This commit is contained in:
Sean Mooney 2023-11-02 11:16:49 +00:00
parent 123bd115f3
commit 344baa4d4b
9 changed files with 19 additions and 1 deletions

3
pyproject.toml Normal file
View File

@ -0,0 +1,3 @@
[build-system]
requires = ["pbr>=6.0.0", "setuptools>=64.0.0"]
build-backend = "pbr.build"

View File

@ -1,7 +1,7 @@
# Requirements lower bounds listed here are our best effort to keep them up to
# date but we do not test them so no guarantee of having them all correct. If
# you find any incorrect lower bounds, let us know or propose a fix.
pbr>=4.0.0 # Apache-2.0
pbr>=6.0.0 # Apache-2.0
Paste>=2.0.2 # MIT
PasteDeploy>=1.5.0 # MIT

View File

@ -24,6 +24,7 @@
- ^releasenotes/.*$
- ^setup.cfg$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^devstack/.*\.sample$
@ -88,6 +89,7 @@
- ^doc/.*$
- ^setup.cfg$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^.*\.conf\.sample$
- ^.*\.rst$

View File

@ -18,6 +18,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
@ -234,6 +235,7 @@
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^pyproject.toml$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$

View File

@ -16,6 +16,7 @@
- ^releasenotes/.*$
- ^setup.cfg$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^tools/.*$
- ^vagrant/.*$

View File

@ -31,6 +31,7 @@
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^pyproject.toml$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$

View File

@ -59,6 +59,7 @@
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^pyproject.toml$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
@ -102,6 +103,7 @@
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^pyproject.toml$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$

View File

@ -57,6 +57,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
@ -390,6 +391,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^neutron/agent/dhcp/.*$
- ^neutron/agent/l2/.*$

View File

@ -72,6 +72,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/agent/ovn/.*$
@ -221,6 +222,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/agent/.*$
@ -275,6 +277,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
@ -435,6 +438,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^roles/.*functional.*$
@ -568,6 +572,7 @@
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^pyproject.toml$
- ^tools/ovn_migration/.*$
- ^neutron/agent/dhcp/.*$
- ^neutron/agent/l2/.*$