mailarchive of the pengutronix oss-tools mailing list
 help / color / mirror / Atom feed
From: "Enrico Jörns" <ejo@pengutronix.de>
To: Ahmad Fatoum <a.fatoum@pengutronix.de>,
	Roland Hieber <rhi@pengutronix.de>
Cc: oss-tools@pengutronix.de, "Enrico Jörns" <e.joerns@pengutronix.de>
Subject: Re: [OSS-Tools] [PATCH dt-utils] meson: align libdt-utils version with autotools'
Date: Mon, 06 Nov 2023 14:59:30 +0100	[thread overview]
Message-ID: <69c6355ea799c46a4b7fc02cd32665efe69f167e.camel@pengutronix.de> (raw)
In-Reply-To: <16005265-1560-721a-b208-e98df874f3ba@pengutronix.de>

Hi Ahmad,

Am Montag, dem 06.11.2023 um 14:44 +0100 schrieb Ahmad Fatoum:
> Hello Enrico,
> 
> On 06.11.23 13:12, Enrico Jörns wrote:
> > Am Montag, dem 06.11.2023 um 13:04 +0100 schrieb Roland Hieber:
> > > On Mon, Nov 06, 2023 at 12:58:22PM +0100, Ahmad Fatoum wrote:
> > > > Makefile.am has:
> > > > 
> > > >   LIBDT_CURRENT=6
> > > >   LIBDT_REVISION=0
> > > >   LIBDT_AGE=0
> > > > 
> > > > along with a comment on how the values were chosen. Copy the comment and
> > > > the values into the meson.build as well, so appropriate symlinks
> > > > pointing at the versioned library are created. We forego the extra
> > > > complexity of having a common file that's read from both build systems
> > > > as we are intent on phasing out autotools anyway, once wrinkles such as
> > > > what's fixed here are ironed out.
> > > > 
> > > > Reported-by: Enrico Jörns <e.joerns@pengutronix.de>
> > > > Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> > > 
> > > Reviewed-by: Roland Hieber <rhi@pengutronix.de>
> > > 
> > > > ---
> > > >  meson.build | 9 +++++++++
> > > >  1 file changed, 9 insertions(+)
> > > > 
> > > > diff --git a/meson.build b/meson.build
> > > > index 9579e712dfea..9894d7311bb3 100644
> > > > --- a/meson.build
> > > > +++ b/meson.build
> > > > @@ -133,6 +133,15 @@ libdt = shared_library('dt-utils',
> > > >    c_args : ['-include', meson.current_build_dir() / 'version.h'],
> > > >    dependencies : [udevdep, versiondep],
> > > >    gnu_symbol_visibility : 'default',
> > > > +# If the library source code has changed at all since the last release,
> > > > +#   then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
> > > > +# If any interfaces have been added/removed/changed since the last release,
> > > > +#   then increment current, and set revision to 0.
> > 
> > Does this make sense?
> 
> It was copied into Makefile.am verbatim from the libtool documentation:
> https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

thank you for the link, I guess this clarifies the versioning purpose for me a bit better.
Haven't looked at this topic in that detail yet either. 😉

Maybe it would make sense to just refer to generic libtool versioning scheme (and probably include
the link) instead of duplicating the text here?

Anyway, I would be fine with both variants in the first round!


Best regards

Enrico

> > Isn't "current" meant to mark *incompatible* public API changes?
> 
> libtool numbering is new to me as well, but apparently "Current" is the most recent
> interface number that this library implements.
> 
> The major version number should thus be current - age, not just current.
> I will fix that in v2. See
> https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
> https://gitlab.gnome.org/GNOME/gcab/-/merge_requests/6/diffs?commit_id=2c8048f74ec8c088397d47730aa47c574526918f
> 
> > This might be valid for "removed" or "changed", but not for "added".
> > 
> > How does "interfaces" differ from "public interfaces" below?
> 
> No difference AFAIK.
> 
> Cheers,
> Ahmad
> 
> > 
> > Regards, Enrico
> > 
> > > > +# If any public interfaces have been added since the last public release,
> > > > +#   then increment age.
> > > > +# If any interfaces have been removed or changed since the last release,
> > > > +#   then set age to 0.
> > > > +  version: '6.0.0',
> > > >    install : true)
> > > >  
> > > >  executable('barebox-state',
> > > > -- 
> > > > 2.39.2
> > > > 
> > > > 
> > > > 
> > > 
> > 
> 

-- 
Pengutronix e.K.                           | Enrico Jörns                |
Embedded Linux Consulting & Support        | https://www.pengutronix.de/ |
Steuerwalder Str. 21                       | Phone: +49-5121-206917-180  |
31137 Hildesheim, Germany                  | Fax:   +49-5121-206917-9    |



  reply	other threads:[~2023-11-06 13:59 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-06 11:58 Ahmad Fatoum
2023-11-06 12:04 ` Roland Hieber
2023-11-06 12:12   ` Enrico Jörns
2023-11-06 13:44     ` Ahmad Fatoum
2023-11-06 13:59       ` Enrico Jörns [this message]
2023-11-06 13:56     ` Roland Hieber
2023-11-06 14:04       ` Enrico Jörns

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=69c6355ea799c46a4b7fc02cd32665efe69f167e.camel@pengutronix.de \
    --to=ejo@pengutronix.de \
    --cc=a.fatoum@pengutronix.de \
    --cc=e.joerns@pengutronix.de \
    --cc=oss-tools@pengutronix.de \
    --cc=rhi@pengutronix.de \
    /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