On Sat, Aug 15, 2009 at 8:54 AM, Matthew
Burgess<matt...@linuxfromscratch.org> wrote:
> On Sat, 15 Aug 2009 08:13:38 -0700, Dan Nicholson <dbn.li...@gmail.com> wrote:
>> On Sat, Aug 15, 2009 at 7:53 AM, Matthew
>> Burgess<matt...@linuxfromscratch.org> wrote:
>>> Hi,
>>>
>>> Following a thread on blfs-support[0], it looks like the i18n
>>> patch for Coreutils causes a problem during compilation of
>>> Dash in BLFS.  The attached builtins file produces the following
>>> output when we compile Coreutils with the i18n patch:
>>>
>>> $ LANG=en_GB.UTF-8
>>> $ sort -u -k 3,3 builtins
>>>     0  .       -s      dotcmd
>>>
>>> $ LANG=en_GB
>>> $ sort -u -k 3,3 builtins
>>>    21  local   -a      localcmd
>>>    14  export  -as     exportcmd
>>>     3  alias   -au     aliascmd
>>>     7  chdir   cdcmd
>>>    10  echo    echocmd
>>>    18  hash    hashcmd
>>>    22  printf  printfcmd
>>>    23  pwd     pwdcmd
>>>     0  .       -s      dotcmd
>>>     2  [       testcmd
>>>    33  type    typecmd
>>>     4  bg      -u      bgcmd
>>>    34  ulimit  ulimitcmd
>>>
>>> If the i18n patch isn't applied, then the LANG setting has no
>>> effect on sort's output, always outputting the correct data as per
>>> the en_GB listing above.
>>>
>>> So, what do we want to do?  Just remove the sort-related hunks of the
>>> i18n patch, drop the patch altogether, or try and fix this bug?  I
>>> can easily do either of the 1st 2, but trying to fix the bug is beyond
>>> my limited C abilities.
>>
>> I thought the mk_builtins script (or whatever it's called) runs sort
>> with LC_COLLATE=C? Can you check (this came up before because I was
>> building with en_US.UTF-8 and the sorting was wrong)?
>
> Ah, it does, but only on an earlier invocation of sort!  So, I guess, for
> now, BLFS could have a patch to dash to add LC_COLLATE=C to the other
> call to sort in src/mkbuiltins.

Yeah, I'd send that upstream and cc Herbert Xu.

> Longer-term though, we certainly need to fix up our patch in LFS though.
> I'd expect it produce the same output in both en_GB and en_GB.UTF-8
> locales.

Are you sure that's correct, though? They will only definitely have
the same output if en_GB and en_GB.UTF-8 are the same locale. UTF-8
locales usually have different collating rules.

--
Dan
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to