forked from pool/rpmlint
Ludwig Nussel
5ad6c8a066
+ add ghost file checks + print names of failed tests - fix update_git.sh - make sure tmpfiles are listed in %files (add-check-for-tmpfiles-created-at-r.diff) - don't complain about missingok ghost files (fix-ghost-file-handling.diff) - remove obsolete check for %defattr in spec files (remove-files-attr-not-set-check.diff) OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=328
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 ae9c364..7d2b92f 100644
|
|
--- a/FilesCheck.py
|
|
+++ b/FilesCheck.py
|
|
@@ -926,6 +926,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:
|
|
@@ -1717,6 +1727,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
|