From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 16:22:40 2023 Received: (at submit) by debbugs.gnu.org; 13 Sep 2023 20:22:40 +0000 Received: from localhost ([127.0.0.1]:36150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgWNk-0007EF-7U for submit@debbugs.gnu.org; Wed, 13 Sep 2023 16:22:40 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40464) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgWNf-0007Dw-MQ for submit@debbugs.gnu.org; Wed, 13 Sep 2023 16:22:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgWNU-00065D-JX for bug-guix@gnu.org; Wed, 13 Sep 2023 16:22:24 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.160]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgWNP-000282-01 for bug-guix@gnu.org; Wed, 13 Sep 2023 16:22:24 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1694636535; cv=none; d=strato.com; s=strato-dkim-0002; b=HNJI6spAoARwGYOYJvoBfc7BM2uYcpmNTkLBDQnxmq4FMVUcgzwhYk4vPl+MMqCn10 j8SN0p5Ti8tlrp+PbGXHQ1yJglEWIX/CWGh0bSf05NZAAQvP5Pmm2fqF0e2cc4vgDwWl xE3yY+qMk5/V3bT2qZzvpqDyh0Blrezeucfx5jbzDvaFQEFxEWnepB/1BO9kufnaf19z /viafGdLDg5NwcVS3LXeFYRYQD3Jl8aTbqULpkfPO0hQnLqRq+y37Ma8Fp1eQBd5Cg/Q NneUqKhcRFEmayvnF903hllPn//4TbKRRqya7jMhItU1XoygtypT5LOlOeyOC8xs6RQZ hWWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1694636535; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=2EumxGsMrcTWqfiDj3wdxd7o6C0jv90ZAEHVRnZXqok=; b=MdE1UmklYigKU/WKe4oiZAeIT6rLz9MBuVyqxH2BGwsHiJFvKk/SJpWWe0nHOj8WwB KUPLt0owtnNuLAsdCaBuqc+WzWHj/vh2fTCDNQYY5e15EUdqjoaN3UcT+6am/kYlNgz7 HmOOOd++BQHOACNAjr9PP49aVrdKjLp1V2iCjL53zVJtpMJYsaDfo7kjm7ABfiyOEFMR t7dCFMaRJ1H0xXfuUVjueMCQ6mxEzOVbdV39oBMiSib46+sBBq8BXM2msQfC/WuSt1uG ykgBu5P+rLPKw2+Xp5G7PqkqS3w7b031yEucdFU6e4B7cZayJh5LTi54awXFfcMZyXVi Zjvg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1694636535; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=2EumxGsMrcTWqfiDj3wdxd7o6C0jv90ZAEHVRnZXqok=; b=dV2/e+QAJD7gkAJIljEc1KFuvx0GLywBqwjGeirh0Z+dmHYILpXCEoBE/D+06eQHBo /2LeKhlLCBFQmMpkKYso/jxkR1z7KpI//KWCUyKsEb7Mk1pveuMBgXz7KhK4vLDSw66v iRpAem5GswUYfZZicydZ7ZqeWyl2o6ciuPtOFIkUx8vqpnw634ge/19dCh20vcHiBG52 XJ9eVBZFhOh7OaiqGMCub0p56q4y+KRok3ryZsL7UC5WRNvCV6aH76Uha8E0EfaVWRGO RsGP/GJ4UvO8eMbjpiBGbXvFt0MvGYB5IhxlL4WkMZXyf3tvR8MD7EvMjKX0MfuSdHc1 Sang== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1694636535; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=2EumxGsMrcTWqfiDj3wdxd7o6C0jv90ZAEHVRnZXqok=; b=l1G+07gS+VJguxTvfb4egk4CCuOI2zVK39iFnbve5mtiL35khGiKZuE3+582fyXCa9 wRIpkjJ9my/GJAFhW3AQ== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpPCjqaacM7T7kHJj8anoQ385YLYeA==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id m03934z8DKMEFNz (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Wed, 13 Sep 2023 22:22:14 +0200 (CEST) From: Bruno Haible To: bug-guix@gnu.org Subject: the role and location of locale.alias Date: Wed, 13 Sep 2023 22:22:14 +0200 Message-ID: <2444710.l5Z5W5aWdd@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Received-SPF: none client-ip=81.169.146.160; envelope-from=bruno@clisp.org; helo=mo4-p00-ob.smtp.rzone.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 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 From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 21 10:24:12 2023 Received: (at 65927) by debbugs.gnu.org; 21 Oct 2023 14:24:12 +0000 Received: from localhost ([127.0.0.1]:44799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quCtg-0005JV-7g for submit@debbugs.gnu.org; Sat, 21 Oct 2023 10:24:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quCte-0005JG-CA for 65927@debbugs.gnu.org; Sat, 21 Oct 2023 10:24:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quCt6-0001Oc-QO; Sat, 21 Oct 2023 10:23:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=7vvGJExq67gm9fXVjJPnNzecwkR4UtNcxLQ8OXl3JrI=; b=KUJVvZL+25rI91/CjbVO slcJSGHZ5x/J9EQjbAsQdTPxQhlJSSq/M/brx76QgsoVg2wjRZ/ytAMRgECeN/Fmffdrh9SmlWLAT CO3ZYpVj/i2SAf+oKIO+w8j2OL+PsC/vXApoLIsIvBesy4HZz77yCJV87/M084GsfrgkKGzJlnAyi KPL7AFu6t4nttj80ZhH6aWQE/s5QMELS2Ae1oOY9z80QFU4y2eWb1Jh6Db5+ISZcxrVhRBFxa/5uy TxkA+/E9iqI+nC7kxXaZG4d3bdT+ZsA1yQUuNuudOty0H5ZxrSJnLDrD2ME1LLAYBY+sApUc6Kb9X S2gt0Pqp1zZshw==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Bruno Haible Subject: Re: bug#65927: the role and location of locale.alias In-Reply-To: <2444710.l5Z5W5aWdd@nimes> (Bruno Haible's message of "Wed, 13 Sep 2023 22:22:14 +0200") References: <2444710.l5Z5W5aWdd@nimes> Date: Sat, 21 Oct 2023 16:23:34 +0200 Message-ID: <87a5scqck9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65927 Cc: 65927@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Bruno, Bruno Haible 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 =E2=80=98locale.alias=E2=80=99 in $sysconfdir, or does = it look for it in $localstatedir? To follow the =E2=80=9Ccorrect way=E2=80=9D as you described it, glibc shou= ld 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=E2=80=99d be impractical of course, and that=E2=80=99s not how Guix wo= rks (/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, GN= U gettext > could be compiled with '-DLOCALE_ALIAS_PATH=3D\"/etc\"' and would then= be able > to access it. Right now gettext in Guix ends up being compiled with: -DLOCALE_ALIAS_PATH=3D\"\" (Example build log at = .) What you propose is doable. However, how many distros provide /etc/locale.alias? What happens when it=E2=80=99s missing? We have to keep in mind that Guix can be used on top of any distro. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 21 16:48:19 2023 Received: (at 65927) by debbugs.gnu.org; 21 Oct 2023 20:48:19 +0000 Received: from localhost ([127.0.0.1]:45156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quItP-0006UR-6I for submit@debbugs.gnu.org; Sat, 21 Oct 2023 16:48:19 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:43171) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quItM-0006Tz-SZ for 65927@debbugs.gnu.org; Sat, 21 Oct 2023 16:48:18 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1697921267; cv=none; d=strato.com; s=strato-dkim-0002; b=ViqtH7zLV2BLnOsOBqAtPsWSXUBbYq3kevQdrbv5uqzFU/UssEPfHl1mZkMqPqfRK8 O7DZb4G0K2n7ESWuNJs/UKWRAmRHDtBi96hATCbBaEOq0HPkf5qn1ekupPa+rgcO8oL1 kkTSHFmnsPdpFbCW10Q8xT4ADIflLgbHcbvOVC+XV7QDovB+7hSX9I/ZtGcnZ7C8NrUY WL70UF4sdzkWQbSuAT83s3+qYcctL8SM6JwBHv17PcvbLD30e4bMfCnsYCeqHDqboxbw 9KXdeI2WWpaynzSSvZ88TpepD4Y7uMEFo3cr72NIE2du120J71/f1C4/jvlzZzjXqNax b98A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1697921267; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=MCz6RV4vhdbJKZv8ln75JuulXDZ2IQfFDNKofM6Jy3Q=; b=Md1CihAoWkBQVSCFx2eO6pPt0Jyv50U/ZSutIDX7wxeUgYT7Y2vjRtHpzm0qmy5eoW oNnckftUw2su8M+9HDsiAOabmy8+432JA6qfMFMVGer6y/uWBvAdDiHq7+lUeqMDVyIH LLckPjcjOW50IDZ5nTniMbDrMqLtk4cRd+EWfPyCgWAKDenZzwwwwr3T5KBoB/460pJ6 Iwkxo7ueSiSRDT/sz4nKwj5QDE+aViuIjFP8WHRT4GKh9JhfttSSPxjJmWBazKjYjCNp SCgT2wx0CvQ4i9nUsw3KmLqCcxpQAp7ny6nFT3q13sI6hpDwiZWKe+5BxDf5aNoDkpJR gaYg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1697921267; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=MCz6RV4vhdbJKZv8ln75JuulXDZ2IQfFDNKofM6Jy3Q=; b=fj0Y38nNiwaKkIBp9bclTXaZXswU0BK9lPHsrKKNpwas99ztaKprbI0sbFitKGqc/9 +l8ZM4K2woNQieEY4Q8QzvBetBI/OAeDZhTD692VVhaS4ir7mhA0e8c1O1bQDfI6taTY 1MCm5mmiw3U5TBARknOLZg2slZ0SnIL3Vy5AAKhL1tZODqFvd9UKAViodZjPFA2k1qrx sht0h5Xd6V6f1LkGg6OW4BbznQI+V5X4ik1GFSZp50IdpKoPTMxTWLWIIzM6/2J69lH0 Wa9ABP3Dud20y5FWsCV9cN/DFZK7XqZ+YB4p37hgRTzajJJPVyTdVZk3zGPGu4I7z1vy /PVQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1697921267; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=MCz6RV4vhdbJKZv8ln75JuulXDZ2IQfFDNKofM6Jy3Q=; b=WU1G8Iaq1GARA04FwGyYrpK2DnY1jPw/zPq5h+Fo1IcCX3AnFpTzxmpIYIrczRYVLm +zs/RCla1ZopnIMuFQDg== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOQiKFTpXqE7eOM24VfbLE69WJEew==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.9.0 AUTH) with ESMTPSA id Y1a68az9LKlkWpP (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Sat, 21 Oct 2023 22:47:46 +0200 (CEST) From: Bruno Haible To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Subject: Re: bug#65927: the role and location of locale.alias Date: Sat, 21 Oct 2023 22:47:46 +0200 Message-ID: <4309618.iZASKD2KPV@nimes> In-Reply-To: <87a5scqck9.fsf@gnu.org> References: <2444710.l5Z5W5aWdd@nimes> <87a5scqck9.fsf@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65927 Cc: 65927@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo', > > 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. >=20 > Does glibc look for =E2=80=98locale.alias=E2=80=99 in $sysconfdir, or doe= s it look for > it in $localstatedir? It looks for it in $(localedir), whose default value is $(datadir)/locale. https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3Dintl/localealias.c;h= =3Dea4f48b594fe13490f006d95b799213961146e23;hb=3DHEAD#l154 https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3Dintl/Makefile;h=3Dd7= 223256eb699380ccdf6f6dd37b7490b342e8d3;hb=3DHEAD#l156 https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3DMakeconfig;h=3Dc48fc= c59e8c1b150d40241c31fc63adf4d15ccb3;hb=3DHEAD#l202 The default value of $(datadir) is $(prefix)/share. https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3DMakeconfig;h=3Dc48fc= c59e8c1b150d40241c31fc63adf4d15ccb3;hb=3DHEAD#l182 > To follow the =E2=80=9Ccorrect way=E2=80=9D as you described it, glibc sh= ould look for > it in $sysconfdir by default. I agree; cf. https://www.gnu.org/prep/standards/html_node/Directory-Variabl= es.html But it does not do so currently; therefore the distros fix up the upstream behaviour. > > 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/local= e/locale.alias > > /gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33/share/local= e/locale.alias > > ? > > If Guix had this configuration file moved to /etc, like Debian did, = GNU gettext > > could be compiled with '-DLOCALE_ALIAS_PATH=3D\"/etc\"' and would th= en be able > > to access it. >=20 > Right now gettext in Guix ends up being compiled with: >=20 > -DLOCALE_ALIAS_PATH=3D\"\" >=20 > (Example build log at > .) In this case, localealias.c does not attempt to open a locale.alias file at= all. > What you propose is doable. However, how many distros provide > /etc/locale.alias? What happens when it=E2=80=99s missing? >=20 > We have to keep in mind that Guix can be used on top of any distro. When it's missing, localealias.c does not open a locale.alias file. Negative effects can be seen after the ISO 639 language code of a language changed or after the ISO 3166 country code of a territory changed. This is currently not relevant, but may become relevant in the future again. Which distros have it in /etc? - Guix 1.4.0: no - Debian 12, Ubuntu 23.10: yes, /usr/share/locale/locale.alias is a symli= nk. - CentOS Stream 9: no - Arch 19.11: no - openSUSE 15.5: no - Slackware 15: no So, to solve the problem, Guix would need to customize glibc 1. to install locale.alias in /etc (=3D $(sysconfdir)), 2. compile with a LOCALE_ALIAS_PATH=3D$(sysconfdir):$(localedir) Then GNU gettext could be compiled with LOCALE_ALIAS_PATH=3D$(sysconfdir):$= (localedir) as well. This would work in standalone Guix, as well as in Guix-on-top-of-another-distro. Bruno