all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Bruno Haible <bruno@clisp.org>
Cc: 65927@debbugs.gnu.org
Subject: bug#65927: the role and location of locale.alias
Date: Sat, 21 Oct 2023 16:23:34 +0200	[thread overview]
Message-ID: <87a5scqck9.fsf@gnu.org> (raw)
In-Reply-To: <2444710.l5Z5W5aWdd@nimes> (Bruno Haible's message of "Wed, 13 Sep 2023 22:22:14 +0200")

Hi Bruno,

Bruno Haible <bruno@clisp.org> skribis:

> In guix 1.4.0 there are 2 locale.alias files from glibc on the disk:

[...]

> I explained the purpose of this file in
> https://sourceware.org/pipermail/libc-alpha/2023-September/151524.html .
> In summary, it's a configuration file whose initial contents is provided
> for glibc, but which needs to be edited by the system administrator in
> some situations.
>
> For this reason, in Debian 12, the file has been moved to
> /etc/locale.alias, and /usr/share/locale/locale.alias is merely
> a symbolic link to /etc/locale.alias. IMO, this is the correct
> way to handle this configuration file.

Does glibc look for ‘locale.alias’ in $sysconfdir, or does it look for
it in $localstatedir?

To follow the “correct way” as you described it, glibc should look for
it in $sysconfdir by default.

> The way Guix handles this file provokes two problems:
>
> 1) When the system administrator wants to add a new alias, they have
>    to search for all occurrences of the file in the (two) glibc
>    installations. And if/when they install newer versions of glibc,
>    they will have to reapply their change again and again.

That’d be impractical of course, and that’s not how Guix works
(/gnu/store is immutable).

> 2) GNU gettext needs to access this file, in order to recognize the
>    same aliases that glibc recognizes. But glibc does not export the
>    _nl_expand_alias function. Therefore GNU gettext needs to know
>    where the file is. But how could GNU gettext retrieve any of the
>    file names
>      /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/share/locale/locale.alias
>      /gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33/share/locale/locale.alias
>    ?
>    If Guix had this configuration file moved to /etc, like Debian did, GNU gettext
>    could be compiled with '-DLOCALE_ALIAS_PATH=\"/etc\"' and would then be able
>    to access it.

Right now gettext in Guix ends up being compiled with:

  -DLOCALE_ALIAS_PATH=\"\"

(Example build log at
<https://ci.guix.gnu.org/log/0yy8zmgvc6hy1pfc41gm1bi7nhj4aqf7-gettext-0.21>.)

What you propose is doable.  However, how many distros provide
/etc/locale.alias?  What happens when it’s missing?

We have to keep in mind that Guix can be used on top of any distro.

Thanks,
Ludo’.




  reply	other threads:[~2023-10-21 14:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-13 20:22 bug#65927: the role and location of locale.alias Bruno Haible
2023-10-21 14:23 ` Ludovic Courtès [this message]
2023-10-21 20:47   ` Bruno Haible

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a5scqck9.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=65927@debbugs.gnu.org \
    --cc=bruno@clisp.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.