all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Bruno Haible <bruno@clisp.org>
To: 65927@debbugs.gnu.org
Subject: bug#65927: the role and location of locale.alias
Date: Wed, 13 Sep 2023 22:22:14 +0200	[thread overview]
Message-ID: <2444710.l5Z5W5aWdd@nimes> (raw)

Hi,

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

$ ls -liL --sort=size `find / -name locale.alias 2>/dev/null | grep -v X11` 940417 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/0dbscs8zq4bdg8vbn9jkdgynjcn3s01p-gcc-toolchain-12.2.0/share/locale/locale.alias
 940417 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/share/locale/locale.alias
  15716 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33/share/locale/locale.alias
  15716 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/c326489r6jvnl69l2nbmdvxmgzqln2hy-profile/share/locale/locale.alias
  15716 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/isn13ca7419sj7myb3xr3i3zbxspky8c-profile/share/locale/locale.alias
  15716 -r--r--r-- 1 root root 2998 Jan  1  1970 /gnu/store/yh51nb5dq9n6pw8mrdp3nxcfmxzmrp1x-profile/share/locale/locale.alias
1058938 -r--r--r-- 1 root root  261 Jan  1  1970 /gnu/store/wf46adk80fdc1qij8472n8r2xr4cln0a-gdm-42.0/share/gdm/locale.alias

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.

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.

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.

Bruno







             reply	other threads:[~2023-09-13 20:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-13 20:22 Bruno Haible [this message]
2023-10-21 14:23 ` bug#65927: the role and location of locale.alias Ludovic Courtès
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=2444710.l5Z5W5aWdd@nimes \
    --to=bruno@clisp.org \
    --cc=65927@debbugs.gnu.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.