[RFC] Embed the mesa version in the library/binary name

Michel Dänzer michel at daenzer.net
Mon Aug 17 08:21:46 UTC 2015


On 15.08.2015 00:21, Emil Velikov wrote:
> 
> * What
> The idea is to rename (ideally) all of the versioned libraries.
> Unversioned ones such as radeonsi_dri.so will remain as is.
> 
> Note: the soname and symlinks will stay to avoid breaking compatibility.
> 
> 
> * How
> While I haven't fully decided on the exact approach I'm thinking of
> something like:
> libGL.so.1.0.0 -> libGL.so.11.0 or libGL.so.110.1 or libGL.so.11.01
> 
> Other suggestions and ideas are welcome but please keep the version to X.Y

Do I understand correctly that your proposal is for downstream packagers
to make this change? Why not upstream?


> * Why
[...]
> - In most cases, one can easily establish if the distro provided
> library is overwritten.

How so?


> - Allows multiple binaries to coexist, making the dynamic switching
> between libGL.so.110.1, libGL.so.11.2.0 (mesa), libGL.so.352.14
> (nvidia) libGL.so.XX.Y (another vendor) a little bit easier.

Not really, since ldconfig (which needs to be run after (un)installing
any shared libraries) will clobber the libGL.so.1 symlink to point to
the libGL.so.X.Y with the largest X.Y.

Anyway, as Stefan mentioned there are many other problems preventing
this, so this isn't really an argument against your proposal.


> - OpenBSD, Solaris(?) use sunos 4 style versioning -> .so.major.minor

FWIW, that can also be satisfied by libGL.so.1.2 . IIRC we used to ship
that even on Linux, not sure when/why we switched to libGL.so.1.2.0.
Maybe a side effect of adopting automake and friends.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the freebsd-x11 mailing list