Package: locales
Version: 2.24-5
Severity: normal
Tags: patch

Dear Maintainer,

Although this is being reported against 2.24-5, I have only confirmed that that 
version is affected by inspecting the contents of its deb file and confirming 
that the problem is still present in it.  I actually run Ubuntu 16.04.1, and 
the version I have is 2.23-0ubuntu3.  But I believe that the details on #663203 
as well as the current contents of 
http://ftp.au.debian.org/debian/pool/main/g/glibc/locales_2.24-5_all.deb mean 
that this is a Debian bug, not an Ubuntu one.  I have Cc'd the Ubuntu package 
maintainer list anyway, just in case.

The fix for #663203 changes the date_fmt string for the en_AU locate from the 
upstream default of:

    $ locale date_fmt
    %a %b %e %H:%M:%S %Z %Y
    $ date
    Mon Oct 24 16:32:39 AEDT 2016

to instead be:

    $ locale date_fmt
    %A %-e %B  %H:%M:%S %Z %Y
    $ date
    Monday 24 October  16:32:39 AEDT 2016

This change has introduced several problems beyond the intended fix for the 
original problem:

* Full date-of-week and month names are used, rather than the abbreviations 
which are more canonically used in date_fmt strings, eg. in the other major 
English-speaking locales such as en_US and en_GB, as well as in the previous 
(and upstream) en_AU date_fmt.

* Single digit day-of-the-month are not padded with a space, which leads to 
alignment problems.

* There is an extra space between the name of the month and the hour, which 
looks weird.  From the look of the patch, this appears to be an accident.

The value of d_t_fmt (used by strftime %c, and unchanged by #663203's patch) is:

    $ locale d_t_fmt
    %a %d %b %Y %T %Z
    $ date +%c
    Mon 24 Oct 2016 16:32:48 AEDT

By contrast, the other main English-speaking locales put the day of the month 
after the name of the month for d_t_fmt:

    $ LANG=en_US.UTF8 date +%c
    Mon 24 Oct 2016 04:32:48 PM AEDT
    $ LANG=en_GB.UTF8 date +%c
    Mon 24 Oct 2016 16:32:48 AEDT

Those locales also have date_fmt which is consistent with d_t_fmt (ie. 
identical apart from the inclusion of the timezone and the use of %d instead of 
%e):

    $ LANG=en_US.UTF8 date
    Mon Oct 24 16:32:48 AEDT 2016
    $ LANG=en_GB.UTF8 date
    Mon 24 Oct 16:32:48 AEDT 2016

Based on all of this, I suggest that the intention of #663203 was to make 
date_fmt be more consistent with d_t_fmt, and more similar to en_GB (since 
Australia and Great Britain share the DD/MM/YYYY approach to dates), in terms 
of putting the day of the month ahead of the (abbreviated) month name, ie. that 
the %b and %e should simply be swapped, and that it was not about issues 
related to abbreviated vs full day/month names, padding on fields, or 
whitespace.

Therefore, I believe that it would be more approprate for 
patches/localedata/submitted-en_AU-date_fmt.diff to have the following contents 
instead:

    --- a/localedata/locales/en_AU
    +++ b/localedata/locales/en_AU
    @@ -114,7 +114,7 @@
     am_pm       "<U0041><U004D>";"<U0050><U004D>"
     t_fmt_ampm  
"<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
     <U0025><U0070>"
    -date_fmt   "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
    +date_fmt   "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062>/
     <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
     <U0025><U005A><U0020><U0025><U0059>"
     %  FIXME: found in CLDR

Thanks,

Kev


-- System Information:
Debian Release: stretch/sid
  APT prefers xenial-updates
  APT policy: (500, 'xenial-updates'), (500, 'xenial-security'), (500, 
'xenial'), (100, 'xenial-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-42-generic (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages locales depends on:
ii  debconf [debconf-2.0]  1.5.58ubuntu1
ii  libc-bin               2.23-0ubuntu3

locales recommends no packages.

locales suggests no packages.

-- debconf information:
  locales/locales_to_be_generated:
  locales/default_environment_locale: None

Reply via email to