commit:     4fbd62f4fb267e6f5f76db844f86b24954504872
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 22 08:26:38 2025 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Nov 27 05:16:22 2025 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=4fbd62f4

_emerge/main.py: Replace lazyimport with function local import

Bug: https://bugs.gentoo.org/951146
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/main.py | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/lib/_emerge/main.py b/lib/_emerge/main.py
index ababcf1736..ea568c3a3d 100644
--- a/lib/_emerge/main.py
+++ b/lib/_emerge/main.py
@@ -2,6 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 
 import argparse
+import logging
 import locale
 import platform
 import shlex
@@ -9,18 +10,6 @@ import sys
 
 import portage
 
-portage.proxy.lazyimport.lazyimport(
-    globals(),
-    "logging",
-    "portage.dep:Atom",
-    "portage.output:xtermTitleReset",
-    "portage.util:writemsg_level",
-    "textwrap",
-    "_emerge.actions:load_emerge_config,run_action," + 
"validate_ebuild_environment",
-    "_emerge.emergelog:emergelog",
-    "_emerge.help:emerge_help",
-    "_emerge.is_valid_package_atom:insert_category_into_atom",
-)
 from portage import os
 from portage.sync import _SUBMODULE_PATH_MAP
 
@@ -297,6 +286,9 @@ def _find_bad_atoms(atoms, less_strict=False):
     It accepts atoms with wildcards.
     In less_strict mode it accepts operators and repo specs.
     """
+    from _emerge.is_valid_package_atom import insert_category_into_atom
+    from portage.dep import Atom
+
     bad_atoms = []
     for x in " ".join(atoms).split():
         atom = x
@@ -1139,6 +1131,10 @@ def parse_opts(tmpcmdline, silent=False):
 
 
 def profile_check(trees, myaction):
+    import textwrap
+    from _emerge.actions import validate_ebuild_environment
+    from portage.util import writemsg_level
+
     if myaction in ("help", "info", "search", "sync", "version"):
         return os.EX_OK
     for root_trees in trees.values():
@@ -1171,6 +1167,12 @@ def emerge_main(args: Optional[list[str]] = None):
     Processes command line arguments (default: sys.argv[1:]) and decides
     what the current run of emerge should by creating `emerge_config`
     """
+    from _emerge.actions import load_emerge_config, run_action
+    from _emerge.emergelog import emergelog
+    from _emerge.help import emerge_help
+    from portage.output import xtermTitleReset
+    from portage.util import writemsg_level
+
     if args is None:
         args = sys.argv[1:]
 

Reply via email to