From f5c86dff4ee246f0ecbfb2d753e2c90912e7bb02 Mon Sep 17 00:00:00 2001 From: Elod Illes Date: Sat, 26 Mar 2022 10:37:43 +0100 Subject: [PATCH] Disable auto-discovery for setuptools With the latest setuptools release (61.0.0) ansible-role-atos-hsm's package build command (python3 setup.py sdist bdist_wheel) started to fail: error: Multiple top-level packages discovered in a flat-layout: ['defaults', 'handlers', 'templates', 'releasenotes']. This issue is mentioned in setuptools bug 3197 [1], and the suggested workaround is to disable auto-discovery by adding 'py_modules=[]' in setup.py. ansible-lint also released a new version (6.0.0), which has new rules that blocks the gate. As a workaround, this patch caps ansible-lint version <6.0.0 to unblock the gate. [1] https://github.com/pypa/setuptools/issues/3197 Change-Id: I3f827b3ed855ff46292dee7b21b74a622adc472d --- setup.py | 3 ++- test-requirements.txt | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 6a931a6..d2f0760 100644 --- a/setup.py +++ b/setup.py @@ -16,4 +16,5 @@ import setuptools setuptools.setup( setup_requires=['pbr'], - pbr=True) + pbr=True, + py_modules=[]) diff --git a/test-requirements.txt b/test-requirements.txt index 89e2495..e508ba3 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,2 +1,6 @@ -ansible-lint +# NOTE(elod.illes): ansible 6.0.0 introduced new rules that needs to be +# fixed, like fqcn-builtins, etc. Due to Yoga release happens soon +# let's just cap ansible-lint. This needs a separate fix in the future +# to be able to remove the cap. +ansible-lint<6.0.0 reno