diff --git a/vulnerabilities/importers/gentoo.py b/vulnerabilities/importers/gentoo.py index 2f569cdf1..ebf44d5d3 100644 --- a/vulnerabilities/importers/gentoo.py +++ b/vulnerabilities/importers/gentoo.py @@ -103,15 +103,33 @@ def affected_and_safe_purls(affected_elem): purl = PackageURL(type="ebuild", name=pkg_name, namespace=pkg_ns) safe_versions, affected_versions = GentooImporter.get_safe_and_affected_versions(pkg) + # for version in safe_versions: + # constraints.append( + # VersionConstraint(version=GentooVersion(version), comparator="=").invert() + # ) + + # for version in affected_versions: + # constraints.append( + # VersionConstraint(version=GentooVersion(version), comparator="=") + # ) + + def clean_ver(v): + # removes ":something" which univers rejects + return v.split(":", 1)[0] + for version in safe_versions: - constraints.append( - VersionConstraint(version=GentooVersion(version), comparator="=").invert() - ) + try: + v_obj = GentooVersion(version) + except Exception: + v_obj = GentooVersion(clean_ver(version)) + constraints.append(VersionConstraint(version=v_obj, comparator="=").invert()) for version in affected_versions: - constraints.append( - VersionConstraint(version=GentooVersion(version), comparator="=") - ) + try: + v_obj = GentooVersion(version) + except Exception: + v_obj = GentooVersion(clean_ver(version)) + constraints.append(VersionConstraint(version=v_obj, comparator="=")) if not constraints: continue