Source: onnxruntime
Source-Version: 1.20.1+dfsg-1
Severity: important

Hi!

The shared library package generated by this source (currently
libonnxruntime1.20.1), ships the following filenames:

  /usr/lib/*/libonnxruntime_providers_dnnl.so
  /usr/lib/*/libonnxruntime_providers_shared.so

Which (unless upstream starts versioning them or removes them) will
conflict with future versions of the shared library when the SOVERSION
gets bumped. For example between trixie and forky.

This makes necessary to add Conflict between the different SOVERSIONed
library packages to avoid dpkg file conflicts, which then makes
upgrades and transitions way harder. For the former, apt just has a
harder time seeing what to upgrade to, for the latter you cannot for
example do partial rebuilds where within a dependency chain some parts
are using the old library and other parts are using the new library as
both become uninstallable.

These filenames, should either be SOVERSIONed just like the main
shared library, or if they are supposed to be plugins or similar then
namespaced under also a versioned directory, or if they really do not
change ABI after each SOVERSION bump, then potentially split into a
lib<name>-plugins or similar package, that then multiple libraries can
use at the same time.

(This is not a big deal currently, only testing/sid users affected,
which seems fine, but will/can become an issue during trixie to forky
upgrades for example.)

Thanks,
Guillem

Reply via email to