guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/2] Avoiding incompatible locale data in LOCPATH


From: Ludovic Courtès
Subject: Re: [PATCH 0/2] Avoiding incompatible locale data in LOCPATH
Date: Mon, 05 Oct 2015 21:39:53 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Federico Beffa <address@hidden> skribis:

> On Mon, Oct 5, 2015 at 4:35 PM, Ludovic Courtès <address@hidden> wrote:
>> Mark H Weaver <address@hidden> skribis:
>>
>>> address@hidden (Ludovic Courtès) writes:
>>>
>>>> So with current ‘core-updates’, someone on a “foreign distro” needs to
>>>> do:
>>>>
>>>>   guix package -i glibc-locales
>>>>   export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale/2.22
>>>>
>>>> Note the extra “/2.22”, which comes from commit f2d7bbb.  This is a bit
>>>> of an annoyance for end users, but the point is that eventually this
>>>> would allow us to recommend things like:
>>>>
>>>>   export 
>>>> GUIX_LOCPATH=$HOME/.guix-profile/lib/locale/2.22:$HOME/.guix-profile/lib/locale/2.23
>>>>
>>>> The only question is whether having the “/2.22” prefix by default is a
>>>> good idea.  Opinions?
>>>
>>> I think the "/2.22" suffix will be needed to prevent another awkward
>>> transition the next time glibc makes an incompatible change to their
>>> locales.  Suppose that 2.23 makes another incompatible change.  After
>>> that, many Guix systems will have a mixture of software linked with
>>> glibc-2.22 and glibc-2.23.
>>
>> Yes.  But we could just as well have ‘glibc-utf8-locales’ where
>> everything is in lib/locale directly, and ‘glibc-transition-locales’
>> where things are under lib/locale/2.22 and lib/locale/2.23.  Dunno.
>
> I'm wondering if it would be better to point GUIX_LOCPATH to
>
> export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
>
> and have 'glibc' itself to append it's own version number to that
> string. In this way pre 2.22 programs (last official Guix(SD) release)
> would find pre-2.22 locale in '/$HOME/.guix-profile/lib/locale'. The
> next releases (with 'glibc-2.22' and following) will provide locales
> in versioned sub-directory (no conflict with pre 2.22) and the new
> programs will co-exist without users ever having to modify
> GUIX_LOCPATH.

This is what the patch at
<http://article.gmane.org/gmane.comp.gnu.guix.devel/12004> does.

However, it has the drawback of being fairly intrusive and non-trivial.
Intrusive in that it touches libc, and if it doesn’t make it upstream,
then we’ll have difficulties dealing with it.  Non-trivial in that I
think it’s pretty unusual for software to automatically modify search
path entries (when defining FOOPATH=/x:/y, one expects Foo to look under
/x and /y, not under /x/2.22.)

None of these two approaches is perfect, but I’m inclined to make the
choice that requires the smallest amount of modifications to libc.

Thoughts?

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]