@@ -31,7 +31,7 @@ def is_usable(self, executor: EnvironmentExecutor, working_dir: Optional[str] =
3131 return dpkg_exit_code == 0
3232
3333 def get_dependencies (
34- self , executor : EnvironmentExecutor , working_dir : Optional [str ] = None
34+ self , executor : EnvironmentExecutor , working_dir : Optional [str ] = None , skip_hash_collection : bool = False
3535 ) -> tuple [list [dict [str , Any ]], dict [str , Any ]]:
3636 """Extract system packages with versions using dpkg-query.
3737
@@ -49,8 +49,8 @@ def get_dependencies(
4949 if exit_code != 0 :
5050 return [], {}
5151
52- # Collect all package hashes in a single batch operation
53- batch_hashes = self ._collect_all_package_hashes (executor )
52+ # Collect all package hashes in a single batch operation (unless skipped)
53+ batch_hashes = {} if skip_hash_collection else self ._collect_all_package_hashes (executor )
5454
5555 packages = []
5656 for line in stdout .strip ().split ("\n " ):
@@ -65,13 +65,15 @@ def get_dependencies(
6565
6666 package_data = {"name" : package_name , "version" : full_version , "type" : PACKAGE_TYPE_DPKG }
6767
68- # Use batch-collected hash or fallback to individual lookup
69- package_hash = batch_hashes .get (package_name )
70- if not package_hash :
71- package_hash = self ._get_package_hash (executor , package_name , architecture )
68+ # Skip hash collection if requested
69+ if not skip_hash_collection :
70+ # Use batch-collected hash or fallback to individual lookup
71+ package_hash = batch_hashes .get (package_name )
72+ if not package_hash :
73+ package_hash = self ._get_package_hash (executor , package_name , architecture )
7274
73- if package_hash :
74- package_data ["hash" ] = package_hash
75+ if package_hash :
76+ package_data ["hash" ] = package_hash
7577
7678 packages .append (package_data )
7779
0 commit comments