public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Lyude <lyude@redhat.com>, igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t v2 4/8] meson: Add .so versioning
Date: Wed, 17 Apr 2019 13:43:34 +0200	[thread overview]
Message-ID: <20190417114334.GR13337@phenom.ffwll.local> (raw)
In-Reply-To: <20190417091659.GT22949@platvala-desk.ger.corp.intel.com>

On Wed, Apr 17, 2019 at 12:16:59PM +0300, Petri Latvala wrote:
> On Tue, Apr 16, 2019 at 07:25:44PM -0400, Lyude wrote:
> > From: Lyude Paul <lyude@redhat.com>
> > 
> > While I'm pretty confident that no one cares to use libigt.so or
> > lib_aubdump.so anywhere outside of igt, many distributions including
> > Fedora and Debian strongly suggest that packages have some sort of so
> > versioning, even if it's just '0'. So, let's fulfill that minimum
> > requirement to make this easier to package.
> > 
> > Signed-off-by: Lyude Paul <lyude@redhat.com>
> > ---
> >  lib/meson.build   | 3 ++-
> >  tools/meson.build | 3 ++-
> >  2 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/lib/meson.build b/lib/meson.build
> > index a8462933..2aad9d9e 100644
> > --- a/lib/meson.build
> > +++ b/lib/meson.build
> > @@ -132,7 +132,8 @@ lib_igt_build = shared_library('igt',
> >      ['dummy.c'],
> >      link_whole: lib_intermediates,
> >      dependencies: lib_deps,
> > -    install : true
> > +    install : true,
> > +    soversion : '0',
> >  )
> 
> This part:
> Acked-by: Petri Latvala <petri.latvala@intel.com>

So we use .so becuase with meson it's a lot faster for relinking (it does
nothing as long as the symbol list hasn't changed). Which is really
awesome if you hack around on library internals. Plus the .so saves a bit
of space.

I think the correct fix here would be to build the igt library as .la
archive for release builds (or if distros wish to do that). Meson has some
knobs to handle that semi-automatically, but I've never looked into them
since I dont care. I think that would be the cleaner solution than lying
about the so number.

Slightly less lying would be 0.$igt_release, since we do break the so api
every release.
-Daniel
> 
> 
> 
> >  
> >  lib_igt = declare_dependency(link_with : lib_igt_build,
> > diff --git a/tools/meson.build b/tools/meson.build
> > index 5d00f2e3..dfaed82a 100644
> > --- a/tools/meson.build
> > +++ b/tools/meson.build
> > @@ -93,7 +93,8 @@ install_subdir('registers', install_dir : datadir,
> >  shared_library('intel_aubdump', 'aubdump.c',
> >  	       dependencies : [ lib_igt_chipset, dlsym ],
> >  	       name_prefix : '',
> > -	       install : true)
> > +	       install : true,
> > +	       soversion : '0')
> 
> This part: Is this needed? intel_aubdump.so is not a DSO as such, it's
> only used with LD_LIBRARY_PRELOAD.
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-04-17 11:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-16 23:25 [igt-dev] [PATCH i-g-t v2 0/8] Fixes from updating igt packaging in Lyude
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 1/8] lib/tests: Fix test failures with meson 0.50.0 Lyude
2019-04-17 11:35   ` Daniel Vetter
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 2/8] meson: Don't redefine gettid if the C library provides it Lyude
2019-04-17 11:36   ` Daniel Vetter
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 3/8] lib: Stop using assert() for runtime checks Lyude
2019-04-17 11:40   ` Daniel Vetter
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 4/8] meson: Add .so versioning Lyude
2019-04-17  9:16   ` Petri Latvala
2019-04-17 11:43     ` Daniel Vetter [this message]
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 5/8] lib/igt_core: Just use igt_can_fail() in __igt_run_subtest() Lyude
2019-04-17 11:44   ` Daniel Vetter
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 6/8] Use pkgconfig() macros with dnf in Fedora Dockerfile Lyude
2019-04-17 11:45   ` Daniel Vetter
2019-04-17 19:15     ` Lyude Paul
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 7/8] Update Dockerfile.fedora to Fedora 29 Lyude
2019-04-17 11:45   ` Daniel Vetter
2019-04-16 23:25 ` [igt-dev] [PATCH i-g-t v2 8/8] Gitlab CI: Do builds with -Db_ndebug=true Lyude
2019-04-17 11:47   ` Daniel Vetter
2019-04-17  0:16 ` [igt-dev] ✓ Fi.CI.BAT: success for Fixes from updating igt packaging in Patchwork
2019-04-17  9:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190417114334.GR13337@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=lyude@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox