forked from pool/rpmlint
Ludwig Nussel
912bea2445
- rpmlint 1.8 update * python 3 fixes * Add support for file triggers * Mechanism to black list certain C calls * new error: non-devel-file-in-devel-package * appdata check configurable * project moved to github * Patches dropped: avoid-mismatched-libregex.diff filename-non-utf8-exception.diff fix-ghost-file-handling.diff save-content-to-an-array.diff fix-TmpFilesCheck-pattern-match.diff move-ghost-file-check-to-TmpFilesCh.diff OBS-URL: https://build.opensuse.org/request/show/346358 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=353
56 lines
2.8 KiB
Diff
56 lines
2.8 KiB
Diff
From: Some One <nobody@opensuse.org>
|
|
Date: Thu, 9 Apr 2015 14:55:39 +0200
|
|
Subject: [PATCH] suse-check-optional-dependencies.diff
|
|
|
|
===================================================================
|
|
---
|
|
FilesCheck.py | 28 ++++++++++++++++++++++++++++
|
|
1 file changed, 28 insertions(+)
|
|
|
|
diff --git a/FilesCheck.py b/FilesCheck.py
|
|
index cdffaea..aa1fa25 100644
|
|
--- a/FilesCheck.py
|
|
+++ b/FilesCheck.py
|
|
@@ -927,6 +927,16 @@ class FilesCheck(AbstractCheck.AbstractCheck):
|
|
if res.group(1) != pkg.name:
|
|
printError(pkg, 'incoherent-logrotate-file', f)
|
|
|
|
+ deps=[x[0] for x in pkg.requires()+pkg.recommends()+pkg.suggests()]
|
|
+ if res and not ('logrotate' in deps) and pkg.name != "logrotate":
|
|
+ printError(pkg, 'missing-dependency-to-logrotate', "for logrotate script", f)
|
|
+ if f.startswith('/etc/cron.') \
|
|
+ and not ('cron' in deps) and pkg.name != "cron":
|
|
+ printError(pkg, 'missing-dependency-to-cron', "for cron script", f)
|
|
+ if f.startswith('/etc/xinet.d/') \
|
|
+ and not ('xinetd' in deps) and pkg.name != "xinetd":
|
|
+ printError(pkg, 'missing-dependency-to-xinetd', "for xinet.d script", f)
|
|
+
|
|
if link != '':
|
|
ext = compr_regex.search(link)
|
|
if ext:
|
|
@@ -1723,6 +1733,24 @@ consequences), or other compiler flags which result in rpmbuild's debuginfo
|
|
extraction not working as expected. Verify that the binaries are not
|
|
unexpectedly stripped and that the intended compiler flags are used.''',
|
|
|
|
+'missing-dependency-to-cron',
|
|
+'''This package installs a file in /etc/cron.*/ but
|
|
+doesn't require cron to be installed. as cron is not part of the essential packages,
|
|
+your package should explicitely require cron to make sure that your cron job is
|
|
+executed. If it is an optional feature of your package, recommend or suggest cron.''',
|
|
+
|
|
+'missing-dependency-to-logrotate',
|
|
+'''This package installs a file in /etc/logrotate.d/ but
|
|
+doesn't require logrotate to be installed. Because logrotate is not part of the essential packages,
|
|
+your package should explicitely depend on logrotate to make sure that your logrotate
|
|
+job is executed. If it is an optional feature of your package, recommend or suggest logrotate.''',
|
|
+
|
|
+'missing-dependency-to-xinetd',
|
|
+'''This package installs a file in /etc/xinetd.d/ but
|
|
+doesn't require xinetd to be installed. Because xinetd is not part of the essential packages,
|
|
+your package should explicitely depend on logrotate to make sure that your xinetd
|
|
+job is executed. If it is an optional feature of your package, recommend or suggest xinetd.''',
|
|
+
|
|
'read-error',
|
|
'''This file could not be read. A reason for this could be that the info about
|
|
it in the rpm header indicates that it is supposed to be a readable normal file
|