From: "Kerin Millar" <kfm@plushkava.net>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/locale-gen:master commit in: /
Date: Tue, 05 Aug 2025 10:29:28 +0000 (UTC) [thread overview]
Message-ID: <1754349309.02b2ac6ee591e4ee65eb131fa8038dc473678527.kfm@gentoo> (raw)
commit: 02b2ac6ee591e4ee65eb131fa8038dc473678527
Author: Kerin Millar <kfm <AT> plushkava <DOT> net>
AuthorDate: Mon Aug 4 23:10:54 2025 +0000
Commit: Kerin Millar <kfm <AT> plushkava <DOT> net>
CommitDate: Mon Aug 4 23:15:09 2025 +0000
URL: https://gitweb.gentoo.org/proj/locale-gen.git/commit/?id=02b2ac6e
Only check the prospective archive dir once there is work to be done
The locale-gen(1) utility combines the values of the 'prefix' and
'locale_dir' variables to form the directory that is expected to contain
the locale archive, then checks whether said directory exists and can be
modified by the effective UID. Presently, this check is performed
immediately after the command line options are validated.
Instead, perform the check at the point that locale generation is about
to commence. Further, move the code responsible for performing the check
into a new subroutine by the name of check_archive_dir.
Signed-off-by: Kerin Millar <kfm <AT> plushkava.net>
locale-gen | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/locale-gen b/locale-gen
index 18e4fa6..7df6be1 100755
--- a/locale-gen
+++ b/locale-gen
@@ -53,12 +53,6 @@ delete @ENV{'BASH_ENV', 'CDPATH'};
my %opt = parse_opts($gentoo_prefix, @ARGV);
my $prefix = $opt{'prefix'} // $gentoo_prefix;
- # A proxy check is justified because compilation may take a long time.
- my $archive_dir = catdir($prefix, $locale_dir);
- if (! utime undef, undef, $archive_dir) {
- die "$PROGRAM: Aborting because UID $> can't modify '$archive_dir': $!\n";
- }
-
# Honour the --quiet option.
if ($opt{'quiet'} && ! open *STDOUT, '>/dev/null') {
die "Can't direct STDOUT to /dev/null: $!";
@@ -109,6 +103,9 @@ delete @ENV{'BASH_ENV', 'CDPATH'};
exit 0;
}
+ # A proxy check is justified because compilation may take a long time.
+ check_archive_dir($prefix, $locale_dir);
+
# Create a temporary directory and switch to it.
enter_tempdir($prefix);
@@ -346,6 +343,15 @@ sub parse_entry ($locale, $charmap) {
return $locale, $charmap, $canonical;
}
+sub check_archive_dir ($prefix, $locale_dir) {
+ my $archive_dir = catdir($prefix, $locale_dir);
+
+ # Check whether the directory exists and can be modified by the EUID.
+ if (! utime undef, undef, $archive_dir) {
+ die "$PROGRAM: Aborting because UID $> can't modify '$archive_dir': $!\n";
+ }
+}
+
sub enter_tempdir ($prefix) {
# Given that /tmp might be a tmpfs, prefer /var/tmp so as to avoid
# undue memory pressure.
next reply other threads:[~2025-08-05 10:29 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-05 10:29 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-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-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=1754349309.02b2ac6ee591e4ee65eb131fa8038dc473678527.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