libs: Tie DSO minor versions to libdrm version
There is an excellent writeup explaining this requirement here: wayland/wayland#175 (closed)
In short, for mixed environments such as the Steam Runtime and other container-like environments, choosing which libdrm to link into the client's address space is a hard problem. If the runtime has a newer libdrm than the host, then it should be preferred, because the client may be using newly-added symbols. But if the host has a newer libdrm, then that should be used, because drivers may be depending on those.
Bumping the DSO minor version is transparent to all users because apps only link against the major version, e.g. DT_NEEDED libdrm.so.2; the fact that libdrm.so.2 is a link to libdrm.so.2.122.0 is a detail known only to the loader, but it does let a smart runtime make better decisions.
Signed-off-by: Daniel Stone daniels@collabora.com
cc @smcv (did a way better write-up than I ever could), @emersion @pepp @mareko (entrypoint-addition enthusiasts)