@@ -27,7 +27,9 @@ def is_usable(self, executor: EnvironmentExecutor, working_dir: Optional[str] =
2727 _ , _ , dpkg_exit_code = executor .execute_command ("dpkg-query --version" )
2828 return dpkg_exit_code == 0
2929
30- def get_dependencies (self , executor : EnvironmentExecutor , working_dir : Optional [str ] = None ) -> dict [str , Any ]:
30+ def get_dependencies (
31+ self , executor : EnvironmentExecutor , working_dir : Optional [str ] = None , skip_hash_collection : bool = False
32+ ) -> dict [str , Any ]:
3133 """Extract system packages with versions using dpkg-query.
3234
3335 Uses dpkg-query -W -f for reliable package information extraction.
@@ -39,8 +41,8 @@ def get_dependencies(self, executor: EnvironmentExecutor, working_dir: Optional[
3941 if exit_code != 0 :
4042 return {"scope" : "system" , "dependencies" : {}}
4143
42- # Collect all package hashes in a single batch operation
43- batch_hashes = self ._collect_all_package_hashes (executor )
44+ # Collect all package hashes in a single batch operation (unless skipped)
45+ batch_hashes = {} if skip_hash_collection else self ._collect_all_package_hashes (executor )
4446
4547 dependencies = {}
4648 for line in stdout .strip ().split ("\n " ):
@@ -57,13 +59,15 @@ def get_dependencies(self, executor: EnvironmentExecutor, working_dir: Optional[
5759 "version" : full_version ,
5860 }
5961
60- # Use batch-collected hash or fallback to individual lookup
61- package_hash = batch_hashes .get (package_name )
62- if not package_hash :
63- package_hash = self ._get_package_hash (executor , package_name , architecture )
62+ # Skip hash collection if requested
63+ if not skip_hash_collection :
64+ # Use batch-collected hash or fallback to individual lookup
65+ package_hash = batch_hashes .get (package_name )
66+ if not package_hash :
67+ package_hash = self ._get_package_hash (executor , package_name , architecture )
6468
65- if package_hash :
66- package_data ["hash" ] = package_hash
69+ if package_hash :
70+ package_data ["hash" ] = package_hash
6771
6872 dependencies [package_name ] = package_data
6973
0 commit comments