SHA256
1
0
forked from pool/rpmlint
rpmlint/check-for-self-provides.diff
Dirk Mueller 1cdbc13b57 - update to 1.10:
* test: Skip fedoradev GPG checks at least for now
 * test: Refresh fedora* packages on image build
 * test: Use assertEqual where appropriate, thanks to flake8/hacking
 * test: Update fedora24 config to fedora26, run it on Travis
 * Add a new test for tmpfiles.d snippets in the /etc/ tree.
 * Add new tests for systemd units and udev rules in /etc/ tree
 * test: Disable hacking for now until it's flake8 3.4+ compatible
 * test: Set up flake8-bugbear, enable it in fedoradev container
 * rpmlint: Avoid unused loop control variable
 * ZipCheck: Add TODO
 * *: Avoid mutable argument defaults
 * Be aware of -debugsource packages
 * rpmdiff: Fix unused variable from previous commit
 * rpmdiff: Support soft dependencies
 * BinariesCheck, FilesCheck: Ignore various .build-id dirs
 * Add python3-devel and rpm-build to fedoradev container to provoke some issues
 * BinariesCheck: Popen env consistency fix
 * Pkg.getstatusoutput: Set LC_ALL for all Popens, defaulting to C
 * rpmlint: Fix checking specfile from stdin
 * test.sh: Extract rpmlint command to run_rpmlint
 * Revert "Remove unused spec_lines check_spec argument"
 * BinariesCheck: Trivial cleanups
 * travis: Run make install too
 * FilesCheck: Allow multiple bytecode magic values per Python version
 * tests: Make output test tools easier to reuse
 * FilesCheck: hg.python.org -> github.com/python
 * Pkg: Return vendor and distribution as unicode strings
 * FilesCheck: Add Python 3.7 bytecode magic value
 * Pkg.b2s: Add some more test cases

OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=482
2017-09-28 11:35:09 +00:00

33 lines
1.3 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.9/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.9.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.9/TagsCheck.py
@@ -901,6 +901,8 @@ class TagsCheck(AbstractCheck.AbstractCh
for p in pkg.provides():
value = Pkg.formatRequire(*p)
self._unexpanded_macros(pkg, 'Provides %s' % (value,), value)
+ if p[0] == pkg.name and not p[1]:
+ printError(pkg, 'unversioned-explicit-self-provides', p[0])
for c in pkg.conflicts():
value = Pkg.formatRequire(*c)
@@ -1252,6 +1254,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",