From: "Kerin Millar" <kfm@plushkava.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/locale-gen:master commit in: /
Date: Thu, 18 Sep 2025 23:04:16 +0000 (UTC) [thread overview]
Message-ID: <1758236607.cf37b8be253e4e4a3f78976ecac4056439933761.kfm@gentoo> (raw)
commit: cf37b8be253e4e4a3f78976ecac4056439933761
Author: Kerin Millar <kfm <AT> plushkava <DOT> net>
AuthorDate: Thu Sep 18 22:39:36 2025 +0000
Commit: Kerin Millar <kfm <AT> plushkava <DOT> net>
CommitDate: Thu Sep 18 23:03:27 2025 +0000
URL: https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=cf37b8be
Tolerate a codeset/charmap of "UTF8" (for now)
It has been observed that some Gentoo installations have locale.gen(5)
files containing "C.UTF8 UTF-8" as an entry. Further, up until recently,
the catalyst tool would populate /etc/locale.gen in that way. Though
glibc tolerates "UTF8" as a codeset, locale-gen(8) does not, because no
file by that name resides in the /usr/share/i18n/charmaps directory.
For now, have the parse_config() subroutine handle "UTF8" as a special
case for both the locale and charmap fields. Where "UTF8" is seen, it
shall now be taken as "UTF-8", with a rather ostentatious warning being
issued. The intention is to ease the transition to >=locale-gen-3 in
advance of stable-keywording, while encouraging users to amend their
config files before eventually dropping support for this edge case.
Bug: https://bugs.gentoo.org/963046
Link: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=99af83b914
Signed-off-by: Kerin Millar <kfm <AT> plushkava.net>
locale-gen | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/locale-gen b/locale-gen
index c18858f..0299f14 100644
--- a/locale-gen
+++ b/locale-gen
@@ -13,6 +13,7 @@ use File::Spec::Functions qw(canonpath catfile catdir path splitpath);
use File::Temp qw(tempdir);
use Getopt::Long ();
use List::Util qw(any);
+use Term::ANSIColor qw(colored);
# Formally stable as of v5.40; sufficiently functional in both v5.36 and v5.38.
use experimental qw(try);
@@ -360,6 +361,31 @@ sub parse_config ($fh, $path, $locale_by, $charmap_by) {
$thrower->('Malformed locale declaration', $line);
}
+ # Handle "UTF8" as a special case. Though glibc tolerates it,
+ # locale-gen would otherwise not because there is no charmap
+ # file by that name. The intention is to encourage users to
+ # amend their config files before eventually dropping support
+ # for "UTF8" altogether.
+ my @warnings;
+ if ($fields[0] =~ s/\.UTF\K8(?=@|\z)/-8/) {
+ push @warnings,
+ sprintf "WARNING! Codeset specified as UTF8 (should be UTF-8) at %s[%d]: %s",
+ $path, $., render_printable($line);
+ }
+ if ($fields[1] =~ s/^UTF8\z/UTF-8/) {
+ push @warnings,
+ sprintf "WARNING! Charmap specified as UTF8 (should be UTF-8) at %s[%d]: %s",
+ $path, $., render_printable($line);
+ }
+ for my $warning (@warnings) {
+ if (-t 2) {
+ *STDOUT->flush;
+ warn colored($warning, 'bold yellow') . "\n";
+ } else {
+ warn "$warning\n";
+ }
+ }
+
# Extract the specified locale and character map. Upon success,
# a canonicalised representation of the locale is also returned.
my ($locale, $codeset, $charmap, $canonical) = parse_entry(@fields);
next reply other threads:[~2025-09-18 23:04 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-18 23:04 Kerin Millar [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-09-18 23:06 [gentoo-commits] proj/locale-gen:master commit in: / Kerin Millar
2025-09-18 23:04 Kerin Millar
2025-09-15 5:08 Kerin Millar
2025-09-15 4:07 Kerin Millar
2025-09-15 4:07 Kerin Millar
2025-09-15 4:07 Kerin Millar
2025-09-14 4:24 Kerin Millar
2025-09-14 4:20 Kerin Millar
2025-09-13 23:53 Kerin Millar
2025-09-13 23:51 Kerin Millar
2025-09-13 23:51 Kerin Millar
2025-09-13 23:23 Kerin Millar
2025-09-13 23:23 Kerin Millar
2025-09-13 9:42 Kerin Millar
2025-09-13 9:35 Kerin Millar
2025-09-13 9:27 Kerin Millar
2025-09-13 8:46 Kerin Millar
2025-09-13 8:42 Kerin Millar
2025-09-13 1:23 Kerin Millar
2025-09-13 1:14 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-09-12 16:59 Kerin Millar
2025-08-22 23:42 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-22 23:12 Kerin Millar
2025-08-20 2:39 Kerin Millar
2025-08-20 2:39 Kerin Millar
2025-08-19 13:37 Kerin Millar
2025-08-19 13:19 Kerin Millar
2025-08-18 2:46 Kerin Millar
2025-08-18 1:18 Kerin Millar
2025-08-18 1:18 Kerin Millar
2025-08-17 2:01 Kerin Millar
2025-08-16 23:17 Kerin Millar
2025-08-16 23:17 Kerin Millar
2025-08-16 3:46 Kerin Millar
2025-08-15 22:29 Kerin Millar
2025-08-15 22:29 Kerin Millar
2025-08-15 22:18 Kerin Millar
2025-08-15 5:35 Kerin Millar
2025-08-15 4:07 Kerin Millar
2025-08-15 3:57 Kerin Millar
2025-08-13 23:49 Kerin Millar
2025-08-13 22:53 Kerin Millar
2025-08-13 22:45 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 21:42 Kerin Millar
2025-08-13 10:09 Kerin Millar
2025-08-13 10:09 Kerin Millar
2025-08-12 17:32 Kerin Millar
2025-08-12 5:06 Kerin Millar
2025-08-12 5:06 Kerin Millar
2025-08-11 22:43 Kerin Millar
2025-08-11 16:04 Kerin Millar
2025-08-11 16:04 Kerin Millar
2025-08-11 0:39 Kerin Millar
2025-08-10 22:53 Kerin Millar
2025-08-10 22:22 Kerin Millar
2025-08-10 22:22 Kerin Millar
2025-08-10 17:05 Kerin Millar
2025-08-10 8:15 Kerin Millar
2025-08-10 1:22 Kerin Millar
2025-08-09 20:18 Kerin Millar
2025-08-09 19:42 Kerin Millar
2025-08-09 19:42 Kerin Millar
2025-08-09 19:42 Kerin Millar
2025-08-08 17:44 Kerin Millar
2025-08-08 17:44 Kerin Millar
2025-08-08 17:44 Kerin Millar
2025-08-08 17:44 Kerin Millar
2025-08-07 23:20 Kerin Millar
2025-08-07 23:20 Kerin Millar
2025-08-07 22:59 Kerin Millar
2025-08-07 22:59 Kerin Millar
2025-08-07 22:59 Kerin Millar
2025-08-07 22:59 Kerin Millar
2025-08-07 22:59 Kerin Millar
2025-08-07 19:43 Kerin Millar
2025-08-07 19:41 Kerin Millar
2025-08-07 19:41 Kerin Millar
2025-08-07 16:35 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-07 16:20 Kerin Millar
2025-08-06 17:02 Kerin Millar
2025-08-06 7:44 Kerin Millar
2025-08-06 6:48 Kerin Millar
2025-08-05 23:00 Kerin Millar
2025-08-05 21:53 Kerin Millar
2025-08-05 21:53 Kerin Millar
2025-08-05 21:53 Kerin Millar
2025-08-05 10:55 Kerin Millar
2025-08-05 10:32 Kerin Millar
2025-08-05 10:29 Kerin Millar
2025-08-05 10:29 Kerin Millar
2025-08-04 16:02 Kerin Millar
2025-08-04 12:13 Kerin Millar
2025-08-04 12:13 Kerin Millar
2025-08-04 11:56 Kerin Millar
2025-08-04 11:25 Kerin Millar
2025-08-04 11:19 Sam James
2025-07-01 21:02 Andreas K. Hüttel
2023-05-11 22:23 Andreas K. Hüttel
2023-03-21 17:37 Andreas K. Hüttel
2021-09-27 6:49 Mike Frysinger
2021-09-27 6:49 Mike Frysinger
2021-09-27 6:49 Mike Frysinger
2021-09-27 6:49 Mike Frysinger
2021-09-27 6:49 Mike Frysinger
2021-09-27 6:49 Mike Frysinger
2021-09-27 5:46 Mike Frysinger
2021-08-06 21:09 Andreas K. Hüttel
2021-03-12 16:28 Mike Frysinger
2020-07-27 15:38 Andreas K. Hüttel
2020-07-27 10:36 Andreas K. Hüttel
2020-07-26 17:37 Andreas K. Hüttel
2020-07-26 17:37 Andreas K. Hüttel
2020-07-15 1:56 Andreas K. Hüttel
2020-07-15 1:56 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
2020-05-12 4:23 Andreas K. Hüttel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1758236607.cf37b8be253e4e4a3f78976ecac4056439933761.kfm@gentoo \
--to=kfm@plushkava.net \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox