Re: Custom Glibc collation version strings under LOCPATH

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Custom Glibc collation version strings under LOCPATH
Date: 2025-06-04 09:17:46
Message-ID: c6896081-335f-4e4f-a47d-6ed9c7ddcdbb@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 04.06.25 06:03, Thomas Munro wrote:
> One way to move to a newer glibc-based Linux distribution but keep the
> locales working the same* without keeping the associated zombie C code
> alive is to find the source system's collation definition source
> files, compile them with the localedef on the target system and point
> to the top-level directory with the environment variable LOCPATH.
>
> That runs directly into the naivity of commit d5ac14f9's
> gnu_get_libc_version() kludge. So here's a patch that allows a brave
> user of that recompilation technique to drop a custom version string
> into a file called one of:
>
> * $LOCPATH/<collcollate>/LC_COLLATE.version
> * $LOCPATH/<collcollate>/version
> * $LOCPATH/LC_COLLATE.version
> * $LOCPATH/version

Nice idea.

The patch looks mostly straightforward.

I wonder why you want to capture LOCPATH early in main.c. It seems
sufficient to look it up when needed?

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shinya Kato 2025-06-04 09:55:15 Re: Partitioned tables and [un]loggedness
Previous Message Peter Eisentraut 2025-06-04 09:09:45 Re: Enhance pg_createsubscriber to create required standby.