rpmlint/invalid-filerequires.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

45 lines
2.0 KiB
Diff

From: Some One <nobody@opensuse.org>
Date: Thu, 9 Apr 2015 14:55:40 +0200
Subject: [PATCH] invalid-filerequires.diff
===================================================================
---
TagsCheck.py | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: rpmlint-rpmlint-1.11/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.11.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.11/TagsCheck.py
@@ -456,6 +456,7 @@ invalid_version_regex = re.compile(r'([0
# () are here for grouping purpose in the regexp
forbidden_words_regex = re.compile(r'(%s)' % Config.getOption('ForbiddenWords'), re.IGNORECASE)
valid_buildhost_regex = re.compile(Config.getOption('ValidBuildHost'))
+valid_filedep_regex = re.compile(r'(?:/s?bin/|^/etc/|^/usr/lib/sendmail$)')
use_epoch = Config.getOption('UseEpoch', False)
use_utf8 = Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT)
max_line_len = Config.getOption('MaxLineLength', 79)
@@ -636,6 +637,9 @@ class TagsCheck(AbstractCheck.AbstractCh
if d[0].startswith('/usr/local/'):
printError(pkg, 'invalid-dependency', d[0])
+ if d[0].startswith('/') and not valid_filedep_regex.search(d[0]):
+ printWarning(pkg, 'invalid-filepath-dependency', d[0])
+
if is_source:
if lib_devel_number_regex.search(d[0]):
printError(pkg, 'invalid-build-requires', d[0])
@@ -1166,6 +1170,12 @@ unneeded explicit Requires: tags.''',
'''This package provides 2 times the same capacity. It should only provide it
once.''',
+'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
+and therefore not available in repository metadata. Please use a symbolic requires
+instead or require a file in bin or /etc.''',
+
'tag-not-utf8',
'''The character encoding of the value of this tag is not UTF-8.''',