diff options
author | Anas Nashif <anas.nashif@intel.com> | 2013-02-06 13:11:08 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-02-06 13:11:08 -0800 |
commit | 492eef71aa3ba7f267738751dffdf6d47c5910ff (patch) | |
tree | 629b795a136e7325df0935378e581ed21afa641b | |
parent | c6a0ba85886c21b6f5b2fcf8fd119b1f6f02dc71 (diff) | |
download | rpmlint-492eef71aa3ba7f267738751dffdf6d47c5910ff.tar.gz rpmlint-492eef71aa3ba7f267738751dffdf6d47c5910ff.tar.bz2 rpmlint-492eef71aa3ba7f267738751dffdf6d47c5910ff.zip |
suse-check-optional-dependencies.diff
===================================================================
-rw-r--r-- | FilesCheck.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/FilesCheck.py b/FilesCheck.py index b9127b6..62e1927 100644 --- a/FilesCheck.py +++ b/FilesCheck.py @@ -948,6 +948,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: @@ -1757,6 +1767,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 |