commit: a146eb4c4d0c3e9ad2978b791421dfb81d9c7538 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sat Nov 22 08:55:08 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=a146eb4c
portageq: Replace lazyimport with function local import Also do not bother to close the global_event_loop since it is now closed by an atexit hook. Bug: https://bugs.gentoo.org/951146 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> bin/portageq | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/bin/portageq b/bin/portageq index d10cbd9475..2f2925274f 100755 --- a/bin/portageq +++ b/bin/portageq @@ -68,19 +68,6 @@ try: from portage.eapi import eapi_has_repo_deps from portage.util import writemsg, writemsg_stdout, no_color - portage.proxy.lazyimport.lazyimport( - globals(), - "re", - "subprocess", - "_emerge.Package:Package", - "_emerge.RootConfig:RootConfig", - "_emerge.is_valid_package_atom:insert_category_into_atom", - "portage.dbapi._expand_new_virt:expand_new_virt", - "portage._sets.base:InternalPackageSet", - "portage.util._eventloop.global_event_loop:global_event_loop", - "portage.xml.metadata:MetaDataXML", - ) - def eval_atom_use(atom): if "USE" in os.environ: use = frozenset(os.environ["USE"].split()) @@ -493,6 +480,10 @@ try: @uses_eroot def best_visible(argv): + from _emerge.Package import Package + from _emerge.RootConfig import RootConfig + from portage._sets.base import InternalPackageSet + if len(argv) < 2: writemsg("ERROR: insufficient parameters!\n", noiselevel=-1) return 2 @@ -680,6 +671,8 @@ try: @uses_eroot def expand_virtual(argv): + from portage.dbapi._expand_new_virt import expand_new_virt + if len(argv) != 2: writemsg(f"ERROR: expected 2 parameters, got {len(argv)}!\n", noiselevel=-1) return 2 @@ -1104,6 +1097,8 @@ try: class MaintainerEmailMatcher: def __init__(self, maintainer_emails): + import re + self._re = re.compile(f"^({'|'.join(maintainer_emails)})$", re.I) def __call__(self, metadata_xml): @@ -1120,6 +1115,12 @@ try: return not metadata_xml.maintainers() def pquery(parser, opts, args): + import re + from _emerge.Package import Package + from _emerge.RootConfig import RootConfig + from _emerge.is_valid_package_atom import insert_category_into_atom + from portage.xml.metadata import MetaDataXML + portdb = portage.db[portage.root]["porttree"].dbapi root_config = RootConfig(portdb.settings, portage.db[portage.root], None) @@ -1440,6 +1441,8 @@ try: eapi = os.environ.get("EAPI") def elog(elog_funcname, lines): + import subprocess + cmd = f"source '{os.environ['PORTAGE_BIN_PATH']}/isolated-functions.sh' ; " for line in lines: cmd += f"{elog_funcname} {shlex.quote(line)} ; " @@ -1564,10 +1567,7 @@ try: sys.exit(1) if __name__ == "__main__": - try: - sys.exit(main(sys.argv)) - finally: - global_event_loop().close() + sys.exit(main(sys.argv)) except KeyboardInterrupt as e: # Prevent traceback on ^C
