From d7fec21d4ffd9b8ee485c95b52702d5bfdc56df3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 6 Jun 2025 18:50:49 +0200 Subject: [PATCH 01/11] Rebuilt for Python 3.14 From 777a5a44e3de1d2752755c6f61858bcc3bb2ae5b Mon Sep 17 00:00:00 2001 From: Ali Erdinc Koroglu Date: Mon, 23 Jun 2025 22:43:43 +0300 Subject: [PATCH 02/11] Update to 3.2.0 --- 0002-Allow-numpy-2.0-and-higher.patch | 54 +++++++++++++++++++++++++++ python-geopmpy.spec | 32 +++++++++++----- sources | 2 +- 3 files changed, 77 insertions(+), 11 deletions(-) create mode 100644 0002-Allow-numpy-2.0-and-higher.patch diff --git a/0002-Allow-numpy-2.0-and-higher.patch b/0002-Allow-numpy-2.0-and-higher.patch new file mode 100644 index 0000000..f7fc3c7 --- /dev/null +++ b/0002-Allow-numpy-2.0-and-higher.patch @@ -0,0 +1,54 @@ +From 2dae0295e96f7d767a05d21f973dbbcb92446811 Mon Sep 17 00:00:00 2001 +From: "Christopher M. Cantalupo" +Date: Mon, 5 May 2025 21:59:02 -0700 +Subject: [PATCH] Allow numpy 2.0 and higher + +Signed-off-by: Christopher M. Cantalupo +--- + geopmpy/pyproject.toml | 2 +- + geopmpy/requirements.txt | 2 +- + geopmpy/setup.cfg | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/geopmpy/pyproject.toml b/geopmpy/pyproject.toml +index 74118fab5..cb5d0fb24 100755 +--- a/geopmpy/pyproject.toml ++++ b/geopmpy/pyproject.toml +@@ -47,7 +47,7 @@ classifiers = ["Development Status :: 5 - Production/Stable", + dependencies = ['cffi>=1.13.2', + 'cycler>=0.11.0', + 'natsort>=8.1.0', +- 'numpy>=1.19.5,<2.0.0', ++ 'numpy>=1.19.5', + 'pandas>=1.1.5', + 'psutil>=5.4.8', + 'pyyaml>=6.0.0', +diff --git a/geopmpy/requirements.txt b/geopmpy/requirements.txt +index 7633e4cd0..dc1bf0baa 100644 +--- a/geopmpy/requirements.txt ++++ b/geopmpy/requirements.txt +@@ -1,7 +1,7 @@ + cffi>=1.14.5 + cycler>=0.11.0 + natsort>=8.1.0 +-numpy>=1.19.5,<2.0.0 ++numpy>=1.19.5 + pandas>=1.1.5 + psutil>=5.8.0 + pyyaml>=6.0.0 +diff --git a/geopmpy/setup.cfg b/geopmpy/setup.cfg +index efc66422a..a43029264 100644 +--- a/geopmpy/setup.cfg ++++ b/geopmpy/setup.cfg +@@ -13,7 +13,7 @@ install_requires = + cffi>=1.11.5 + cycler>=0.11.0 + natsort>=8.1.0 +- numpy>=1.19.5,<2.0.0 ++ numpy>=1.19.5 + pandas>=1.1.5 + psutil>=5.4.8 + pyyaml>=6.0.0 +-- +2.43.0 + diff --git a/python-geopmpy.spec b/python-geopmpy.spec index 4029d99..f18ce17 100644 --- a/python-geopmpy.spec +++ b/python-geopmpy.spec @@ -1,4 +1,3 @@ -%global debug_package %{nil} %global prj_name geopmpy %global desc %{expand: \ The Global Extensible Open Power Manager (GEOPM) provides a framework to @@ -10,7 +9,7 @@ optimize system hardware settings to achieve energy efficiency and/or performance objectives.} Name: python-%{prj_name} -Version: 3.1.0 +Version: 3.2.0 Release: %autorelease Summary: Python bindings for libgeopm @@ -18,17 +17,28 @@ License: BSD-3-Clause URL: https://geopm.github.io Source0: https://github.com/geopm/geopm/archive/v%{version}/geopm-%{version}.tar.gz +Patch0: 0002-Allow-numpy-2.0-and-higher.patch + ExclusiveArch: x86_64 +BuildRequires: gcc +BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: python3-geopmdpy +BuildRequires: python3-setuptools_scm +BuildRequires: python3-geopmdpy >= 3.2.0 +BuildRequires: python3-cycler BuildRequires: python3-pandas BuildRequires: python3-natsort -BuildRequires: python3-pyyaml BuildRequires: python3-tables -BuildRequires: libgeopm-devel -BuildRequires: libgeopmd-devel +BuildRequires: python3-pyyaml +BuildRequires: libgeopm-devel >= 3.2.0 +BuildRequires: libgeopmd-devel >= 3.2.0 +Requires: python3-cycler +Requires: python3-natsort +Requires: python3-pandas +Requires: python3-tables +Requires: python3-pyyaml Requires: geopmd %description @@ -41,7 +51,7 @@ Summary: %{summary} %{desc} %prep -%autosetup -n geopm-%{version} +%autosetup -p1 -n geopm-%{version} pushd %{prj_name} echo %{version} > %{prj_name}/VERSION @@ -59,14 +69,16 @@ popd %check pushd %{prj_name} -%{python3} -m unittest discover -p 'Test*.py' -v +##PYTHONPATH=$PYTHONPATH:%{buildroot}%{python3_sitearch} %{python3} -m unittest discover -p 'Test*.py' -v +%{python3} -m unittest discover -s test -p 'Test*.py' -v popd %files -n python3-%{prj_name} %license LICENSE-BSD-3-Clause %doc README.md -%{python3_sitelib}/%{prj_name} -%{python3_sitelib}/%{prj_name}-*.egg-info +%{python3_sitearch}/_libgeopm_py_cffi.abi3.so +%{python3_sitearch}/%{prj_name} +%{python3_sitearch}/%{prj_name}-*.egg-info %{_bindir}/geopmlaunch %changelog diff --git a/sources b/sources index 94a95f9..aaf0e93 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (geopm-3.1.0.tar.gz) = e0446d7e330a8a7ecbdfb89dc98e707364b07168e708805d68dcfa14117fc701658cce7d01c58df0380876acdfb7b3518699900e60d7c7a6cb022001b592717b +SHA512 (geopm-3.2.0.tar.gz) = 5ff13f1409ed1ef6f384023e090b8b64814bb9e9ebb79bf61581e22b48ed809c126f85e3ce31cdfa8db45c74a1f8f443b6c29a13d152c53ae4e5e46e8253337b From 5ea282012ff5864fb33267782ad1a470fc7f5453 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 08:05:01 +0000 Subject: [PATCH 03/11] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 47757f56bfc29e91fbaccb74d17d2f0365eff128 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 13:48:40 +0200 Subject: [PATCH 04/11] Rebuilt for Python 3.14.0rc2 bytecode From 6e62211e6449f57296f35f0f675c19a7198b69c2 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 13:22:36 +0200 Subject: [PATCH 05/11] Rebuilt for Python 3.14.0rc3 bytecode From 05a2c29f29455dfcefb993a35b02234f4313846c Mon Sep 17 00:00:00 2001 From: Ali Erdinc Koroglu Date: Sat, 11 Oct 2025 14:46:53 +0300 Subject: [PATCH 06/11] Update to 3.2.1 --- 0002-Allow-numpy-2.0-and-higher.patch | 54 --------------------------- python-geopmpy.spec | 11 ++---- sources | 2 +- 3 files changed, 5 insertions(+), 62 deletions(-) delete mode 100644 0002-Allow-numpy-2.0-and-higher.patch diff --git a/0002-Allow-numpy-2.0-and-higher.patch b/0002-Allow-numpy-2.0-and-higher.patch deleted file mode 100644 index f7fc3c7..0000000 --- a/0002-Allow-numpy-2.0-and-higher.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 2dae0295e96f7d767a05d21f973dbbcb92446811 Mon Sep 17 00:00:00 2001 -From: "Christopher M. Cantalupo" -Date: Mon, 5 May 2025 21:59:02 -0700 -Subject: [PATCH] Allow numpy 2.0 and higher - -Signed-off-by: Christopher M. Cantalupo ---- - geopmpy/pyproject.toml | 2 +- - geopmpy/requirements.txt | 2 +- - geopmpy/setup.cfg | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/geopmpy/pyproject.toml b/geopmpy/pyproject.toml -index 74118fab5..cb5d0fb24 100755 ---- a/geopmpy/pyproject.toml -+++ b/geopmpy/pyproject.toml -@@ -47,7 +47,7 @@ classifiers = ["Development Status :: 5 - Production/Stable", - dependencies = ['cffi>=1.13.2', - 'cycler>=0.11.0', - 'natsort>=8.1.0', -- 'numpy>=1.19.5,<2.0.0', -+ 'numpy>=1.19.5', - 'pandas>=1.1.5', - 'psutil>=5.4.8', - 'pyyaml>=6.0.0', -diff --git a/geopmpy/requirements.txt b/geopmpy/requirements.txt -index 7633e4cd0..dc1bf0baa 100644 ---- a/geopmpy/requirements.txt -+++ b/geopmpy/requirements.txt -@@ -1,7 +1,7 @@ - cffi>=1.14.5 - cycler>=0.11.0 - natsort>=8.1.0 --numpy>=1.19.5,<2.0.0 -+numpy>=1.19.5 - pandas>=1.1.5 - psutil>=5.8.0 - pyyaml>=6.0.0 -diff --git a/geopmpy/setup.cfg b/geopmpy/setup.cfg -index efc66422a..a43029264 100644 ---- a/geopmpy/setup.cfg -+++ b/geopmpy/setup.cfg -@@ -13,7 +13,7 @@ install_requires = - cffi>=1.11.5 - cycler>=0.11.0 - natsort>=8.1.0 -- numpy>=1.19.5,<2.0.0 -+ numpy>=1.19.5 - pandas>=1.1.5 - psutil>=5.4.8 - pyyaml>=6.0.0 --- -2.43.0 - diff --git a/python-geopmpy.spec b/python-geopmpy.spec index f18ce17..d34a836 100644 --- a/python-geopmpy.spec +++ b/python-geopmpy.spec @@ -9,7 +9,7 @@ optimize system hardware settings to achieve energy efficiency and/or performance objectives.} Name: python-%{prj_name} -Version: 3.2.0 +Version: 3.2.1 Release: %autorelease Summary: Python bindings for libgeopm @@ -17,8 +17,6 @@ License: BSD-3-Clause URL: https://geopm.github.io Source0: https://github.com/geopm/geopm/archive/v%{version}/geopm-%{version}.tar.gz -Patch0: 0002-Allow-numpy-2.0-and-higher.patch - ExclusiveArch: x86_64 BuildRequires: gcc @@ -26,14 +24,14 @@ BuildRequires: python3-cffi BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-setuptools_scm -BuildRequires: python3-geopmdpy >= 3.2.0 +BuildRequires: python3-geopmdpy >= 3.2.1 BuildRequires: python3-cycler BuildRequires: python3-pandas BuildRequires: python3-natsort BuildRequires: python3-tables BuildRequires: python3-pyyaml -BuildRequires: libgeopm-devel >= 3.2.0 -BuildRequires: libgeopmd-devel >= 3.2.0 +BuildRequires: libgeopm-devel >= 3.2.1 +BuildRequires: libgeopmd-devel >= 3.2.1 Requires: python3-cycler Requires: python3-natsort Requires: python3-pandas @@ -69,7 +67,6 @@ popd %check pushd %{prj_name} -##PYTHONPATH=$PYTHONPATH:%{buildroot}%{python3_sitearch} %{python3} -m unittest discover -p 'Test*.py' -v %{python3} -m unittest discover -s test -p 'Test*.py' -v popd diff --git a/sources b/sources index aaf0e93..38359cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (geopm-3.2.0.tar.gz) = 5ff13f1409ed1ef6f384023e090b8b64814bb9e9ebb79bf61581e22b48ed809c126f85e3ce31cdfa8db45c74a1f8f443b6c29a13d152c53ae4e5e46e8253337b +SHA512 (geopm-3.2.1.tar.gz) = faaaf9b48391bb94468a13b9f9292f10845089d7141ec07dccc9f812cd0c33319963b46365c4afe057f2cdb909c63cfdfa0d51459ebec02b000d0b3f5c39d487 From 4443b9e92a7c8f2bffa7482f2373cc8d2e291a26 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 07:37:10 +0000 Subject: [PATCH 07/11] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 6c21b7d7d971676b4ab5987777ca5c8d338c55f2 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sat, 6 Jun 2026 01:02:57 +0200 Subject: [PATCH 08/11] Rebuilt for Python 3.15 From a783575842da3ef0eecaa1fe409d11d631896689 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jul 2026 19:33:46 +0000 Subject: [PATCH 09/11] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From f166df50cdb4ba27c40d8919cef5200f5b79df59 Mon Sep 17 00:00:00 2001 From: Ali Erdinc Koroglu Date: Wed, 29 Jul 2026 16:19:06 +0300 Subject: [PATCH 10/11] Update to 3.2.2 (rhbz#2483709) --- ...e439e2cc40d95a20bd829134096c12fc2286.patch | 137 ++++++++++++++++++ python-geopmpy.spec | 49 +++---- sources | 2 +- 3 files changed, 156 insertions(+), 32 deletions(-) create mode 100644 5396e439e2cc40d95a20bd829134096c12fc2286.patch diff --git a/5396e439e2cc40d95a20bd829134096c12fc2286.patch b/5396e439e2cc40d95a20bd829134096c12fc2286.patch new file mode 100644 index 0000000..110acda --- /dev/null +++ b/5396e439e2cc40d95a20bd829134096c12fc2286.patch @@ -0,0 +1,137 @@ +From 5396e439e2cc40d95a20bd829134096c12fc2286 Mon Sep 17 00:00:00 2001 +From: Brad Geltz +Date: Tue, 27 Jan 2026 12:27:12 -0800 +Subject: [PATCH] Update usage of DataFrame.to_hdf + +- Starting with Pandas v3.0.0 the most paremeters are + keyword-only. + +Signed-off-by: Brad Geltz +--- + geopmpy/geopmpy/io.py | 26 +++++++++++-------- + .../experiment/ffnet/gen_hdf_from_fsweep.py | 4 +-- + .../sst_evaluation/gen_plot_time.py | 8 +++--- + 3 files changed, 21 insertions(+), 17 deletions(-) + +diff --git a/geopmpy/geopmpy/io.py b/geopmpy/geopmpy/io.py +index b7ecc567a5..4fb7f7dfd9 100644 +--- a/geopmpy/geopmpy/io.py ++++ b/geopmpy/geopmpy/io.py +@@ -25,7 +25,7 @@ + if os.getenv('GEOPM_USE_UNSAFE_HDF5') is not None: + from pandas import read_hdf + else: +- def read_hdf(path, name): ++ def read_hdf(path, key=None, **kwargs): + if not os.path.exists(path): + raise IOError(f'Trace HDF5 file {path} not detected') + raise ImportWarning('Refusing to read HDF5 format files: file format could result in arbitrary code execution. To enable "export GEOPM_USE_UNSAFE_HDF5=1"') +@@ -111,7 +111,7 @@ def __init__(self, traces=None, dir_name='.', verbose=False, do_cache=True): + + do_load_raw = True + try: +- self._traces_df = read_hdf(trace_h5_name, 'trace') ++ self._traces_df = read_hdf(trace_h5_name, key='trace') + do_load_raw = False + if verbose: + sys.stdout.write(f'Loaded traces from {trace_h5_name}.\n') +@@ -125,7 +125,7 @@ def __init__(self, traces=None, dir_name='.', verbose=False, do_cache=True): + try: + if verbose: + sys.stdout.write('Generating HDF5 files... ') +- self._traces_df.to_hdf(trace_h5_name, 'trace') ++ self._traces_df.to_hdf(trace_h5_name, key='trace') + except ImportError as error: + sys.stderr.write(f'Warning: geopmpy.io: Unable to write HDF5 file: {error}\n') + +@@ -878,16 +878,16 @@ def load_reports(self, reports, dir_name, dir_cache, verbose, do_cache): + sys.stdout.write('Attempting to read {}...\n'.format(self._report_h5_name)) + # load dataframes from cache + try: +- self._reports_df = read_hdf(self._report_h5_name, 'report') ++ self._reports_df = read_hdf(self._report_h5_name, key='report') + except KeyError: + pass # No regions in cached report +- self._app_reports_df = read_hdf(self._report_h5_name, 'app_report') ++ self._app_reports_df = read_hdf(self._report_h5_name, key='app_report') + try: +- self._unmarked_reports_df = read_hdf(self._report_h5_name, 'unmarked_report') ++ self._unmarked_reports_df = read_hdf(self._report_h5_name, key='unmarked_report') + except KeyError: + pass + try: +- self._epoch_reports_df = read_hdf(self._report_h5_name, 'epoch_report') ++ self._epoch_reports_df = read_hdf(self._report_h5_name, key='epoch_report') + except KeyError: + pass + if verbose: +@@ -902,19 +902,23 @@ def load_reports(self, reports, dir_name, dir_cache, verbose, do_cache): + + # Cache report dataframe + cache_created = False ++ did_fixup_metadata = False + while not cache_created: + try: + if verbose: + sys.stdout.write('Generating HDF5 files... ') +- self._app_reports_df.to_hdf(self._report_h5_name, 'app_report', format='table') ++ self._app_reports_df.to_hdf(self._report_h5_name, key='app_report', format='table') + if len(self._reports_df) > 0: +- self._reports_df.to_hdf(self._report_h5_name, 'report', format='table', append=True) ++ self._reports_df.to_hdf(self._report_h5_name, key='report', format='table', append=True) + if len(self._unmarked_reports_df) > 0: +- self._unmarked_reports_df.to_hdf(self._report_h5_name, 'unmarked_report', format='table', append=True) ++ self._unmarked_reports_df.to_hdf(self._report_h5_name, key='unmarked_report', format='table', append=True) + if len(self._epoch_reports_df) > 0: +- self._epoch_reports_df.to_hdf(self._report_h5_name, 'epoch_report', format='table', append=True) ++ self._epoch_reports_df.to_hdf(self._report_h5_name, key='epoch_report', format='table', append=True) + cache_created = True + except TypeError as error: ++ if did_fixup_metadata: ++ raise ++ did_fixup_metadata = True + fm = RawReportCollection.fixup_metadata + if verbose: + sys.stdout.write('Applying workaround for strings in HDF5 files... ') +diff --git a/integration/experiment/ffnet/gen_hdf_from_fsweep.py b/integration/experiment/ffnet/gen_hdf_from_fsweep.py +index 770d30bd6b..4817af6321 100755 +--- a/integration/experiment/ffnet/gen_hdf_from_fsweep.py ++++ b/integration/experiment/ffnet/gen_hdf_from_fsweep.py +@@ -148,7 +148,7 @@ + + pd \ + .concat(reports_dfs, ignore_index=True) \ +- .to_hdf(f"{output_prefix}_stats.h5", "stats", mode='w') ++ .to_hdf(f"{output_prefix}_stats.h5", key="stats", mode='w') + + #Creating trace hdf for training neural net, annotated with region hashes or + #generated region names when hashes are not available +@@ -158,7 +158,7 @@ + + pd \ + .concat(trace_dfs, ignore_index=True) \ +- .to_hdf(f"{output_prefix}_traces.h5", "traces", mode='w') ++ .to_hdf(f"{output_prefix}_traces.h5", key="traces", mode='w') + + + if __name__ == "__main__": +diff --git a/integration/experiment/sst_evaluation/gen_plot_time.py b/integration/experiment/sst_evaluation/gen_plot_time.py +index a75ca48f0c..ea0ee479aa 100755 +--- a/integration/experiment/sst_evaluation/gen_plot_time.py ++++ b/integration/experiment/sst_evaluation/gen_plot_time.py +@@ -267,11 +267,11 @@ def reports_and_traces_to_dataframes(report_paths): + except OSError: + # Write the preprocessed data to a cached file + df, frequency_df, epoch_df, core_frequencies_by_time_df = reports_and_traces_to_dataframes(args.report_paths) +- df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'df', 'w') +- frequency_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'frequency_df', 'a') +- epoch_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), 'epoch_df', 'a') ++ df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='df', mode='w') ++ frequency_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='frequency_df', mode='a') ++ epoch_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), key='epoch_df', mode='a') + core_frequencies_by_time_df.to_hdf(os.path.join(args.analysis_dir, 'cache.hdf'), +- 'core_frequencies_by_time_df', 'a') ++ key='core_frequencies_by_time_df', mode='a') + + df['Application'] = df['Application'].str.rsplit('_', 1).str[-1] + epoch_df['Application'] = epoch_df['Application'].str.rsplit('_', 1).str[-1] diff --git a/python-geopmpy.spec b/python-geopmpy.spec index d34a836..d127834 100644 --- a/python-geopmpy.spec +++ b/python-geopmpy.spec @@ -9,7 +9,7 @@ optimize system hardware settings to achieve energy efficiency and/or performance objectives.} Name: python-%{prj_name} -Version: 3.2.1 +Version: 3.2.2 Release: %autorelease Summary: Python bindings for libgeopm @@ -17,26 +17,16 @@ License: BSD-3-Clause URL: https://geopm.github.io Source0: https://github.com/geopm/geopm/archive/v%{version}/geopm-%{version}.tar.gz +# Update usage of DataFrame.to_hdf +# https://github.com/geopm/geopm/commit/5396e439e2cc40d95a20bd829134096c12fc2286 +Patch0: 5396e439e2cc40d95a20bd829134096c12fc2286.patch + ExclusiveArch: x86_64 BuildRequires: gcc -BuildRequires: python3-cffi BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-setuptools_scm -BuildRequires: python3-geopmdpy >= 3.2.1 -BuildRequires: python3-cycler -BuildRequires: python3-pandas -BuildRequires: python3-natsort -BuildRequires: python3-tables -BuildRequires: python3-pyyaml -BuildRequires: libgeopm-devel >= 3.2.1 -BuildRequires: libgeopmd-devel >= 3.2.1 -Requires: python3-cycler -Requires: python3-natsort -Requires: python3-pandas -Requires: python3-tables -Requires: python3-pyyaml +BuildRequires: libgeopm-devel >= 3.2.2 +BuildRequires: libgeopmd-devel >= 3.2.2 Requires: geopmd %description @@ -50,32 +40,29 @@ Summary: %{summary} %prep %autosetup -p1 -n geopm-%{version} +echo %{version} > %{prj_name}/%{prj_name}/VERSION -pushd %{prj_name} -echo %{version} > %{prj_name}/VERSION -popd +%generate_buildrequires +cd %{prj_name} +%pyproject_buildrequires %build -pushd %{prj_name} -%py3_build -popd +cd %{prj_name} +%pyproject_wheel %install -pushd %{prj_name} -%py3_install -popd +cd %{prj_name} +%pyproject_install +%pyproject_save_files %{prj_name} %check -pushd %{prj_name} +cd %{prj_name} %{python3} -m unittest discover -s test -p 'Test*.py' -v -popd -%files -n python3-%{prj_name} +%files -n python3-%{prj_name} -f %{pyproject_files} %license LICENSE-BSD-3-Clause %doc README.md %{python3_sitearch}/_libgeopm_py_cffi.abi3.so -%{python3_sitearch}/%{prj_name} -%{python3_sitearch}/%{prj_name}-*.egg-info %{_bindir}/geopmlaunch %changelog diff --git a/sources b/sources index 38359cc..01816e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (geopm-3.2.1.tar.gz) = faaaf9b48391bb94468a13b9f9292f10845089d7141ec07dccc9f812cd0c33319963b46365c4afe057f2cdb909c63cfdfa0d51459ebec02b000d0b3f5c39d487 +SHA512 (geopm-3.2.2.tar.gz) = f4e9d1abc5920cee0a790be89c0dab76fc3bff57276b65106dad963c117c8709945ae72bd93091b247a199d6867f743906ec558174f8743fc7b8906d614f9300 From 4dad791d0a997e7e905a3d15eaf1032bd875d780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 24 Aug 2026 14:28:01 +0200 Subject: [PATCH 11/11] Fix build with different extension module filename The filename is now _libgeopm_py_cffi.abi3-x86_64-linux-gnu.so :/ Make it build regardless. --- python-geopmpy.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-geopmpy.spec b/python-geopmpy.spec index d127834..722a9bf 100644 --- a/python-geopmpy.spec +++ b/python-geopmpy.spec @@ -62,7 +62,7 @@ cd %{prj_name} %files -n python3-%{prj_name} -f %{pyproject_files} %license LICENSE-BSD-3-Clause %doc README.md -%{python3_sitearch}/_libgeopm_py_cffi.abi3.so +%{python3_sitearch}/_libgeopm_py_cffi.abi3*.so %{_bindir}/geopmlaunch %changelog