Re: Add PG version number to NLS files - Mailing list pgsql-patches

From Martin Pitt
Subject Re: Add PG version number to NLS files
Date
Msg-id 20050616064154.GA11369@piware.de
Whole thread Raw
In response to Re: Add PG version number to NLS files  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Add PG version number to NLS files
List pgsql-patches
Hi!

Bruce Momjian [2005-06-15 15:26 -0400]:
> Peter Eisentraut wrote:
> > Bruce Momjian wrote:
> > > The 'bind' calles in the binaries are going to look for the proper
> > > version.  Does that help, or is libpq the only thing we need to
> > > handle?
> >
> > Shared libraries have their version number embedded in the file name for
> > the explicit purpose of installing more than one version side by side.
> > Therefore, the PO files also need to make arrangements for side by side
> > installation.  No such promises are made for non-library files.
>
> OK, seems we need examples of how our current setup fails, both for
> libpq and binaries.

Debian's and Ubuntu's packages currently look like this (binary ->
translation domain):

/usr/lib/libpq3.so: libpq3
/usr/lib/libpq4.so: libpq4
/usr/lib/postgresql/7.4/bin/postmaster: postgres-7.4
/usr/lib/postgresql/8.0/bin/postmaster: postgres-8.0
/usr/lib/postgresql/7.4/bin/psql: psql-7.4
/usr/lib/postgresql/8.0/bin/psql: psql-8.0
[similar for all other client binaries)

Without my domain patches, i. e. with upstream's scheme it would look
like:

/usr/lib/libpq3.so: libpq
/usr/lib/libpq4.so: libpq
/usr/lib/postgresql/7.4/bin/postmaster: postgres
/usr/lib/postgresql/8.0/bin/postmaster: postgres

As you see, there is a conflict, so to be able to install both
pacakges at the same time, one translation version had to be picked
and stuffed into a separate -translations package, which both versions
depend on. That's ugly and would cause one version to have some
missing translations, therefore I patched the domains to be
version-specific.

I do think that adopting my scheme at least for libpq really makes
sense. Adopting it for the binaries would not do any harm, but it
might not be conformant to your packaging policy, which I don't really
know. The clashing domains are the only things that prevents the
parallel installation of different major versions, so the question
whether or not you want to adopt it mainly boils down to whether you
want to support parallel server installations.

I am grateful that you did the SONAME change upstream, that relieved
Debian and probably other vendors of much pain. OTOH, the Debian
specific translation domain changes are really simple and don't impose
a significant maintenance overhead, so there is no urgency at all.

Thanks and have a nice day!

Martin

--
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org

Attachment

pgsql-patches by date:

Previous
From: Gerrit van Dyk
Date:
Subject: Python setof patch
Next
From: Mark Kirkwood
Date:
Subject: Re: TODO Item - Return compressed length of TOAST datatypes