Minor issue in chapter 7 <Not critical>

Alexander E. Patrakov patrakov at ums.usu.ru
Fri Jun 9 19:42:50 PDT 2006


Dan Nicholson wrote:
> CCing blfs-dev.
> 
> On 6/9/06, Alexander E. Patrakov <patrakov at ums.usu.ru> wrote:
>> Dan Nicholson wrote:
>>
>> > In particular, the user is instructed to set LC_ALL
>> > in /etc/profile (equivalent).  In my understanding, this is a bad idea
>> > because it forces any user wanting to adjust their locale settings to
>> > have to set LC_ALL.  Anything less would be overridden by the LC_ALL
>> > setting from /etc/profile.  In fact, this makes the LANG setting in
>> > the same script completely unnecessary.
>>
>> Not completely. Some program (forgot its name) looks at LANG, but not 
>> LC_ALL.
> 
> Didn't know that.  Is setting LANG enough, though?

Yes

> Moving G_FILENAME_ENCODING to the Glib2 page is more correct
> and more educational.  We'll have to give this section a facelift
> before release.  I still like having the modular profile.d/i18n.sh,
> though, even if we point the user to LFS for instructions to fill out
> the data.  The LFS instructions should be amended to instruct the user
> to convert the charset part of the locale to the uppercase convention.
> This is not entirely clear right now.

Not only uppercase, but also canonical placement of dashes.

> Later, in Glib2 instructions, we can add info "Glib2 assumes the
> charcter set of filenames is <I actually don't know, UTF-8?>.

Glib2, by default, assumes that the character set of filenames is always UTF-8. 
In non-UTF-8 locales, this leads, e.g., to inability to correctly see the 
filenames created by Glib2-based programs in the "ls" output. While Glib2 
developers think that "ls" is broken, POSIX clearly requires that "tar" and 
"cpio" must convert filenames when creating or extracting a POSIX tar archive. 
This POSIX requirement would be pointless if filenames were stored in UTF-8 on 
disk. So, Glib2 developers didn't read the POSIX standard well.

>  To make
> Glib2 use the character set of the current locale for filenames, add
> G_FILENAME_ENCODING=@locale" to ...
> 
> And then we can append to profile.d/i18n.sh or create a new
> profile.d/glib2.sh.  Sound reasonable?  I may have severly mangled the
> description of the Glib2 filename character set business.

Not mangled at all.

However, there are Glib2-based programs such as Nautilus CD Burner that always 
assume that filenames are in UTF-8 and ignore G_FILENAME_ENCODING. They are 
broken in non-UTF-8 locales.

-- 
Alexander E. Patrakov



More information about the lfs-dev mailing list