From c4e12034e1c002c336ac5e7760e8f2839690fdc4 Mon Sep 17 00:00:00 2001 From: Jiri Podivin Date: Tue, 29 Mar 2022 10:42:05 +0200 Subject: [PATCH] setuptools: Disable auto discovery The latest release of setuptools 61.0 made a breaking change[1] and because of this change 'pip install' fails with the following error. ~~~ error: Multiple top-level packages discovered in a flat-layout: ['lib', 'spec', 'manifests', 'releasenotes']. ~~~ Users that don't set 'packages', 'py_modules', or configuration' are still likely to observe the auto-discovery behavior, which may halt the build if the project contains multiple directories and/or multiple Python files directly under the project root. To disable auto discovery, one can do below in setup.py ~~~ setuptools.setup(..,packages=[],..) ~~~ or ~~~ setuptools.setup(..,py_modules=[],..) ~~~ [1] https://github.com/pypa/setuptools/issues/3197 Note setup.py is not used to install puppet modules. However it is used to generate a release note, thus should be fixed. Conflicts: setup.py Signed-off-by: Jiri Podivin Change-Id: I3206bf16f6dce3823f3ae0e1ee63746d11f1e0c3 (cherry picked from commit 4e983c272085dab457e6d6352ecd0fa2f66f67a3) (cherry picked from commit e7d8c64f9907b5bddfa10406c86b4870faac3b93) --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 70c2b3f3..097bada8 100644 --- a/setup.py +++ b/setup.py @@ -19,4 +19,5 @@ import setuptools setuptools.setup( setup_requires=['pbr'], + py_modules=[], pbr=True)