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
> Didn't know that. Is setting LANG enough, though?
> 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