Package: debhelper Version: 13.5.2 Severity: wishlist File: /usr/bin/dh_shlibdeps X-Debbugs-Cc: j...@joshtriplett.org
When a program or library declares a weak symbol, that typically indicates that it's prepared to do without the symbol. However, dh_shlibdeps takes weak symbols into account when determining library dependencies, and will produce a strict Depends on a library even if only needed for a weak symbol. Some software (e.g. the Rust standard library) works around this by calling dlsym instead, but that introduces other potential issues, and weak symbols are *much* simpler and easier to work with. I'd like to propose changing this behavior, either with an option, or as part of a future debhelper compatibility level (which could make that option the default). I'd propose instead that dh_shlibdeps could separate out dependencies from weak symbols, and put them in a separate substitution field, which packagers could then choose to put in either Depends or Recommends or Suggests or nowhere, as appropriate. The net effect of this would be to broaden shared library dependencies, making packages easier to install and backport, and making it easier for upstreams to make use of weak symbols without introducing compatibility issues. - Josh Triplett