From 4a405c51cbbc67c0a6a7ede5b02dad816ed5b325 Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Sun, 2 Feb 2025 11:22:54 -0500 Subject: [PATCH] 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. 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 This patch was taken nearly verbatim from the equivalent nova change. Change-Id: Ic65834742445d9930200836a5c9f5bf774e30693 Signed-off-by: Doug Goldstein --- pyproject.toml | 3 +++ requirements.txt | 2 +- setup.py | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..5e862a95 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["pbr>=6.0.0", "setuptools>=64.0.0"] +build-backend = "pbr.build" diff --git a/requirements.txt b/requirements.txt index bfafa58b..ff7b7040 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pbr>=2.0.0 # Apache-2.0 +pbr>=6.0.0 # Apache-2.0 oslo.config>=5.2.0 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 oslo.serialization>=2.18.0 # Apache-2.0 diff --git a/setup.py b/setup.py index cd35c3c3..b997e51a 100644 --- a/setup.py +++ b/setup.py @@ -16,5 +16,5 @@ import setuptools setuptools.setup( - setup_requires=['pbr>=2.0.0'], + setup_requires=['pbr>=6.0.0'], pbr=True)