rpmlint/check-for-self-provides.diff
Dirk Mueller 1d8d6856a8 - update to 1.11:
* Avoid exception on inaccessible scripts
  * Print out the error content on UnicodeError to make flake8 happy
  * Fix flake8 warning about missing space around operators
  * Use compressions when checking for backup files
  * Account for arch specific code in /usr/share
  * Check for installed libtool wrapper files
  * Check for missing optional dependencies
  * Consider gnome help for doc files
  * Check for noarch package with files in lib64
  * Verify if description is longer than summary
  * Explicitly tell users how to set URL
  * Ignore pytest_cache directory
  * confusing-invalid-spec-name
  * Ignore orig/rej leftovers after patching
  * Reenable Travis testing against Fedora Rawhide
  * Check all sections that should not use %buildroot in them
  * Put in default buildroot value used by Fedora/openSUSE
  * Stricter interpreter check
  * Use compileall to avoid %buildroot to be in pyc
  * Drop deprecated config file usage, 0.88 is pretty old anyway
  * Adjust Version to not print outdated Copyright
  * Rework Travis checks against latest Centos and Fedora releases
  * Fix exception handling
  * Fix various flake8-import-order test regressions
  * Blacklist newer pycodestyle warnings
  * Fix compatibility with file 5.33+
  * Python 3.7.0b5 magic number is 3394
  * Update TagsCheck.py
  * pyc related tests: DRY

OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=648
2019-01-13 14:33:18 +00:00

35 lines
1.4 KiB
Diff

From: Ludwig Nussel <ludwig.nussel@suse.de>
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",