diff --git a/pmb/parse/depends.py b/pmb/parse/depends.py index dd29d29f..a5d40459 100644 --- a/pmb/parse/depends.py +++ b/pmb/parse/depends.py @@ -144,6 +144,11 @@ def recurse(args, pkgnames, suffix="native"): # Nothing found if not package: + if is_conflict: + # This package was probably dropped from the repos, so we don't + # care if it doesn't exist since it's a conflicting depend that + # wouldn't be installed anyways. + continue source = 'world' if pkgname_depend in required_by: source = ', '.join(required_by[pkgname_depend]) diff --git a/test/test_parse_depends.py b/test/test_parse_depends.py index 992098fe..2b852f66 100644 --- a/test/test_parse_depends.py +++ b/test/test_parse_depends.py @@ -146,13 +146,16 @@ def test_recurse(args, monkeypatch): depends = { "test": ["libtest", "so:libtest.so.1"], "libtest": ["libtest_depend"], - "libtest_depend": ["!libtest_conflict"], + "libtest_depend": ["!libtest_conflict", "!libtest_conflict_missing"], "libtest_conflict": [], "so:libtest.so.1": ["libtest_depend"], } def package_from_index(args, pkgname, install, aport, suffix): - return {"pkgname": pkgname, "depends": depends[pkgname]} + if pkgname in depends: + return {"pkgname": pkgname, "depends": depends[pkgname]} + else: + return None monkeypatch.setattr(pmb.parse.depends, "package_from_index", package_from_index)