diff options
Diffstat (limited to 'pbr/core.py')
-rw-r--r-- | pbr/core.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pbr/core.py b/pbr/core.py index 645a2ef..f221299 100644 --- a/pbr/core.py +++ b/pbr/core.py @@ -130,6 +130,14 @@ def pbr(dist, attr, value): msg = 'Unknown distribution option: %s' % repr(key) warnings.warn(msg) + # Distribution.finalize_options() is what calls this method. That means + # there is potential for recursion here. Recursion seems to be an issue + # particularly when using PEP517 build-system configs without + # setup_requires in setup.py. We can avoid the recursion by setting + # dist.pbr to a None value as the corresponding entrypoint (this function) + # will only be called on a non None value. + setattr(dist, "pbr", None) + # Re-finalize the underlying Distribution try: super(dist.__class__, dist).finalize_options() |