commit:     49a85756a1ad2b125c8145504ed925593e70fc63
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 22 19:55:22 2025 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Nov 27 05:16:24 2025 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=49a85756

util/__init__.py: Replace lazyimport with function local import

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

 lib/portage/util/__init__.py | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/lib/portage/util/__init__.py b/lib/portage/util/__init__.py
index 6a6d0fbc04..2eeedf2972 100644
--- a/lib/portage/util/__init__.py
+++ b/lib/portage/util/__init__.py
@@ -8,7 +8,7 @@ from portage.exception import (
     InvalidAtom,
     PortageException,
     FileNotFound,
-    IsADirectory,
+    InvalidLocation,
     OperationNotPermitted,
     ParseError,
     PermissionDenied,
@@ -77,14 +77,6 @@ from typing import Optional, TextIO
 
 import portage
 
-portage.proxy.lazyimport.lazyimport(
-    globals(),
-    "pickle",
-    "portage.dep:Atom",
-    "subprocess",
-)
-
-
 noiselimit = 0
 
 
@@ -519,6 +511,7 @@ def grabdict_package(
 ):
     """Does the same thing as grabdict except it validates keys
     with isvalidatom()"""
+    from portage.dep import Atom
 
     if recursive:
         file_list = _recursive_file_list(myfilename)
@@ -582,6 +575,8 @@ def grabfile_package(
     eapi=None,
     eapi_default="0",
 ):
+    from portage.dep import Atom
+
     pkgs = grabfile(
         myfilename, compatlevel, recursive=recursive, remember_source_file=True
     )
@@ -1050,6 +1045,8 @@ pickle_write = None
 
 
 def pickle_read(filename, default=None, debug=0):
+    import pickle
+
     if not os.access(filename, os.R_OK):
         writemsg(_("pickle_read(): File not readable. '") + filename + "'\n", 
1)
         return default
@@ -1382,7 +1379,7 @@ def apply_recursive_permissions(
                 # Ignore InvalidLocation exceptions such as FileNotFound
                 # and DirectoryNotFound since sometimes things disappear,
                 # like when adjusting permissions on DISTCC_DIR.
-                if not isinstance(e, portage.exception.InvalidLocation):
+                if not isinstance(e, InvalidLocation):
                     all_applied = False
                     onerror(e)
     return all_applied
@@ -1950,6 +1947,7 @@ def find_updated_config_files(target_root, 
config_protect):
             [protected_file, None]
     If no configuration files needs to be updated, None is returned
     """
+    import subprocess
 
     encoding = _encodings["fs"]
 

Reply via email to