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

Re: r4943 - in glibc-package/trunk/debian: . patches/localedata



On Tue, Sep 13, 2011 at 03:53:23PM +0100, Colin Watson wrote:
> On Sun, Sep 04, 2011 at 05:01:07PM +0000, Aurelien Jarno wrote:
> > Modified:
> >    glibc-package/trunk/debian/changelog
> >    glibc-package/trunk/debian/patches/localedata/locale-C.diff
> > Log:
> >   * debian/patches/localedata/locale-C.diff: Don't include ISO14651
> >     collation rules in C.UTF-8 locale.
> 
> I'm curious what the reason for this was.  It seems to be implicated in
> this apt crash in Ubuntu:
> 
>   https://bugs.launchpad.net/bugs/848907
> 
> (apt didn't change in the relevant time period; eglibc seems to be the
> only other reasonable suspect.)
> 
> I can reproduce the same crash in Debian unstable, with:
> 
>   sudo LC_ALL=C.UTF-8 apt-get update
> 
> Now, Michael thinks that this is probably an apt bug too, and he's
> working on fixing it; but I'm curious as to the rationale for this
> change, since I don't know how many other packages might be affected by
> similar problems, and what would go wrong if we backed it out?

In particular, this test program fails:

  $ cat regcomp.c
  #include <locale.h>
  #include <sys/types.h>
  #include <regex.h>
  #include <stdio.h>
  
  int main (int argc, char **argv)
  {
          regex_t reg;
  
          setlocale (LC_ALL, "");
          if (regcomp (&reg, "[a-z]", 0) != 0) {
                  fprintf (stderr, "regcomp failed!\n");
                  return 1;
          }
          return 0;
  }
  $ make CFLAGS='-O2 -g -Wall' regcomp
  cc -O2 -g -Wall    regcomp.c   -o regcomp
  $ LC_ALL=C.UTF-8 ./regcomp; echo $?
  regcomp failed!
  1

This seems to be in conflict with the goal of having a UTF-8-capable but
language-agnostic locale; and it's different from how the C.UTF-8 locale
in d-i behaves.

-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: