对代码进行解耦

This commit is contained in:
wangsong 2021-12-01 09:41:04 +08:00
parent 0d85dc2f28
commit 3b023d8893
1 changed files with 11 additions and 11 deletions

View File

@ -129,7 +129,7 @@ class InstallBackend():
#获取要升级和安装的包列表
pkgs_install,pkgs_upgrade = self._make_pkgs_list(self.cache,self.upgrade_data.upgrade_groups_pkgs,self.now_upgrade.upgrade_groups,self.now_upgrade.single_pkgs)
#计算解决依赖关系
_success,delete_pkgs,delete_desc,header,desc = self._make_problem_resolver(pkgs_install,pkgs_upgrade)
_success,delete_pkgs,delete_desc,header,desc = self._make_problem_resolver(self.cache,pkgs_install,pkgs_upgrade)
pkgs_install,pkgs_upgrade,pkgs_remove = self._get_mark_from_cache(self.cache,self.upgrade_data.adjust_pkgs,_upgrade_mode)
pkgs_remove = delete_pkgs
else:
@ -318,7 +318,7 @@ class InstallBackend():
return deleted_pkgs
#将获取本次升级的包 进行计算依赖关系 解决依赖问题
def _make_problem_resolver(self,pkgs_install,pkgs_upgrade):
def _make_problem_resolver(self,cache,pkgs_install,pkgs_upgrade):
_success = True
header = ''
desc = ''
@ -327,18 +327,18 @@ class InstallBackend():
logging.info("Start calculating dependencies...")
#actiongroup 可以加速计算依赖关系 计算花费的时间将大幅度缩减
with self.cache.actiongroup():
if self.cache.get_changes():
self.cache.clear()
Fix = apt_pkg.ProblemResolver(self.cache._depcache)
with cache.actiongroup():
if cache.get_changes():
cache.clear()
Fix = apt_pkg.ProblemResolver(cache._depcache)
#计算出来的需要删除的包列表
all_delete_pkgs = []
all_delete_desc = []
#标记计算所有需要升级的包
for pkg in pkgs_upgrade:
self.cache[pkg].mark_upgrade()
deleted_pkgs = self._make_delete_pkgs(self.cache,all_delete_pkgs)
cache[pkg].mark_upgrade()
deleted_pkgs = self._make_delete_pkgs(cache,all_delete_pkgs)
for d_pkg in deleted_pkgs:
delete_desc = str(d_pkg) + _(" Will be deleted Due to Upgrade ") + str(pkg)
all_delete_desc.append(delete_desc)
@ -346,8 +346,8 @@ class InstallBackend():
#标记计算所有需要安装的
for pkg in pkgs_install:
self.cache[pkg].mark_install()
deleted_pkgs = self._make_delete_pkgs(self.cache,all_delete_pkgs)
cache[pkg].mark_install()
deleted_pkgs = self._make_delete_pkgs(cache,all_delete_pkgs)
for d_pkg in deleted_pkgs:
delete_desc = str(d_pkg) + _(" Will be deleted Due to Install ") + str(pkg)
all_delete_desc.append(delete_desc)
@ -362,7 +362,7 @@ class InstallBackend():
desc = str(e)
logging.error(header + desc)
msg = get_broken_details(self.cache,False)
msg = get_broken_details(cache,False)
logging.error(msg)
return _success,[],[],header,desc