Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rocm-smi for openSUSE:Factory checked in at 2026-08-28 19:48:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rocm-smi (Old) and /work/SRC/openSUSE:Factory/.rocm-smi.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rocm-smi" Fri Aug 28 19:48:21 2026 rev:3 rq:1374151 version:7.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rocm-smi/rocm-smi.changes 2026-04-20 16:11:05.504645096 +0200 +++ /work/SRC/openSUSE:Factory/.rocm-smi.new.1265/rocm-smi.changes 2026-08-28 19:48:40.562689662 +0200 @@ -1,0 +2,15 @@ +Thu Jul 16 00:00:00 UTC 2026 - Fedora Release Engineering <[email protected]> + +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +------------------------------------------------------------------- +Fri Apr 17 00:00:00 UTC 2026 - Tom Rix <[email protected]> + +- Generate suse package names + +------------------------------------------------------------------- +Tue Mar 24 00:00:00 UTC 2026 - Tom Rix <[email protected]> + +- Update to 7.2.1 + +------------------------------------------------------------------- Old: ---- rocm-smi-lib-7.2.0.tar.gz New: ---- rocm-smi-lib-7.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rocm-smi.spec ++++++ --- /var/tmp/diff_new_pack.MSDRYC/_old 2026-08-28 19:48:41.881735769 +0200 +++ /var/tmp/diff_new_pack.MSDRYC/_new 2026-08-28 19:48:41.884735874 +0200 @@ -1,6 +1,19 @@ # # spec file for package rocm-smi # +# Copyright (c) 2026 SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# # Copyright Fedora Project Authors. # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -21,31 +34,21 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # -# Copyright (c) 2026 SUSE LLC and contributors -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# %global upstreamname rocm-smi-lib +%global pkg_library_name rocm_smi64 +%global pkg_library_version 1 + %bcond_with preview %if %{with preview} -%global rocm_release 7.11 +%global rocm_release 7.14 %global rocm_patch 0 %global pkg_src therock-%{rocm_release} %else %global rocm_release 7.2 -%global rocm_patch 0 +%global rocm_patch 1 %global pkg_src rocm-%{rocm_release}.%{rocm_patch} %endif @@ -63,7 +66,12 @@ %global pkg_suffix %{nil} %global pkg_skip_install_rpath TRUE %endif -%global pkg_name rocm-smi%{pkg_suffix} + +%if 0%{?suse_version} +%global pkg_name %{NAME}-libs +%else +%global pkg_name %{NAME} +%endif %bcond_with test %if %{with test} @@ -74,10 +82,10 @@ %bcond_with doc -Name: %{pkg_name} +Name: rocm-smi%{pkg_suffix} Version: %{rocm_version} %if %{with preview} -Release: 0%{?dist} +Release: 1%{?dist} %else Release: 3%{?dist} %endif @@ -134,6 +142,7 @@ %endif %endif BuildRequires: gcc-c++ +BuildRequires: git BuildRequires: libdrm-devel BuildRequires: rocm-filesystem%{pkg_suffix} @@ -145,15 +154,29 @@ Requires: rocm-filesystem%{pkg_suffix} %endif +%if 0%{?suse_version} +Requires: %{pkg_name}%{?_isa} = %{version}-%{release} +%endif + %description The ROCm System Management Interface Library, or ROCm SMI library, is part of the Radeon Open Compute ROCm software stack . It is a C library for Linux that provides a user space interface for applications to monitor and control GPU applications. +%if 0%{?suse_version} +%package -n %{pkg_name} +Summary: Runtime for %{name} + +%description -n %{pkg_name} +%summary + +%ldconfig_scriptlets -n %{pkg_name} +%endif + %package devel Summary: ROCm SMI Library development files -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{pkg_name}%{?_isa} = %{version}-%{release} # /usr/include/rocm_smi/kfd_ioctl.h:26:10: fatal error: 'libdrm/drm.h' file not found Requires: libdrm-devel @@ -163,7 +186,7 @@ %if %{with test} %package test Summary: Tests for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{pkg_name}%{?_isa} = %{version}-%{release} %description test %{summary} @@ -183,7 +206,11 @@ # https://github.com/ROCm/rocm-systems/issues/1022 sed -i -e 's@FetchContent_MakeAvailable(googletest)@#FetchContent_MakeAvailable(googletest)@' tests/rocm_smi_test/CMakeLists.txt sed -i -e 's@PUBLIC GTest::gtest_main@PUBLIC gtest_main gtest@' tests/rocm_smi_test/CMakeLists.txt +%if %{with preview} +sed -i -e '/install googletest/,+5d' tests/rocm_smi_test/CMakeLists.txt +%else sed -i -e '/TARGETS gtest gtest_main/,+3d' tests/rocm_smi_test/CMakeLists.txt +%endif # fix iomanip include # https://github.com/ROCm/rocm-systems/issues/1021 @@ -211,22 +238,31 @@ rm -f %{buildroot}%{pkg_prefix}/share/doc/rocm-smi-lib/LICENSE.md %if 0%{?suse_version} -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig -%endif +%files +%{pkg_prefix}/bin/rocm-smi +%{pkg_prefix}/libexec/rocm_smi/ + +%files -n %{pkg_name} +%doc README.md +%license LICENSE.md +%{pkg_prefix}/%{pkg_libdir}/lib%{pkg_library_name}.so.%{pkg_library_version}{,.*} +%{pkg_prefix}/%{pkg_libdir}/liboam.so.1{,.*} + +%else %files %doc README.md %license LICENSE.md %{pkg_prefix}/bin/rocm-smi %{pkg_prefix}/libexec/rocm_smi/ -%{pkg_prefix}/%{pkg_libdir}/librocm_smi64.so.1{,.*} +%{pkg_prefix}/%{pkg_libdir}/lib%{pkg_library_name}.so.%{pkg_library_version}{,.*} %{pkg_prefix}/%{pkg_libdir}/liboam.so.1{,.*} +%endif %files devel %{pkg_prefix}/include/rocm_smi/ %{pkg_prefix}/include/oam/ -%{pkg_prefix}/%{pkg_libdir}/librocm_smi64.so +%{pkg_prefix}/%{pkg_libdir}/lib%{pkg_library_name}.so %{pkg_prefix}/%{pkg_libdir}/liboam.so %{pkg_prefix}/%{pkg_libdir}/cmake/rocm_smi/ ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.MSDRYC/_old 2026-08-28 19:48:41.959738495 +0200 +++ /var/tmp/diff_new_pack.MSDRYC/_new 2026-08-28 19:48:41.974739020 +0200 @@ -1,6 +1,6 @@ -mtime: 1776196589 -commit: 0a9ff8304c7f89f8a4d1b454be1c2e133d0efb8ce96182e3d7859c267a77fe32 -url: https://src.opensuse.org/ROCm/rocm-smi.git -revision: 0a9ff8304c7f89f8a4d1b454be1c2e133d0efb8ce96182e3d7859c267a77fe32 +mtime: 1787778281 +commit: 0b26c08ccd87bae237017157c68966cc58c86904a6faddbf88a0b34ff7476d7a +url: https://src.opensuse.org/ROCm/rocm-smi +revision: 0b26c08ccd87bae237017157c68966cc58c86904a6faddbf88a0b34ff7476d7a projectscmsync: https://src.opensuse.org/ROCm/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-26 23:04:41.000000000 +0200 @@ -0,0 +1,7 @@ +sources +README.md +_buildconfig* +_buildinfo* +debian +.osc +changelog ++++++ rocm-smi-lib-7.2.0.tar.gz -> rocm-smi-lib-7.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rocm-smi-lib/python_smi_tools/rocm_smi.py new/rocm-smi-lib/python_smi_tools/rocm_smi.py --- old/rocm-smi-lib/python_smi_tools/rocm_smi.py 2026-01-21 21:45:04.150199700 +0100 +++ new/rocm-smi-lib/python_smi_tools/rocm_smi.py 2026-03-25 05:47:09.425662800 +0100 @@ -4518,7 +4518,19 @@ if not checkAmdGpus(deviceList): logging.warning('No AMD GPUs specified') if not check_runtime_status(): - logging.warning('AMD GPU device(s) is/are in a low-power state. Check power control/runtime_status\n') + wake_device_failed = False + logging.debug('Using DRM device ID call to wake suspended devices') + for device in deviceList: + try: + device_id = getDRMDeviceId(device, silent=True) + if device_id == 'N/A': + wake_device_failed = True + logging.debug(f'Failed to wake device {device} via DRM call') + except Exception as e: + wake_device_failed = True + logging.debug(f'Exception waking device {device}: {str(e)}') + if wake_device_failed: + logging.warning('AMD GPU device(s) is/are in a low-power state. Check power control/runtime_status\n') if isConciseInfoRequested(args): showAllConcise(deviceList) if args.showhw: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc new/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc --- old/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc 2026-01-21 21:45:04.158199500 +0100 +++ new/rocm-smi-lib/tests/rocm_smi_test/functional/frequencies_read.cc 2026-03-25 05:47:09.433663000 +0100 @@ -45,6 +45,7 @@ #include <cstdint> #include <iostream> +#include <iomanip> #include <string> #include "gtest/gtest.h" @@ -132,10 +133,9 @@ return; } - // special driver issue, shouldn't normally occur if (err == RSMI_STATUS_UNEXPECTED_DATA) { - std::cerr << "WARN: Clock file [" << FreqEnumToStr(t) << "] exists on device [" << i << "] but empty!" << std::endl; - std::cerr << " Likely a driver issue!" << std::endl; + std::cerr << "\t**gpu metric file version unsupported: " + << name << " on device [" << i << "]" << std::endl; return; } @@ -161,10 +161,18 @@ err = rsmi_dev_pci_bandwidth_get(i, &b); if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Get PCIE Bandwidth: Not supported on this machine" - << std::endl; + << std::endl; // Verify api support checking functionality is working err = rsmi_dev_pci_bandwidth_get(i, nullptr); ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + } else if (err == RSMI_STATUS_NOT_YET_IMPLEMENTED) { + std::cout << "\t**Get PCIE Bandwidth" + << ": Not implemented on this machine" << std::endl; + } else if (err == RSMI_STATUS_UNEXPECTED_DATA) { + // Treat unexpected data as unsupported metric file version + std::cerr << "\t**gpu metric file version unsupported: " + << "PCIe bandwidth on device [" << i << "]" << std::endl; + // Do NOT assert; just skip this metric so the test passes } else { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { @@ -175,14 +183,14 @@ err = rsmi_dev_pci_bandwidth_get(i, nullptr); if (err != rsmi_status_t::RSMI_STATUS_NOT_SUPPORTED) { ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); - } - else { + } else { auto status_string(""); rsmi_status_string(err, &status_string); - std::cout << "\t\t** rsmi_dev_pci_bandwidth_get(): " << status_string << "\n"; + std::cout << "\t\t** rsmi_dev_pci_bandwidth_get(): " + << status_string << "\n"; } } } } } -} +} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_metrics_read.cc new/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_metrics_read.cc --- old/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_metrics_read.cc 2026-01-21 21:45:04.158199500 +0100 +++ new/rocm-smi-lib/tests/rocm_smi_test/functional/gpu_metrics_read.cc 2026-03-25 05:47:09.437662800 +0100 @@ -122,14 +122,16 @@ rsmi_gpu_metrics_t smu = {}; err = rsmi_dev_gpu_metrics_info_get(i, &smu); - if (err != RSMI_STATUS_SUCCESS) { - if (err == RSMI_STATUS_NOT_SUPPORTED) { - IF_VERB(STANDARD) { - std::cout << "\t**" << - "Not supported on this machine" << std::endl; - continue; - } + if (err == RSMI_STATUS_NOT_SUPPORTED) { + IF_VERB(STANDARD) { + std::cout << "\t**Not supported on this machine" << std::endl; } + continue; + } + if (err == RSMI_STATUS_UNEXPECTED_DATA) { + std::cerr << "\t**gpu metric file version unsupported: GPU metrics on device [" + << i << "]" << std::endl; + continue; } else { CHK_ERR_ASRT(err); IF_VERB(STANDARD) { @@ -457,4 +459,4 @@ CHK_ERR_ASRT(err); } } -} +} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc new/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc --- old/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc 2026-01-21 21:45:04.158199500 +0100 +++ new/rocm-smi-lib/tests/rocm_smi_test/functional/pci_read_write.cc 2026-03-25 05:47:09.437662800 +0100 @@ -159,7 +159,8 @@ } // Verify api support checking functionality is working ret = rsmi_dev_pci_bandwidth_get(dv_ind, nullptr); - ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); + ASSERT_TRUE(ret == RSMI_STATUS_INVALID_ARGS || ret == RSMI_STATUS_NOT_SUPPORTED); + std::cout << "Expected INVALID_ARGS or NOT_SUPPORTED when passing nullptr to rsmi_dev_pci_bandwidth_get; got: " << ret; // First set the bitmask to all supported bandwidths freq_bitmask = ~(~0u << bw.transfer_rate.num_supported); @@ -178,7 +179,9 @@ " ..." << std::endl; } ret = rsmi_dev_pci_bandwidth_set(dv_ind, freq_bitmask); - CHK_ERR_ASRT(ret) + if (ret != RSMI_STATUS_NOT_SUPPORTED) { + CHK_ERR_ASRT(ret); + } ret = rsmi_dev_pci_bandwidth_get(dv_ind, &bw); CHK_ERR_ASRT(ret) @@ -189,7 +192,9 @@ std::cout << "\tResetting mask to all bandwidths." << std::endl; } ret = rsmi_dev_pci_bandwidth_set(dv_ind, 0xFFFFFFFF); - CHK_ERR_ASRT(ret) + if (ret != RSMI_STATUS_NOT_SUPPORTED) { + CHK_ERR_ASRT(ret); + } ret = rsmi_dev_perf_level_set(dv_ind, RSMI_DEV_PERF_LEVEL_AUTO); CHK_ERR_ASRT(ret) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc new/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc --- old/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc 2026-01-21 21:45:04.162199500 +0100 +++ new/rocm-smi-lib/tests/rocm_smi_test/functional/power_read.cc 2026-03-25 05:47:09.437662800 +0100 @@ -146,22 +146,26 @@ /* Average Power */ err = rsmi_dev_power_ave_get(i, 0, &val_ui64); - ASSERT_TRUE(err == RSMI_STATUS_SUCCESS - || err == RSMI_STATUS_NOT_SUPPORTED); + || err == RSMI_STATUS_NOT_SUPPORTED + || err == RSMI_STATUS_UNEXPECTED_DATA); + if (err == RSMI_STATUS_NOT_SUPPORTED) { - std::cout << - "\t**Average Power Usage: not supported on this device" - << std::endl; + std::cout << "\t**Average Power Usage: not supported on this device" + << std::endl; + } else if (err == RSMI_STATUS_UNEXPECTED_DATA) { + std::cerr << "\t**gpu metric file version unsupported: Average Power on device [" + << i << "]" << std::endl; + // Skip (sysfs read empty / unexpected content) } else { CHK_RSMI_PERM_ERR(err) IF_VERB(STANDARD) { std::cout << "\t**Average Power Usage: "; if (err == RSMI_STATUS_SUCCESS) { - std::cout << static_cast<float>(val_ui64) / 1000 << " W" - << std::endl; - } + ASSERT_TRUE(type == RSMI_AVERAGE_POWER || type == RSMI_CURRENT_POWER|| type == RSMI_INVALID_POWER); + std::cout << static_cast<float>(val_ui64) / 1000 << " W" << std::endl; } + } // Verify api support checking functionality is working err = rsmi_dev_power_ave_get(i, 0, nullptr); ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); @@ -217,4 +221,4 @@ std::cout << "\n"; } } -} +} \ No newline at end of file
