mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
rrs: Add exception handling to vercmp_string call
Improve robustness adding a exception handling when two versions are compared because sometimes fails due to incompatible version format. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
This commit is contained in:
parent
4b0995e0a7
commit
b2419f2b85
|
@ -9,6 +9,8 @@ from django.db import transaction
|
|||
from layerindex.models import Recipe
|
||||
from rrs.models import Maintainer, RecipeUpgrade
|
||||
|
||||
from recipe_upstream import vercmp_string
|
||||
|
||||
"""
|
||||
Discovers the upgraded packages in the last day.
|
||||
"""
|
||||
|
@ -72,9 +74,13 @@ def update_recipe_upgrades(layerbranch, repodir, layerdir, config_data, logger):
|
|||
prev_pv = None
|
||||
|
||||
# if no previous version in database consider it an upgrade
|
||||
if not prev_pv or prev_pv != pv:
|
||||
try:
|
||||
if not prev_pv or vercmp_string(prev_pv, pv) == -1:
|
||||
logger.debug("Detected upgrade for %s in commit %s." % (pn, commit))
|
||||
create_upgrade(commit, repodir, recipe, pv, logger)
|
||||
except:
|
||||
logger.error("vercmp_string: %s, %s - %s" % (recipe.pn,
|
||||
prev_pv, pv))
|
||||
|
||||
utils.runcmd("git checkout origin/master ", repodir)
|
||||
utils.runcmd("git branch -D " + temp_branch, repodir)
|
||||
|
|
|
@ -207,12 +207,20 @@ def get_upstream_info_thread(envdata, result, recipe_mutex, result_mutex, logger
|
|||
|
||||
if not recipe_result['version']:
|
||||
recipe_result['status'] = 'U' # Unknown, need to review why
|
||||
elif vercmp_string(recipe_pv, recipe_result['version']) == -1:
|
||||
else:
|
||||
try:
|
||||
cmp_ver = vercmp_string(recipe_pv, recipe_result['version'])
|
||||
|
||||
if cmp_ver == -1:
|
||||
recipe_result['status'] = 'N' # Not update
|
||||
elif vercmp_string(recipe_pv, recipe_result['version']) == 0:
|
||||
elif cmp_ver == 0:
|
||||
recipe_result['status'] = 'Y' # Up-to-date
|
||||
elif vercmp_string(recipe_pv, recipe_result['version']) == 1:
|
||||
elif cmp_ver == 1:
|
||||
recipe_result['status'] = 'D' # Downgrade, need to review why
|
||||
except:
|
||||
recipe_result['status'] = 'U' # Unknown
|
||||
logger.error("vercmp_string: %s, %s - %s" % (recipe.pn, recipe_pv,
|
||||
recipe_result['version']))
|
||||
|
||||
result_mutex.acquire()
|
||||
result[recipe] = recipe_result
|
||||
|
|
|
@ -88,14 +88,19 @@ def upstream_history(directory, logger):
|
|||
if ru.version == '':
|
||||
ru.status = 'U' # Unknown
|
||||
else:
|
||||
try:
|
||||
cmp_ver = vercmp_string(row['Version'], ru.version)
|
||||
|
||||
if cmp_ver == -1:
|
||||
ru.status = 'N' # Not updated
|
||||
elif cmp_ver == 0:
|
||||
ru.status = 'Y' # Up-to-date
|
||||
else:
|
||||
ru.status = 'D' # Downgrade
|
||||
except:
|
||||
ru.status = 'U'
|
||||
logger.error("vercmp_string: %s, %s - %s" % (row['PackageName'],
|
||||
row['Version'], ru.version))
|
||||
|
||||
ru.type = 'A' # Automatic
|
||||
ru.no_update_reason = row['NoUpgradeReason']
|
||||
ru.date = ru.history.end_date
|
||||
|
|
Loading…
Reference in New Issue
Block a user