diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-25 16:37:53 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:54 +0200 |
commit | 367ea85057368047a50ae98a3510e0113eadd744 (patch) | |
tree | 5aecfd3a2e44377e9d331ca77346666ca193006c /src/hydrilla/proxy/state_impl/_operations/load_packages.py | |
parent | c1f6a379b3a85303f487e1b366e96d9db90cd4e3 (diff) | |
download | haketilo-hydrilla-367ea85057368047a50ae98a3510e0113eadd744.tar.gz haketilo-hydrilla-367ea85057368047a50ae98a3510e0113eadd744.zip |
[proxy] make it possible to uninstall a package
This commit also brings some more refactoring under state_impl/.
Diffstat (limited to 'src/hydrilla/proxy/state_impl/_operations/load_packages.py')
-rw-r--r-- | src/hydrilla/proxy/state_impl/_operations/load_packages.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/hydrilla/proxy/state_impl/_operations/load_packages.py b/src/hydrilla/proxy/state_impl/_operations/load_packages.py index 107e8d6..f8fddfa 100644 --- a/src/hydrilla/proxy/state_impl/_operations/load_packages.py +++ b/src/hydrilla/proxy/state_impl/_operations/load_packages.py @@ -45,7 +45,7 @@ from .... import item_infos from ... import state from .recompute_dependencies import _recompute_dependencies_no_state_update, \ FileResolver -from .prune_packages import prune_packages +from .prune_orphans import prune_orphans def make_repo_iteration(cursor: sqlite3.Cursor, repo_id: int) -> int: cursor.execute( @@ -401,11 +401,16 @@ def _load_packages_no_state_update( repo_id = repo_id ) - prune_packages(cursor) + if repo_id != 1: + # In case of local semirepo (repo_id = 1) all packages from previous + # iteration are already orphans and can be assumed to be in a pruned + # state no matter what. + prune_orphans(cursor) _recompute_dependencies_no_state_update( - cursor = cursor, - semirepo_file_resolver = MalcontentFileResolver(malcontent_path) + cursor = cursor, + unlocked_required_mappings = [], + semirepo_file_resolver = MalcontentFileResolver(malcontent_path) ) return repo_iteration_id |