Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Aug 2015 16:21:10 +0100
From:      Emil Velikov <emil.l.velikov@gmail.com>
To:        mesa@packages.debian.org, Jonathan Gray <jsg@jsg.id.au>, x11@FreeBSD.org,  =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= <jean-sebastien.pedron@dumbbell.fr>,  =?UTF-8?Q?Fran=C3=A7ois_Tigeot?= <ftigeot@wolfpond.org>, riastradh@netbsd.org,  Matthew Green <mrg@NetBSD.org>, Jan de Groot <jgc@archlinux.org>,  Andreas Radke <andyrtr@archlinux.org>, Igor Gnatenko <ignatenkobrain@fedoraproject.org>,  Stefan Dirsch <sndirsch@suse.de>
Subject:   [RFC] Embed the mesa version in the library/binary name
Message-ID:  <CACvgo50jzwFtE-md_nsZSmZJNqgqBsoA72o74x9LfhffYdqm1g@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACvgo50jzwFtE-md_nsZSmZJNqgqBsoA72o74x9LfhffYdqm1g>