--- TagsCheck.py +++ TagsCheck.py @@ -517,7 +517,7 @@ class TagsCheck(AbstractCheck.AbstractCheck): base=is_devel.group(1) dep=None has_so=0 - for f in pkg.files().keys(): + for f in pkg.files(): if f.endswith('.so'): has_so=1 break @@ -686,6 +686,17 @@ class TagsCheck(AbstractCheck.AbstractCheck): for p in useless_provides: printError(pkg, 'useless-explicit-provides',p) + have_mono_reqs=False + for r in reqs + provs: + if r.startswith('mono('): + have_mono_reqs=True + break + + if not have_mono_reqs: + for fname in pkg.files(): + if fname.endswith('.dll'): + printError(pkg, 'mono-versioned-deps-missing', fname) + useless_reqs=set() for r in reqs: if not r in useless_reqs: @@ -901,6 +912,11 @@ upgrade path. self-provides are autogenerated. Remove the provide.''', 'obsolete-on-name', '''A package should not obsolete itself, as it can cause weird errors in tools.''', +'mono-versioned-deps-missing', +'''This package appears to be related to mono, but doesn't have versioned +mono provides being generated. Add mono-devel to the buildrequires to +build the package with the correct provides.''', + 'invalid-filepath-dependency', '''A package has a file or path based dependency that is not resolveable for package solvers because it is not in the whitelist for path based dependencies