From owner-freebsd-x11@freebsd.org Fri Aug 14 15:21:11 2015 Return-Path: Delivered-To: freebsd-x11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82EBE9B9967 for ; Fri, 14 Aug 2015 15:21:11 +0000 (UTC) (envelope-from emil.l.velikov@gmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 6307F1130 for ; Fri, 14 Aug 2015 15:21:11 +0000 (UTC) (envelope-from emil.l.velikov@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 5F6999B9966; Fri, 14 Aug 2015 15:21:11 +0000 (UTC) Delivered-To: x11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F07D9B9965 for ; Fri, 14 Aug 2015 15:21:11 +0000 (UTC) (envelope-from emil.l.velikov@gmail.com) Received: from mail-ig0-x230.google.com (mail-ig0-x230.google.com [IPv6:2607:f8b0:4001:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2AC5E112E for ; Fri, 14 Aug 2015 15:21:11 +0000 (UTC) (envelope-from emil.l.velikov@gmail.com) Received: by igbjg10 with SMTP id jg10so14210990igb.0 for ; Fri, 14 Aug 2015 08:21:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=9lB4p4z9CSjK7yelBSmNn5uRO04fPA1MucibqjcXjts=; b=YDjLU2HXCqP5l4319kHHsAGpIuLP79GWkQQhpTt4sN5H4DJWxRpLWBiNn0c9O+doW4 ef+BeaXUrpraXk9h4hmpPx0thOoHHChon9IlhrlNivNNaj1IOLOqcOuP5qgMDOvT3mQf 0/mgvxEmTcyL1OOTOEK9rLpC8VN/2WT7bvKUKUfHE+/FzVNQ6oRf6bpITVp2j3VsXUSH z3JkHnjgdhV2VYT8rPjFmFh6t5+agm6bUR8cUV30/RbeZvm8Gw/ZRwmkN8V7Y005YlID yzU8QJhVg4NaGP4UecwLOsnHC5EnJsRlKq88eZ4oSm6AwAeCYNkgmb+nowL2NtI+KK1D xRTw== MIME-Version: 1.0 X-Received: by 10.50.61.243 with SMTP id t19mr3305221igr.24.1439565670572; Fri, 14 Aug 2015 08:21:10 -0700 (PDT) Received: by 10.79.89.197 with HTTP; Fri, 14 Aug 2015 08:21:10 -0700 (PDT) Date: Fri, 14 Aug 2015 16:21:10 +0100 Message-ID: Subject: [RFC] Embed the mesa version in the library/binary name From: Emil Velikov To: mesa@packages.debian.org, Jonathan Gray , x11@FreeBSD.org, =?UTF-8?B?SmVhbi1Tw6liYXN0aWVuIFDDqWRyb24=?= , =?UTF-8?Q?Fran=C3=A7ois_Tigeot?= , riastradh@netbsd.org, Matthew Green , Jan de Groot , Andreas Radke , Igor Gnatenko , Stefan Dirsch Content-Type: text/plain; charset=UTF-8 X-Mailman-Approved-At: Fri, 14 Aug 2015 16:07:17 +0000 X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Aug 2015 15:21:11 -0000 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