Bug 2139889 - Review Request: nvtop - GPU process monitoring for AMD, Intel and NVIDIA
Summary: Review Request: nvtop - GPU process monitoring for AMD, Intel and NVIDIA
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Davide Cavalca
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-11-03 18:07 UTC by Michel Lind
Modified: 2022-11-13 03:04 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-11-04 11:27:31 UTC
Type: ---
Embargoed:
davide: fedora-review+


Attachments (Terms of Use)

Description Michel Lind 2022-11-03 18:07:17 UTC
Spec URL: https://salimma.fedorapeople.org/nvtop.spec
SRPM URL: https://salimma.fedorapeople.org/nvtop-3.0.0-1.fc37.src.rpm

Description:
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Intel
and NVIDIA GPUs. It can handle multiple GPUs and print information about them in
a htop familiar way.

Fedora Account System Username: salimma

Comment 1 Davide Cavalca 2022-11-03 18:10:32 UTC
You have autorelease/autochangelog commented out, either remove them or remove the manual release/changelog

Comment 2 Davide Cavalca 2022-11-03 18:26:37 UTC
This is a review *template*. Besides handling the [ ]-marked tests you are
also supposed to fix the template before pasting into bugzilla:
- Add issues you find to the list of issues on top. If there isn't such
  a list, create one.
- Add your own remarks to the template checks.
- Add new lines marked [!] or [?] when you discover new things not
  listed by fedora-review.
- Change or remove any text in the template which is plain wrong. In this
  case you could also file a bug against fedora-review
- Remove the "[ ] Manual check required", you will not have any such lines
  in what you paste.
- Remove attachments which you deem not really useful (the rpmlint
  ones are mandatory, though)
- Remove this text



Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "*No copyright* GNU General Public
     License, Version 3", "BSD 3-Clause License", "GNU Lesser General
     Public License v2.1 or later", "BSD 1-Clause License", "GNU General
     Public License v3.0 or later", "MIT License", "*No copyright* BSD
     3-Clause License". 23 files have unknown license. Detailed output of
     licensecheck in /tmp/a/2139889-nvtop/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 1 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Cannot parse rpmlint output:


Rpmlint (debuginfo)
-------------------
Cannot parse rpmlint output:



Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 31, packages: 3

 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 1.2 s 



Source checksums
----------------
https://github.com/Syllo/nvtop/archive/3.0.0/nvtop-3.0.0.tar.gz :
  CHECKSUM(SHA256) this package     : f7da9eb85a4df6bd6a2d8afd47ae901755106c4ff7f63cd1df61a702f85f7027
  CHECKSUM(SHA256) upstream package : f7da9eb85a4df6bd6a2d8afd47ae901755106c4ff7f63cd1df61a702f85f7027


Requires
--------
nvtop (rpmlib, GLIBC filtered):
    hicolor-icon-theme
    libc.so.6()(64bit)
    libm.so.6()(64bit)
    libncursesw.so.6()(64bit)
    libsystemd.so.0()(64bit)
    libsystemd.so.0(LIBSYSTEMD_240)(64bit)
    libtinfo.so.6()(64bit)
    rtld(GNU_HASH)

nvtop-debuginfo (rpmlib, GLIBC filtered):

nvtop-debugsource (rpmlib, GLIBC filtered):



Provides
--------
nvtop:
    application()
    application(nvtop.desktop)
    metainfo()
    metainfo(io.github.syllo.nvtop.metainfo.xml)
    nvtop
    nvtop(x86-64)

nvtop-debuginfo:
    debuginfo(build-id)
    nvtop-debuginfo
    nvtop-debuginfo(x86-64)

nvtop-debugsource:
    nvtop-debugsource
    nvtop-debugsource(x86-64)



Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23
Command line :/usr/bin/fedora-review -b 2139889
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Haskell, PHP, fonts, Perl, R, Ocaml, Python, Java, SugarActivity
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 3 Davide Cavalca 2022-11-03 18:27:17 UTC
I think you need to update the license tag, here's the licensecheck output for reference:

*No copyright* BSD 3-Clause License
-----------------------------------
nvtop-3.0.0/cmake/modules/FindLibdrm.cmake

*No copyright* GNU General Public License, Version 3
----------------------------------------------------
nvtop-3.0.0/README.markdown
nvtop-3.0.0/snap/snapcraft.yaml

BSD 1-Clause License
--------------------
nvtop-3.0.0/include/uthash.h

BSD 3-Clause License
--------------------
nvtop-3.0.0/include/ini.h
nvtop-3.0.0/src/ini.c

GNU General Public License v3.0 or later
----------------------------------------
nvtop-3.0.0/include/nvtop/common.h
nvtop-3.0.0/include/nvtop/device_discovery.h
nvtop-3.0.0/include/nvtop/extract_gpuinfo.h
nvtop-3.0.0/include/nvtop/extract_gpuinfo_common.h
nvtop-3.0.0/include/nvtop/extract_processinfo_fdinfo.h
nvtop-3.0.0/include/nvtop/get_process_info.h
nvtop-3.0.0/include/nvtop/info_messages.h
nvtop-3.0.0/include/nvtop/interface.h
nvtop-3.0.0/include/nvtop/interface_common.h
nvtop-3.0.0/include/nvtop/interface_internal_common.h
nvtop-3.0.0/include/nvtop/interface_options.h
nvtop-3.0.0/include/nvtop/interface_ring_buffer.h
nvtop-3.0.0/include/nvtop/interface_setup_win.h
nvtop-3.0.0/include/nvtop/plot.h
nvtop-3.0.0/include/nvtop/time.h
nvtop-3.0.0/include/nvtop/version.h.in
nvtop-3.0.0/src/device_discovery_linux.c
nvtop-3.0.0/src/extract_gpuinfo.c
nvtop-3.0.0/src/extract_gpuinfo_amdgpu.c
nvtop-3.0.0/src/extract_gpuinfo_intel.c
nvtop-3.0.0/src/extract_gpuinfo_nvidia.c
nvtop-3.0.0/src/extract_processinfo_fdinfo.c
nvtop-3.0.0/src/get_process_info_linux.c
nvtop-3.0.0/src/info_messages_linux.c
nvtop-3.0.0/src/interface.c
nvtop-3.0.0/src/interface_options.c
nvtop-3.0.0/src/interface_setup_win.c
nvtop-3.0.0/src/nvtop.c
nvtop-3.0.0/src/plot.c
nvtop-3.0.0/src/time.c
nvtop-3.0.0/tests/interfaceTests.cpp

GNU Lesser General Public License v2.1 or later
-----------------------------------------------
nvtop-3.0.0/include/list.h

MIT License
-----------
nvtop-3.0.0/cmake/modules/FindASan.cmake
nvtop-3.0.0/cmake/modules/FindMSan.cmake
nvtop-3.0.0/cmake/modules/FindSanitizers.cmake
nvtop-3.0.0/cmake/modules/FindTSan.cmake
nvtop-3.0.0/cmake/modules/FindUBSan.cmake
nvtop-3.0.0/cmake/modules/asan-wrapper
nvtop-3.0.0/cmake/modules/sanitize-helpers.cmake

Unknown or generated
--------------------
nvtop-3.0.0/.clang-format
nvtop-3.0.0/AppImage/make_appimage.sh
nvtop-3.0.0/AppImage/make_appimage_ubuntu_1804_docker.sh
nvtop-3.0.0/CMakeLists.txt
nvtop-3.0.0/COPYING
nvtop-3.0.0/Dockerfile
nvtop-3.0.0/cmake/cmake_uninstall.cmake.in
nvtop-3.0.0/cmake/compile-flags-helpers.cmake
nvtop-3.0.0/cmake/modules/FindCurses.cmake
nvtop-3.0.0/cmake/modules/FindSystemd.cmake
nvtop-3.0.0/cmake/modules/FindUDev.cmake
nvtop-3.0.0/cmake/optimization_flags.cmake
nvtop-3.0.0/desktop/nvtop.desktop
nvtop-3.0.0/desktop/nvtop.metainfo.xml.in
nvtop-3.0.0/desktop/nvtop.svg
nvtop-3.0.0/include/nvtop/interface_layout_selection.h
nvtop-3.0.0/manpage/nvtop.in
nvtop-3.0.0/screenshot/NVTOP_ex1.png
nvtop-3.0.0/screenshot/Nvtop-config.png
nvtop-3.0.0/src/CMakeLists.txt
nvtop-3.0.0/src/interface_layout_selection.c
nvtop-3.0.0/src/interface_ring_buffer.c
nvtop-3.0.0/tests/CMakeLists.txt

Comment 4 Michel Lind 2022-11-03 18:36:56 UTC
Note: NVIDIA support is via dlopen, and this package is also functional on AMD and Intel GPUs anyway

I can add some weak dependencies on the needed Nvidia libraries, but worried it might mess up people who e.g. have some repos enabled but install their drivers from source.

Comment 5 Michel Lind 2022-11-03 18:38:17 UTC
(In reply to Davide Cavalca from comment #1)
> You have autorelease/autochangelog commented out, either remove them or
> remove the manual release/changelog

I'll be enabling them for the imported build, it's just easier to have both in when doing local builds for EPEL since without a repo to do `fedpkg srpm` in the `%autorelease` does not get resolved

Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=93753645

Comment 6 Michel Lind 2022-11-03 18:48:11 UTC
spec updated with license breakdown. Also switched back to %autorelease / %autochangelog (they were previously properly commented out with %%)

Comment 7 Davide Cavalca 2022-11-03 18:49:49 UTC
lgtm now, APPROVED

Comment 8 Michel Lind 2022-11-03 18:54:05 UTC
Thanks!

specs/utils on  master [✘?] 
⬢ [fedora-toolbox:37] ❯ fedpkg request-repo nvtop 2139889
https://pagure.io/releng/fedora-scm-requests/issue/48787

specs/utils on  master [✘?] took 4s 
⬢ [fedora-toolbox:37] ❯ fedpkg request-branch --repo nvtop --all-releases
https://pagure.io/releng/fedora-scm-requests/issue/48788
https://pagure.io/releng/fedora-scm-requests/issue/48789
https://pagure.io/releng/fedora-scm-requests/issue/48790

specs/utils on  master [✘?] took 8s 
⬢ [fedora-toolbox:37] ❯ fedpkg request-branch --repo nvtop epel8
https://pagure.io/releng/fedora-scm-requests/issue/48791

specs/utils on  master [✘?] took 12s 
⬢ [fedora-toolbox:37] ❯ fedpkg request-branch --repo nvtop epel9
https://pagure.io/releng/fedora-scm-requests/issue/48792

Comment 9 Gwyn Ciesla 2022-11-03 19:30:31 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/nvtop

Comment 10 Fedora Update System 2022-11-03 21:57:54 UTC
FEDORA-EPEL-2022-51f8f40104 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-51f8f40104

Comment 11 Fedora Update System 2022-11-03 21:57:54 UTC
FEDORA-2022-e264ab809d has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-e264ab809d

Comment 12 Fedora Update System 2022-11-03 21:57:55 UTC
FEDORA-2022-c3901e45f6 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-c3901e45f6

Comment 13 Fedora Update System 2022-11-03 21:57:55 UTC
FEDORA-EPEL-2022-80e67e007e has been submitted as an update to Fedora EPEL 9. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-80e67e007e

Comment 14 Fedora Update System 2022-11-04 10:55:53 UTC
FEDORA-2022-e264ab809d has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-e264ab809d \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-e264ab809d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2022-11-04 11:09:38 UTC
FEDORA-EPEL-2022-80e67e007e has been pushed to the Fedora EPEL 9 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-80e67e007e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2022-11-04 11:27:31 UTC
FEDORA-EPEL-2022-51f8f40104 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Fedora Update System 2022-11-04 11:48:00 UTC
FEDORA-2022-c3901e45f6 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-c3901e45f6 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-c3901e45f6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 18 Fedora Update System 2022-11-10 22:32:05 UTC
FEDORA-2022-2cad5b084c has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2022-11-13 01:16:35 UTC
FEDORA-2022-c3901e45f6 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2022-11-13 01:19:35 UTC
FEDORA-2022-e264ab809d has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 21 Fedora Update System 2022-11-13 03:04:21 UTC
FEDORA-EPEL-2022-80e67e007e has been pushed to the Fedora EPEL 9 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.