增加源优先级的判断
This commit is contained in:
parent
0d5b9bf21e
commit
f7100cc318
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue