对代码进行解耦
This commit is contained in:
parent
0d85dc2f28
commit
3b023d8893
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue