en_GB locale specifies in its week directive that its days list is Sunday-based, while in fact it is Monday-based. With the recent first_w*day change from September, this causes calendar applications to malfunction since the first w*days now essentially point to the Tuesday string. Patch to follow. There is a similar problem in csb_PL. Huge number of other locales have the week directive wrong too (cs_CZ, de_DE, ...) but have first_weekday set to 1 so usually the week just appears to start with Sunday instead of Monday which is apparently less noticeable by users. I will start opening bugs for these locales later.
Created attachment 3089 [details] Proposed patch
Test case?
Sorry, I will be glad to provide one, but could you be more specific? Just a testcase testing whether en_GB returns the correct weekstart? That doesn't look very useful... Or something iterating all the SUPPORTED locales to check whether their weekstart is only Sunday or Monday? There seem to be no tests like that so far, but I'm not sure what else do you mean.
Created attachment 3648 [details] Easily test correctness of first weekday setting Sorry, I was kind of dense I guess - you probably mean a way to reproduce and verify the settings. I have attached a simple test application that interprets the relevant locale data based on my current understanding of the relevant specs. The two printed weekday names should match in correctly defined locale.
This update has now introduced another bug, whereby the start of the week is Tuesday, instead of Monday. The first weekday and first workday parameters should both be 1, instead of 2: first_weekday 1 first_workday 1
Created attachment 3797 [details] Easily test correctness of first weekday setting Here is an even better testcase: I have added what the firstday is in english, to check that the translation is correct.
Created attachment 3798 [details] Easily test correctness of first weekday setting Oops, I hadn't seen that it was showing the first day of the week, not the first day of the week system. Here is a fixed version (my concern is to show the english name to make sure things are really correct).
Created attachment 3799 [details] Fix first_weekday and week Here is a patch that addresses the en_GB concern initially described here as well as csb_PL and et_EE (same concern), and fixes week[2] into always be 19971130, as glibc assumes this.
OK, I applied the patch. But if people complain I'll point to you.
No problem, I'll take the time to explain them.
*** Bug 9835 has been marked as a duplicate of this bug. ***