Re: Add PG version number to NLS files

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Martin Pitt <mpitt(at)debian(dot)org>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: Add PG version number to NLS files
Date: 2005-06-25 02:24:31
Message-ID: 200506250224.j5P2OVS04554@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Martin Pitt wrote:
> /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.

We absolutely want to support multiple installed versions of PostgreSQL.
In my understanding, it isn't just libpq that depends on
version-specific translation files, but all binaries that have
translations.

Also, it is possible for the SONAME not to change between major versions
(if the libpq API remains unchanged), but for the translations to
change.

For this reason, I think we should add the major number to all
bindtextdomain() calls, as is done in the attached patch.

Is this conclusion correct?

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Attachment Content-Type Size
unknown_filename text/plain 5.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2005-06-25 02:27:49 Re: [BUGS] BUG #1467: fe_connect doesn't handle EINTR right
Previous Message Bruce Momjian 2005-06-25 02:14:09 Re: [COMMITTERS] pgsql: Fix NUMERIC modulus to properly

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2005-06-25 02:31:41 Re: plperl features
Previous Message Bruce Momjian 2005-06-25 01:50:23 Re: [SQL] ARRAY() returning NULL instead of ARRAY[]