Re: Let's get rid of the separate minor version numbers for shlibs - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Let's get rid of the separate minor version numbers for shlibs
Date
Msg-id CAM-w4HNoj7EHuVtqMamSQPcZhG4LSA2G4=Vcos0u5doN0Sicfg@mail.gmail.com
Whole thread Raw
In response to Re: Let's get rid of the separate minor version numbers for shlibs  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: Let's get rid of the separate minor version numbers for shlibs  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Mon, Aug 15, 2016 at 11:45 PM, Peter Eisentraut
<peter.eisentraut@2ndquadrant.com> wrote:
> If we instead installed
>
> libpq.so.5 (actual file)
> libpq.so -> libpq.so.5
>
> nothing would effectively change.

It would make it impossible to have multiple versions installed. One
doesn't normally have multiple versions with the same soname installed
since the linker will only be actually using one of them anyways but
it makes it a lot easier to manage transitions and debugging. I don't
think it would be very standard to not have a minor version at all.

Also, the above is only true for Linux. Other operating systems may
set things up differently. IIRC NetBSD did do something a lot more
sophisticated where it linked to the correct minor version or gave a
warning and linked with a newer minor version but refused to link to
older minor versions even if it was the right major version -- or
something like that.

But I think Tom was not proposing dropping the minor version at all,
just setting the minor version equal to the release. So the our soname
would be libpq.so.5.10 then libpq.so.5.11 and so on until we make an
incompatible change and then it would become libpq.so.6.12 for
example. I think it would be a bit confusing to see both the minor and
major version bump and to see a major version start at a high number.
But sonames are pretty technical internal goo and it's not too bad. I
think it would be a reasonable idea.

It does rule out the possibility of having a minor bump in the soname
for a point-release, which as you point out wouldn't do much on Linux
but on other operating systems might be a useful thing.



-- 
greg



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [RFC] Change the default of update_process_title to off
Next
From: Greg Stark
Date:
Subject: Re: PSA: Systemd will kill PostgreSQL