commit 61cacc3c79c356a3c3a910b0c5ddd12cfaaa20e5 Author: Michal Domonkos Date: Mon Nov 6 11:07:38 2017 +0100 BZ 1510491 Fix from_repo yumdb validator for local pkgs diff --git a/yum/rpmsack.py b/yum/rpmsack.py index e810e2f9..19b9ab35 100644 --- a/yum/rpmsack.py +++ b/yum/rpmsack.py @@ -1731,6 +1731,12 @@ class RPMDBAdditionalData(object): pass +def _validate_from_repo(value): + if value and value[0] == '/': + # Local package; chop the slash as it's not a valid repoid char + value = value[1:] + return misc.validate_repoid(value) is None + class RPMDBAdditionalDataPackage(object): # We do auto hardlink on these attributes @@ -1744,7 +1750,7 @@ class RPMDBAdditionalDataPackage(object): # Validate these attributes when they are read from a file _validators = { # Fixes BZ 1234967 - 'from_repo': lambda repoid: misc.validate_repoid(repoid) is None, + 'from_repo': _validate_from_repo, } def __init__(self, conf, pkgdir, yumdb_cache=None):