Re: date(1) default format changed between 10.3 and 11.0-BETA3

From: Mark Martinec <Mark.Martinec+freebsd_at_ijs.si>
Date: Fri, 05 Aug 2016 16:47:16 +0200
On 2016-08-05 07:00, Julian Elischer wrote:
> On 5/08/2016 5:44 AM, Mark Martinec wrote:
>> Should I open a bug report, or has the problem been noted?
> it's not clear without reading the standard whether the bug is in the
> old or new version.
> have you tried other systems? In particular I'd check OSX


Did some research, opened a PR against 11.0-BETA3:

[Bug 211598]
   date(1) default format in en_EN locale breaks compatibility with 10.3 
and violates POSIX

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211598


   Mark




On 2016-08-05 07:00, Julian Elischer wrote:
[...]
> sh-3.2$ export LC_CTYPE="en_US.UTF-8"
> sh-3.2$ export LC_TIME="en_US.UTF-8"
> sh-3.2$ export LC_ALL="en_US.UTF-8"
> sh-3.2$ export LC_NUMERIC="en_US.UTF-8"
> sh-3.2$ date
> Fri Aug  5 12:57:47 AWST 2016
> 
> if it IS a bug then yes, file a report with full reproduction steps.


>> On 2016-08-04 04:32, Julian Elischer wrote:
>>> On 4/08/2016 7:24 AM, Mark Martinec wrote:
>>>> Is it normal/expected/documented that the date(1) command in 11.0
>>>> now produces a timestamp in substantially different format
>>>> in an "en_US.UTF-8" locale (long names, commas, 12 vs. 24h hour 
>>>> time):
>>>> 
>>>>   Thursday, August  4, 2016 at 12:50:43 AM CEST
>>>> vs:
>>>>   Thu Aug  4 00:52:29 CEST 2016
>>>> 
>>> one of those is a bug.  the formats are defined in posix I believe.
>>> 
>>>> 
>>>> Setting LC_TIME does not help:
>>>> 
>>>>   $LC_TIME="C" date
>>>>   Thursday, August  4, 2016 at 01:13:37 AM CEST
>>>> 
>>>> although LC_ALL="C" _does_ help.
>>>> 
>>>> 
>>>> This is funny too, especially regarding commas:
>>>>   $ LC_ALL="en_GB.UTF-8" date
>>>>   Thursday  4 August 2016 at 01:16:45 CEST
>>>>   $ LC_ALL="en_US.UTF-8" date
>>>>   Thursday, August  4, 2016 at 01:16:54 AM CEST
>>>> 
>>>> 
>>>> The date(1) man page states:
>>>>   The date utility is expected to be compatible with IEEE Std 1003.2
>>>>   (“POSIX.2”).
>>>> What does POSIX.2 say about date(1) following a locale?
>>>> 
>>>> 
>>>> 
>>>> ======
>>>> 11.0-BETA3:
>>>> 
>>>> $ date
>>>> Thursday, August  4, 2016 at 12:50:43 AM CEST
>>>> 
>>>> $ uname -a
>>>> FreeBSD xxx.ijs.si 11.0-BETA3 FreeBSD 11.0-BETA3 #0 r303469: Fri Jul 
>>>> 29 02:27:28 UTC 2016 
>>>> root_at_releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
>>>> 
>>>> $ locale
>>>> LANG=
>>>> LC_CTYPE="en_US.UTF-8"
>>>> LC_COLLATE="en_US.UTF-8"
>>>> LC_TIME="en_US.UTF-8"
>>>> LC_NUMERIC="en_US.UTF-8"
>>>> LC_MONETARY="en_US.UTF-8"
>>>> LC_MESSAGES="en_US.UTF-8"
>>>> LC_ALL=en_US.UTF-8
>>>> 
>>>> ======
>>>> 10.3-RELEASE-p6 :
>>>> 
>>>> $ date
>>>> Thu Aug  4 00:52:29 CEST 2016
>>>> 
>>>> $ freebsd-version
>>>> 10.3-RELEASE-p6
>>>> 
>>>> $ uname -a
>>>> FreeBSD yyy.ijs.si 10.3-RELEASE-p4 FreeBSD 10.3-RELEASE-p4 #0: Sat 
>>>> May 28 12:23:44 UTC 2016 
>>>> root_at_amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC 
>>>> amd64
>>>> 
>>>> $ locale
>>>> LANG=
>>>> LC_CTYPE="en_US.UTF-8"
>>>> LC_COLLATE="en_US.UTF-8"
>>>> LC_TIME="en_US.UTF-8"
>>>> LC_NUMERIC="en_US.UTF-8"
>>>> LC_MONETARY="en_US.UTF-8"
>>>> LC_MESSAGES="en_US.UTF-8"
>>>> LC_ALL=en_US.UTF-8
>>>> 
>>>> 
>>>> 
>>>>   Mark
Received on Fri Aug 05 2016 - 12:47:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:07 UTC