Hello all, My name is Emil and I'm the person breaking^w fixing mesa's build amongst others.
A while back I had this idea of renaming the libraries provided by mesa to include the actual version number. Prior to doing anything "crazy" I've decided to seek your feedback. * 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 * Why A number of reasons: - The binary driver by Nvidia has been using this approach for years. - It provides quick and easy feedback in traces - In most cases, one can easily establish if the distro provided library is overwritten. - 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. - OpenBSD, Solaris(?) use sunos 4 style versioning -> .so.major.minor How does this sound, do you foresee any pros/cons with the above proposal ? Any and all input is greatly appreciated, but please try to keep your replies technical and constructive. If there are any concerns wrt the required updates (of the build/packaging recipes) I'm willing to help out. As I'm not sure how many of you follow mesa-dev, would you be OK if I CC you in distro related~ish topics. Some (not so crazy) examples: - libEGL.so has additional dependency (via libdl) of X - OpenCL only works with render node devices, kernel vY or later is required - Mesa's new library libfoo.so should be shipped with libbar.so Thanks Emil