增加源优先级的判断

This commit is contained in:
luoxueyi 2021-11-11 20:13:42 +08:00
parent 0d5b9bf21e
commit f7100cc318
1 changed files with 20 additions and 2 deletions

View File

@ -137,7 +137,7 @@ class UpdateListFilterCache(apt.Cache):
adjust_candidate_pkgs.append(pkg.name+"="+pkg.candidate.version)
new_upgrade_pkgs.append(pkg)
else: # 判断升级列表
if new_ver < pkg.candidate:
if new_ver != pkg.candidate:
logging.info("adjusting candidate version: %s" % new_ver)
if _is_adjust == True:
pkg.candidate = new_ver
@ -176,7 +176,8 @@ class UpdateListFilterCache(apt.Cache):
def ver_in_allowed_origin(pkg, allow_origin):
# type: (apt.Package, List[str]) -> apt.package.Version
for ver in pkg.versions:
versions = _get_priority_order(pkg)
for ver in versions:
# ignore versions that the user marked with priority < 100
# (and ensure we have a python-apt that supports this)
try:
@ -190,6 +191,23 @@ def ver_in_allowed_origin(pkg, allow_origin):
return ver
raise NoAllowedOriginError()
def _get_priority_order(pkg):
versions = []
for ver in pkg.versions:
if versions:
for v in versions:
if v.policy_priority >= ver.policy_priority:
break
else:
index = versions.index(v)
versions.insert(index,ver)
break
if versions[-1].policy_priority == ver.policy_priority:
versions.append(ver)
else:
versions.append(ver)
return versions
def get_allowed_origins():
# type: () -> List[str]
""" return a list of allowed origins from apt.conf