On Mon, Apr 7, 2025 at 11:47 AM Christoph Berg <myon@debian.org> wrote:
> Mmmmh. Since we are currently only talking about 3 symbols, it doesn't
> sound very likely that we'd have to bump this in a major branch.
The ABI extends to the pointers we're using, though. This module uses
PGconn* internals and libpq-int.h. [1]
> Putting the minor version into the filename would make looking at
> package diffs harder when upgrading. Do we really need this as opposed
> to some hardcoded number like libpq.so.5.18 ?
>
> Perhaps reusing the number from libpq.so.5.18 also for this lib would
> be the way to go?
That doesn't address Andres' concern, though; if multiple
installations all use libpq.so.5.18, they still can't necessarily mix
and match.
In fact you can't mix and match across different settings of
ENABLE_SSL/GSS/SSPI, either. So I guess that nudges me towards
pkglibdir/<some subdirectory>, to avoid major pain for some unlucky
end user.
> Though for Debian, I'd actually prefer
> /usr/lib/$DEB_HOST_MULTIARCH/libpq/libpq-oauth...
> since the libpq packaging is independent from the major version
> packaging.
Not sure I understand this. Do you mean you'd patch our lookup for
Debian, to find it there instead of pkglibdir? I don't think we can
adopt that ourselves, for the same reasons as above; the two sides
have to be in lockstep.
> The Debian Policy expectation is that everything in libdir is a proper
> library that could be linked to, and that random private stuff should
> be elsewhere. But if being able to use the default lib search path is
> an important argument, we could put it there.
I was hoping the default lib search would make your life (and ours)
easier. If it doesn't, I can lock it down.
Thanks,
--Jacob
[1] Future work ideas in this area include allowing other people to
compile their own loadable flow plugin, so that the utilities can use
it. (Only Device Authorization can be used by psql et al, for 18.) At
that point, developers will need a limited API to twiddle the
connection handle, and our builtin flow(s?) could use the same API.
But that's not work we can tackle for 18.