[Pkg-rust-maintainers] Bug#1083235: alacritty: Missing dependency for alacritty
James McCoy
jamessan at debian.org
Sun Mar 23 01:21:56 GMT 2025
On Sat, Mar 22, 2025 at 11:52:21PM +0100, NoisyCoil wrote:
>I cannot reproduce without uninstalling half of my system (libxkbcommon-x11-0
>has a ton of transitive reverse dependencies), but this bug makes sense:
>rust-xkbcommon-dl uses rust-dlib to load xkbcommon-x11, rust-dlib internally
>uses dlopen, and AFAICS dlopen is not detected by dh_shlibdeps.
The whole point of dlopen is to make the library optional. Alacritty is
built to support either x11 or wayland. Depending on libxkbcommon-x11
when someone is using wayland doesn't make much sense, just like
depending on libwayland-client0 for someone using x11 wouldn't make
sense.
Really, anything that will build with winit would need to bubble up
these relationships.
This is a general problem across Debian for things that can opt in to
using libraries via dlopen. Since this is a soft dependency, there are
also issues related to library transitions and partial upgades.
The options to me seem to either be:
1. Status quo; expect that alacritty will be installed into an
environment that already has the libraries for the desktop
environment they're running, which seems to be typical. If the
library is missing, then the user gets a pretty clear message, as
seen in this bug report.
2. Build alacritty-x11 / alacritty-wayland packages and disable any use
of dlopen down the stack. However, this forces the user to make a
choice based on knowledge they may not have about what their
environment is built on.
A possible 1a would be to add Recommends for the various libraries that
get dlopened. This would enable not installing, e.g., libwayland-client0
if not using wayland. However, it doesn't address the other issues of
dynamic loading.
Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB
More information about the Pkg-rust-maintainers
mailing list