[PATCH libICE] Bump the major version

Emil Velikov emil.l.velikov at gmail.com
Thu May 12 15:50:52 UTC 2016


On 12 May 2016 at 16:22, Adam Jackson <ajax at nwnk.net> wrote:
> On Thu, 2016-05-12 at 14:27 +0100, Emil Velikov wrote:
>> With previous commits we've hidden a selection of internal symbols from
>> the DSO. Neither of them has been part of the API, although let's do the
>> sane thing and bump the major, as we might have changed things in a
>> backward incompatible way. I.e. we might have unintentionally broken
>> some applications.
>>
>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>> ---
>> Funny story... seems that the SONAME still uses the non-modular X
>> version (and it hasn't been bumped since the split) while configure
>> uses fresher numbers.
>
> Why should it have changed from non-modular to modular? All that
> changed was the build system, not the interface.
>
I've assumed that there was a libICE release with the modular X
version and then the version was decreased. Seems like that was never
the case so all is fine.

>> -libICE_la_LDFLAGS = -version-number 6:3:0 -no-undefined
>> +libICE_la_LDFLAGS = -version-number 7:0:0 -no-undefined
>
> The problem with bumping the soname for X libraries is there's multiple
> decades of binaries linked against the old names, which you will never
> be rid of. Bumping this here means everyone suddenly has to wonder why
> they have to build two copies of libICE.
>
Are you talking about a case where distro updates/rebuilds against vX,
while some binary only solutions depend on vX-1 and the ways to
distribute that ? Personally I'm fine either way - bump major, minor,
patch, neither, just that dropping symbols does classify as ABI break,
so major should be bumped. At least in theory.

Proceed as you think it's better - I don't have even close to your
experience dealing with X and its associated libs.

-Emil


More information about the xorg-devel mailing list