Package: libamd-smi0 Version: 6.4.3+ds-1 Severity: important X-Debbugs-Cc: [email protected]
Dear Maintainer, There are a large number of symbols that have been removed from libamd-smi0 between version 6.1.2+ds-1 on trixie and 6.4.3+ds-1 in testing, including: rsmi_dev_metrics_avg_dclock0_frequency_get rsmi_dev_metrics_avg_dclock1_frequency_get rsmi_dev_metrics_avg_gfx_activity_get rsmi_dev_metrics_avg_gfx_clock_frequency_get rsmi_dev_metrics_avg_mm_activity_get rsmi_dev_metrics_avg_soc_clock_frequency_get rsmi_dev_metrics_avg_socket_power_get rsmi_dev_metrics_avg_uclock_frequency_get rsmi_dev_metrics_avg_umc_activity_get rsmi_dev_metrics_avg_vclock0_frequency_get rsmi_dev_metrics_avg_vclock1_frequency_get rsmi_dev_metrics_curr_dclk0_get rsmi_dev_metrics_curr_dclk1_get rsmi_dev_metrics_curr_fan_speed_get rsmi_dev_metrics_curr_gfxclk_get rsmi_dev_metrics_curr_socclk_get rsmi_dev_metrics_curr_socket_power_get rsmi_dev_metrics_curr_uclk_get rsmi_dev_metrics_curr_vclk0_get rsmi_dev_metrics_curr_vclk1_get rsmi_dev_metrics_energy_acc_get rsmi_dev_metrics_firmware_timestamp_get rsmi_dev_metrics_gfx_activity_acc_get rsmi_dev_metrics_gfxclk_lock_status_get To quote the Debian Policy Manual, Section 8.1 [1]: > Every time the shared library ABI changes in a way that could break > binaries linked against older versions of the shared library, the SONAME > of the library and the corresponding name for the binary package > containing the runtime shared library should change. Normally, this > means the SONAME should change any time an interface is removed from the > shared library or the signature of an interface (the number of > parameters or the types of parameters that it takes, for example) is > changed. This practice is vital to allowing clean upgrades from older > versions of the package and clean transitions between the old ABI and > new ABI without having to upgrade every affected package simultaneously. As such, it seems that the SONAME of libamd-smi0 should be changed. I notice that upstream ships libamd-smi.so in ROCm 6.4.3 as libamd-smi.so.25 so perhaps we should be changing the Debian package to match. It appears that this value is determined upstream at build time by inspecting the tags on the git repository. The major version of 0 that we are using in Debian is merely because that tag is not being found (due to building from a tarball rather than from the upstream repo). It is not a violation of a mandatory Debian to make an ABI breaking change without changing the SONAME, this still seems like it will cause problems down the line for users upgrading from Trixie to Forky. I would suggest that we could fix both problems by uploading a new version of amdsmi with libamd-smi25 and removing libamd-smi0 6.4.3+ds-1 from testing. Sincerely, Cory Bloor [1]: https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-runtime -- System Information: Debian Release: forky/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 6.12.38+deb13-amd64 (SMP w/32 CPU threads; PREEMPT) Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect Versions of packages libamd-smi0 depends on: ii libc6 2.41-12 ii libdrm-dev 2.4.125-2 ii libgcc-s1 15.2.0-4 ii libstdc++6 15.2.0-4 libamd-smi0 recommends no packages. libamd-smi0 suggests no packages. -- no debconf information

