public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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.


             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