From: Ludwig Nussel Date: Fri, 10 Apr 2015 14:54:18 +0200 Subject: [PATCH] check for self provides --- TagsCheck.py | 6 ++++++ 1 file changed, 6 insertions(+) Index: rpmlint-rpmlint-1.11/TagsCheck.py =================================================================== --- rpmlint-rpmlint-1.11.orig/TagsCheck.py +++ rpmlint-rpmlint-1.11/TagsCheck.py @@ -874,6 +874,10 @@ class TagsCheck(AbstractCheck.AbstractCh obs_names = [x[0] for x in pkg.obsoletes()] prov_names = [x[0].split(':/')[0] for x in pkg.provides()] + for p in pkg.provides(): + if p[0] == pkg.name and not p[1]: + printError(pkg, 'unversioned-explicit-self-provides', p[0]) + for o in (x for x in obs_names if x not in prov_names): printWarning(pkg, 'obsolete-not-provided', o) for o in pkg.obsoletes(): @@ -1219,6 +1223,10 @@ objects should thus not be depended on a in the containing package. Get rid of the provides if appropriate, for example by filtering it out during build. Note that in some cases this may require disabling rpmbuild's internal dependency generator.''', + +'unversioned-explicit-self-provides', +'''This package provides it's own name explicitely, which might break +upgrade path. self-provides are autogenerated. Remove the provide.''', ) for i in ("obsoletes", "conflicts", "provides", "recommends", "suggests",