DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: amdsmi 10.1-1~exp1

Package Information

DescriptionAMD System Management Interface - executable

amdsmi (AMD System Management Interface Library) is a C library for Linux providing user space interfaces to monitor and control AMD GPU devices.

This package provides the amd-smi executable.

MaintainerDebian ROCm Team <debian-ai@lists.debian.org>
Changed ByTalha Can Havadar <havadartalha@gmail.com>
Sponsorbayle@debian.org
Distributionexperimental
Architectureamd64
VCSgit: https://salsa.debian.org/rocm-team/amdsmi.git (browse)
Popcon Installs240
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/amdsmi
Uploaded12 days ago

New Package Report

.changes◂
Version10.1-1~exp1
Changed-ByTalha Can Havadar <havadartalha@gmail.com>
Architecturesource amd64
Distributionexperimental
DateMon, 12 Oct 2026 11:49:20 +0200
Sourceamdsmi
Changelog◂
amdsmi (10.1-1~exp1) experimental; urgency=medium
 .
   [ Talha Can Havadar ]
   * New upstream version 10.1
   * d/p/0001-modify-shared-lib-loading-path.patch: drop as now redundant
   * d/p/0002-use-system-libesmi-dev.patch: refresh for 10.1
   * d/amd-smi.install: install python3 dist-packages
 .
   [ Bruno Bernardo de Moura ]
   * d/amd-smi.install: add missing file
   * Drop obsolete patches:
      - d/p/0001-modify-esmi-path.patch
      - d/p/0002-remove-built-in-package.patch
      - d/p/0005-Fix-compilation-against-newer-libdrm.patch
      - d/p/0006-Remove-some-unnecessary-header-includes-and-adjust-o.patch
      - d/p/0001-ROCM-186-amd-smi-Add-support-for-a-VRAM-and-GTT-tuni.patch
   * d/control: add missing dependencies
   * d/p/series: enumerate remaining patch
   * debian: remove local esmi_ib_library
   * d/libamd-smi-dev.install: add missing files
   * d/not-installed: add missing file
   * d/copyright: update stanzas
   * d/libamd-smi26.shlibs: bump version to 7.2.14
   * d/watch: update upstream tag to follow therock-*
 .
   [ Igor Luppi ]
   * d/p: update 0002-use-system-libesmi-dev.patch for 10.0 changes
   * d/{control,libamd-smi*}: rename libamd-smi26 to libamd-smi27 for the new
     libamd_smi.so.27 SONAME
   * d/control: bump debhelper-compat to 14
.dsc◂
Sectionutils
Priorityoptional
Componentmain
Package-Listamd-smi deb utils optional arch=amd64
libamd-smi-dev deb libdevel optional arch=amd64
libamd-smi27 deb libs optional arch=amd64
libgoamdsmi-shim64-1 deb libs optional arch=amd64
libgoamdsmi-shim64-dev deb libdevel optional arch=amd64
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/ROCm/rocm-systems/releases
Upstream-Name: amdsmi
Comment: amdsmi was relicensed to MIT/Expat in 2024: https://github.com/ROCm/amdsmi/commit/3052ad42205f8939c88e7a84dc9c00b39fbceae0

Files: *
Copyright: Advanced Micro Devices, Inc.
License: Expat

Files: include/amd_smi/impl/amd_hsmp.h
Copyright: 2022-2024, Suma Hegde <suma.hegde@amd.com>
           2024, Arnd Bergmann <arnd@arndb.de>
           2024, Bjorn Helgaas <bhelgaas@google.com>
License: GPL-2 with Linux Syscall Note Exception
Comment: This file was directly copied from the linux kernel
 File is https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/tree/arch/x86/include/uapi/asm/amd_hsmp.h
 Copyright attribution was written by looking at the log for that file in git
 https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/arch/x86/include/uapi/asm/amd_hsmp.h

Files: include/libdrm/amdgpu_drm.h
Copyright: 2014, Advanced Micro Devices, Inc.
           2002, Tungsten Graphics, Inc.
           2000, VA Linux Systems, Inc.
           2000, Precision Insight, Inc.
License: Expat

Files: include/amd_smi/impl/xf86drm.h
Copyright: 1999-2000, Precision Insight, Inc.
           2000, VA Linux Systems, Inc.
License: Expat

Files: third_party/shared_mutex/*
Copyright: 2019-2024, Advanced Micro Devices, Inc.
           2018, Oleg Yamnikov
License: Expat

Files: debian/*
Copyright: 2024, Xuanteng Huang <xuanteng.huang@outlook.com>
           2025, Cordell Bloor <cgmb@slerp.xyz>
           2025, Mario Limonciello <superm1@gmail.com>
           2025, Tim Flink <tflink@tirfa.com>
           2026, Igor Luppi <igor.luppi@canonical.com>
           2026, Talha Can Havadar <havadartalha@gmail.com>
           2026, Bruno Bernardo de Moura <bruno.moura@canonical.com>
License: Expat

Files: include/libdrm/drm.h
Copyright: 1999, Precision Insight, Inc., Cedar Park, Texas.
           2000, VA Linux Systems, Inc., Sunnyvale, California.
License: Expat

Files: include/libdrm/drm_fourcc.h
Copyright: 2011, Intel Corporation
License: Expat

Files: include/libdrm/drm_mode.h
Copyright: 2007, Dave Airlie <airlied@linux.ie>
           2007, Jakob Bornecrantz <wallbraker@gmail.com>
           2007-2008, Intel Corporation
           2007-2008, Tungsten Graphics, Inc., Cedar Park, TX., USA
           2008, Red Hat Inc.
License: Expat

License: Expat
 Permission is hereby granted, free of charge, to any person obtaining a copy of
 this software and associated documentation files (the “Software”), to deal in
 the Software without restriction, including without limitation the rights to
 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 the Software, and to permit persons to whom the Software is furnished to do so,
 subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

License: GPL-2 with Linux Syscall Note Exception
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, version 2 of the License.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program. If not, see <http://www.gnu.org/licenses/>.
 .
 The complete text of the GNU General Public License
 can be found in /usr/share/common-licenses/GPL-2 file.
 .
 .
 Additionally, the following exception is granted:
 NOTE! This copyright does *not* cover user programs that use kernel services
 by normal system calls - this is merely considered normal use of the kernel,
 and does *not* fall under the heading of "derived work". Also note that the
 GPL below is copyrighted by the Free Software Foundation, but the instance of
 code that it refers to (the Linux kernel) is copyrighted by me and others who
 actually wrote it.
 .
 Also note that the only valid version of the GPL as far as the kernel is
 concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x
 or whatever), unless explicitly otherwise stated.
 .
Comment: See https://spdx.org/licenses/Linux-syscall-note.html

Review Information

accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.

Final Comment

Hi,

Some issues found during review that you may want to address...

  1. [important] [packaging] amd-smi runtime package depends on libamd-smi-dev instead of the runtime library
    libamd-smi27
  • Files: debian/control (amd-smi stanza, Depends line ~26)
  • Evidence: Depends: libamd-smi-dev (= ${binary:Version}), with the comment amd-smi looks for libamd_smi.so, so it depends on the -dev package. The shipped loader resolves the versioned SONAME, not the bare unversioned symlink: py-interface/amdsmi_wrapper.py has _AMDSMI_LIB_SONAME = "libamd_smi.so.27" and falls back to ctypes.CDLL(_AMDSMI_LIB_SONAME) via the dynamic linker.
  • Problem: The amd-smi package is a pure-Python CLI that only needs libamd_smi.so.27 at runtime, which libamd-smi27 provides. Depending on the -dev package drags the headers, static lib and CMake config into every amd-smi install (the only reason it works is that libamd-smi-dev itself depends on libamd-smi27). Depending on a -dev package from a non-development binary package is wrong practice and lintian flags the pattern.
  • Fix: Change to Depends: libamd-smi27 (= ${binary:Version}) and drop the misleading comment (the loader keys on the libamd_smi.so.27 SONAME, see amdsmi_wrapper.py).
  1. [important] [packaging] libamd-smi27 and libgoamdsmi-shim64-1 depend on libdrm-dev instead of the runtime
    package libdrm2
  • Files: debian/control (libamd-smi27 and libgoamdsmi-shim64-1 stanzas)
  • Evidence: Both have Depends: libdrm-dev, ${misc:Depends}, ${shlibs:Depends}. The library does not link libdrm; the AMD-GPU paths dlopen it at runtime via AMDSmiLibraryLoader: src/amd_smi/amd_smi_drm.cc lib_loader_.load(libdrm_amdgpu_sonames()), where libdrm_amdgpu_sonames() (amd_smi_lib_loader.cc) returns the libdrm_amdgpu.so SONAME, which lives in the runtime package libdrm2.
  • Problem: libdrm is only used through dlopen, so dh_shlibdeps cannot generate the dependency; the manual dependency targets the wrong (development) package. libdrm-dev pulls in headers plus unrelated driver libraries (libdrm-intel1, libdrm-nouveau2, libdrm-freedreno1, libdrm-radeon1, libpciaccess-dev) into every install of a libs package instead of the single runtime library. This also violates the Policy guidance that packages using a shared library via dlopen should compute the appropriate dependency (Policy 8.6.1).
  • Fix: Replace libdrm-dev with libdrm2 in both stanzas. (libgoamdsmi-shim64-1 already gets libamd-smi27 from ${shlibs:Depends} via the libamd-smi27.shlibs file; libdrm2 then comes transitively.)
  1. [minor] [packaging] Dead and stale test-package configuration
  • Files: debian/libamd-smi27-tests.install; debian/tests/control; debian/tests/upstream-binaries
  • Evidence: The libamd-smi27-tests stanza in debian/control is commented out and BUILD_TESTS is disabled in debian/rules, leaving libamd-smi27-tests.install orphaned. debian/tests/control's disabled block still names the long-renamed libamd-smi0-tests. The (also disabled) driver debian/tests/upstream-binaries runs $TESTDIR/amdsmitst (the variable defined is $TESTSDIR) and ends with top-level return $EXITCODE instead of exit.
  • Problem: Orphaned/stale references that will bite anyone re-enabling the tests, and the upstream-binaries script contains a real bug ($TESTDIR is empty, return outside a function) hidden by the fact that no test uses it.
  • Fix: Either remove libamd-smi27-tests.install and the commented-out blocks, or if the tests are intended to be shipped, re-enable the package/stanza and fix the stale package name and the $TESTDIR/return bugs.

Hope this is helpful.

Thanks!

Back to Dashboard | View all reviews for this package