From c6edcb6ac16b7bd011ab196dab2722374b8e9cec Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 2 Jun 2011 14:02:46 -0700 Subject: [PATCH] portageq: exclude expand_new_virt from commands This is necessary since portage probes functions in globals() and treats functions it finds as commands. Also, use lazy import to minimize global scope imports. --- bin/portageq | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/bin/portageq b/bin/portageq index d6d9c170a..92719fb5b 100755 --- a/bin/portageq +++ b/bin/portageq @@ -21,7 +21,6 @@ except KeyboardInterrupt: sys.exit(128 + signal.SIGINT) import os -import subprocess import types # Avoid sandbox violations after python upgrade. @@ -43,8 +42,11 @@ except ImportError: del pym_path from portage import os -from portage.dbapi._expand_new_virt import expand_new_virt from portage.util import writemsg, writemsg_stdout +portage.proxy.lazyimport.lazyimport(globals(), + 'subprocess', + 'portage.dbapi._expand_new_virt:expand_new_virt', +) def eval_atom_use(atom): if 'USE' in os.environ: @@ -656,10 +658,11 @@ list_preserved_libs.uses_root = True if not portage.const._ENABLE_PRESERVE_LIBS: del list_preserved_libs -non_commands = frozenset(['elog', 'eval_atom_use', 'exithandler', 'main', +non_commands = frozenset(['elog', 'eval_atom_use', + 'exithandler', 'expand_new_virt', 'main', 'usage', 'writemsg', 'writemsg_stdout']) commands = sorted(k for k, v in globals().items() \ - if type(v) is types.FunctionType and k not in non_commands) + if k not in non_commands and isinstance(v, types.FunctionType)) def usage(argv): print(">>> Portage information query tool") -- 2.26.2