summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/recipetool/create_buildsys_python.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py
index 60c5903450..a589343cfb 100644
--- a/scripts/lib/recipetool/create_buildsys_python.py
+++ b/scripts/lib/recipetool/create_buildsys_python.py
@@ -573,12 +573,15 @@ class PythonSetupPyRecipeHandler(PythonRecipeHandler):
if 'buildsystem' in handled:
return False
+ logger.debug("Trying setup.py parser")
+
# Check for non-zero size setup.py files
setupfiles = RecipeHandler.checkfiles(srctree, ['setup.py'])
for fn in setupfiles:
if os.path.getsize(fn):
break
else:
+ logger.debug("No setup.py found")
return False
# setup.py is always parsed to get at certain required information, such as
@@ -799,12 +802,15 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler):
if 'buildsystem' in handled:
return False
+ logger.debug("Trying pyproject.toml parser")
+
# Check for non-zero size setup.py files
setupfiles = RecipeHandler.checkfiles(srctree, ["pyproject.toml"])
for fn in setupfiles:
if os.path.getsize(fn):
break
else:
+ logger.debug("No pyproject.toml found")
return False
setupscript = os.path.join(srctree, "pyproject.toml")
@@ -816,14 +822,16 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler):
try:
import tomli as tomllib
except ImportError:
- logger.exception("Neither 'tomllib' nor 'tomli' could be imported. Please use python3.11 or above or install tomli module")
- return False
- except Exception:
- logger.exception("Failed to parse pyproject.toml")
+ logger.error("Neither 'tomllib' nor 'tomli' could be imported, cannot scan pyproject.toml.")
return False
- with open(setupscript, "rb") as f:
- config = tomllib.load(f)
+ try:
+ with open(setupscript, "rb") as f:
+ config = tomllib.load(f)
+ except Exception:
+ logger.exception("Failed to parse pyproject.toml")
+ return False
+
build_backend = config["build-system"]["build-backend"]
if build_backend in self.build_backend_map:
classes.append(self.build_backend_map[build_backend])