Bug 1885684

Summary: Review Request: rocm-smi - AMD ROCm System Management Interface
Product: [Fedora] Fedora Reporter: Ben Beasley <code>
Component: Package ReviewAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: package-review, zbyszek
Target Milestone: ---Flags: zbyszek: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-15 21:02:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 177841    

Description Ben Beasley 2020-10-06 17:40:37 UTC
Spec URL: https://gitlab.com/musicinmybrain/rocm-smi-rpm/-/raw/master/rocm-smi.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/6769/52876769/rocm-smi-3.8.0-1.fc34.src.rpm
Description: AMD ROCm System Management Interface
Fedora Account System Username: music

This is a command-line tool for clock and temperature management of a ROCm enabled system, i.e., one with an AMD GPU.

It does not directly depend on the AMDGPU (open-source) or AMDGPU-PRO (proprietary) GPU driver; instead, it is a monolithic pure-Python script that interacts with any supported GPU via sysfs.

Koji build for Fedora 34: https://koji.fedoraproject.org/koji/taskinfo?taskID=52876746
Koji build for Fedora 33: https://koji.fedoraproject.org/koji/taskinfo?taskID=52876923
Koji build for Fedora 32: https://koji.fedoraproject.org/koji/taskinfo?taskID=52877091
Koji build for EPEL8: https://koji.fedoraproject.org/koji/taskinfo?taskID=52877312
Koji build for EPEL7: https://koji.fedoraproject.org/koji/taskinfo?taskID=52877482

----

This is my first package for Fedora, and I am seeking a sponsor. As instructed on https://pagure.io/packager-sponsors/, I will apply for sponsorship once the package review process is completed for this package. Once the package is in Fedora, I plan to request EPEL branches as well. I have also added the upstream package to release monitoring: https://release-monitoring.org/project/138112/.

While I have about a decade of experience with RPM packaging, this has generally not been public work. I offer the following recent contributions to demonstrate my understanding of RPM packaging and of Fedora guidelines and processes.

My PR to build rasqal against system libraries (libgcrypt) instead of using bundled cryptographic hash implementations was accepted, resolving a six-year-old issue: https://bugzilla.redhat.com/show_bug.cgi?id=1099251.

My PR to unbundle mathjax from spyder was accepted, resolving a seven-year-old issue: https://bugzilla.redhat.com/show_bug.cgi?id=1017213.

I fixed a couple of cases where applications showed a generic fallback icon under GNOME/Wayland. In the case of spyder, the correct fix was to make an upstream bug report and supply an upstream PR, which was accepted: https://bugzilla.redhat.com/show_bug.cgi?id=1832579. In the case of boinc-client, the correct fix was a change in the Fedora packaging: https://bugzilla.redhat.com/show_bug.cgi?id=1880553.

I have also written a spec file for the SLEEF Vectorized Math Library, which demonstrates my ability to correctly handle more complicated packages than this one: https://gitlab.com/musicinmybrain/sleef-rpm/-/blob/master/sleef.spec. I have not submitted a review request for that package because there are still a few unresolved test failures on the s390x platform.

Thanks for your time.

Comment 1 Zbigniew Jędrzejewski-Szmek 2020-10-06 19:06:12 UTC
Kudos for starting with koji builds on multiple versions!

> https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-%{version}.tar.gz#/ROC-smi-rocm-%{version}.tar.gz

We generally don't use the trick with package renaming anymore. It doesn't hurt, but it introduces
additional complexity.

Package is simple, everything seems straightforward.
+ package name is OK
+ latest version
+ license is acceptable for Fedora (MIT)
+ license is specified correctly
+ BR/Requires/Provides look reasonable
+ builds and installs OK

rpmlint:
rocm-smi.noarch: W: no-manual-page-for-binary rocm-smi
2 packages and 0 specfiles checked; 0 errors, 1 warnings.

Oh, one minor issue:
The man page needs to go into %{_mandir}/man1/. That's why rpmlint doesn't find the page.

> I have also written a spec file for the SLEEF Vectorized Math Library, which demonstrates my ability to correctly handle more complicated packages than this one:
> https://gitlab.com/musicinmybrain/sleef-rpm/-/blob/master/sleef.spec. I have not submitted a review request for that package because there are still a few unresolved test
> failures on the s390x platform.

Please also submit that. It might be OK to simply exclude the build for s390x or skip the tests...

Comment 2 Ben Beasley 2020-10-06 19:45:33 UTC
> We generally don't use the trick with package renaming anymore.

Adjusted, thanks.

> The man page needs to go into %{_mandir}/man1/. That's why rpmlint doesn't find the page.

Thanks! A simple typo, now resolved. I’m surprised I didn’t catch it myself. I also found an error in the regex I was using to alter the generated man page, and fixed that as well.

> Please also submit that. It might be OK to simply exclude the build for s390x or skip the tests...

OK, I can submit that with s390x tests disabled. Upstream claims the package should work on s390x, but the test framework is a little… opaque, so it’s hard to dig into failures if you’re not the upstream maintainer. It might be possible to get somewhere with an upstream bug report, or not.

----

The updated spec file is at the original link. Here is the new batch of koji builds:

Fedora 34: https://koji.fedoraproject.org/koji/taskinfo?taskID=52886511
Fedora 33: https://koji.fedoraproject.org/koji/taskinfo?taskID=52886874
Fedora 32: https://koji.fedoraproject.org/koji/taskinfo?taskID=52887198
EPEL8: https://koji.fedoraproject.org/koji/taskinfo?taskID=52886548
EPEL7: https://koji.fedoraproject.org/koji/taskinfo?taskID=52886971

…and the new SRPM: https://kojipkgs.fedoraproject.org//work/tasks/6750/52886750/rocm-smi-3.8.0-1.fc34.src.rpm.

Thanks for your input.

Comment 3 Zbigniew Jędrzejewski-Szmek 2020-10-06 20:12:34 UTC
Package is APPROVED.

Comment 4 Gwyn Ciesla 2020-10-15 16:59:37 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/rocm-smi