forked from pool/rpmlint
Dirk Mueller
3073721c60
* rpmdiff: Teach rpmdiff about pretrans and posttrans * SpecCheck.py: merge patch from #97, using BuildArch with something else than Noarch is likely a error and causing issues. * FilesCheck.py: Add Python 3.3 magic number * FilesCheck.py, InitScriptCheck.py, MenuCheck.py, Pkg.py, PostCheck.py: Prepare for rpm-python possibly returning script progs as arrays. OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=133
47 lines
2.5 KiB
Diff
47 lines
2.5 KiB
Diff
Index: FilesCheck.py
|
|
===================================================================
|
|
--- FilesCheck.py.orig
|
|
+++ FilesCheck.py
|
|
@@ -953,6 +953,16 @@ class FilesCheck(AbstractCheck.AbstractC
|
|
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:
|
|
@@ -1762,6 +1772,24 @@ consequences), or other compiler flags w
|
|
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
|