rteval/rteval-Add-pyproject.toml-for-modern-Python-packagin.patch
John Kacur 8b76e35f1d Convert spec file to use pyproject.toml build system
Add 8 patches from upstream (spelling fixes, typo corrections, cleanups)
Modernize packaging with %pyproject_wheel and %pyproject_install macros
Resolves: RHEL-114900

Signed-off-by: John Kacur <jkacur@redhat.com>
2025-11-03 14:56:51 -05:00

123 lines
4.3 KiB
Diff

From 461480dbbdbde81985bd9a3d36334e3be99c09c3 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 3 Nov 2025 14:47:33 -0500
Subject: [PATCH] rteval: Add pyproject.toml for modern Python packaging
Add pyproject.toml to support modern PEP 517/518/621 packaging while
keeping setup.py for backwards compatibility with older distributions.
The pyproject.toml provides project metadata (name, version, dependencies,
authors) and works alongside setup.py which handles script installation
(copying rteval-cmd to rteval).
Add John Kacur to the list of authors and set him as the maintainer
in both pyproject.toml and setup.py metadata.
Requires Python >=3.10 and setuptools >=61.0.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
pyproject.toml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
rteval-cmd | 2 +-
setup.py | 6 ++++--
3 files changed, 63 insertions(+), 3 deletions(-)
create mode 100644 pyproject.toml
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 000000000000..9fc681f3f91b
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,58 @@
+[build-system]
+requires = ["setuptools>=61.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "rteval"
+dynamic = ["version"]
+description = "Evaluate system performance for Realtime"
+readme = {text = """\
+The rteval script is used to judge the behavior of a hardware
+platform while running a Realtime Linux kernel under a moderate
+to heavy load.
+
+Provides control logic for starting a system load and then running a
+response time measurement utility (cyclictest) for a specified amount
+of time. When the run is finished, the sample data from cyclictest is
+analyzed for standard statistical measurements (i.e mode, median, range,
+mean, variance and standard deviation) and a report is generated.
+""", content-type = "text/plain"}
+requires-python = ">=3.10"
+license = {text = "GPL-2.0-or-later"}
+dependencies = [
+ "lxml",
+ "requests",
+]
+authors = [
+ {name = "Clark Williams", email = "williams@redhat.com"},
+ {name = "David Sommerseth", email = "davids@redhat.com"},
+ {name = "John Kacur", email = "jkacur@redhat.com"},
+]
+maintainers = [
+ {name = "John Kacur", email = "jkacur@redhat.com"},
+]
+
+[project.urls]
+Homepage = "https://git.kernel.org/pub/scm/utils/rteval/rteval.git"
+
+[tool.setuptools]
+packages = [
+ "rteval",
+ "rteval.modules",
+ "rteval.modules.loads",
+ "rteval.modules.measurement",
+ "rteval.sysinfo"
+]
+
+[tool.setuptools.dynamic]
+version = {attr = "rteval.version.RTEVAL_VERSION"}
+
+[tool.setuptools.package-dir]
+rteval = "rteval"
+"rteval.modules" = "rteval/modules"
+"rteval.modules.loads" = "rteval/modules/loads"
+"rteval.modules.measurement" = "rteval/modules/measurement"
+"rteval.sysinfo" = "rteval/sysinfo"
+
+[tool.setuptools.package-data]
+rteval = ["*.xsl", "rteval.conf"]
diff --git a/rteval-cmd b/rteval-cmd
index 7af179321fe2..8fd37b98b069 100755
--- a/rteval-cmd
+++ b/rteval-cmd
@@ -307,7 +307,7 @@ if __name__ == '__main__':
default_kernel_file = ModuleParameters().get('source').get('default')
if os.path.exists(tarfl):
if rtevcfg.srcdownload == default_kernel_file:
- sys.exit("Default kernel already exists, will not download")
+ sys.exit(f"Default kernel {default_kernel_file} already exists, will not download")
prompt = input("Kernel already exists, download and overwrite anyway? (y/n) ")
prompt = prompt.lower()
if prompt in ('no', 'n'):
diff --git a/setup.py b/setup.py
index c2695cb748a0..82db22989a6e 100644
--- a/setup.py
+++ b/setup.py
@@ -44,8 +44,10 @@ mangz.close()
setup(name="rteval",
version = RTEVAL_VERSION,
description = "Evaluate system performance for Realtime",
- author = "Clark Williams, David Sommerseth",
- author_email = "williams@redhat.com, davids@redhat.com",
+ author = "Clark Williams, David Sommerseth, John Kacur",
+ author_email = "williams@redhat.com, davids@redhat.com, jkacur@redhat.com",
+ maintainer = "John Kacur",
+ maintainer_email = "jkacur@redhat.com",
url = "https://git.kernel.org/pub/scm/utils/rteval/rteval.git",
license = "GPLv2",
long_description =
--
2.51.1