--- FilesCheck.py +++ FilesCheck.py @@ -651,6 +651,7 @@ bin_regex=re.compile('^(/usr)?/s?bin/') includefile_regex=re.compile('\.(c|h|a|cmi)$') buildconfigfile_regex=re.compile('(\.pc|/bin/.+-config)$') +docdir_examples_regex=re.compile('^/usr/(?:share/doc/packages|lib(?:64))/[^/]+/(?:example|demo|script|contrib)') sofile_regex=re.compile('/lib(64)?(?:/.+)?/lib[^/]+\.so$') devel_regex=re.compile('(.*)-(debug(info)?|devel|source|static)$') debuginfo_package_regex=re.compile('-debug(info)?$') @@ -990,7 +991,7 @@ compr_regex.search(f) or \ includefile_regex.search(f) or \ logrotate_regex.search(f) - if nonexec_file: + if nonexec_file and not docdir_examples_regex.search(f): printWarning(pkg, 'spurious-executable-perm', f) elif f.startswith('/etc/'): if not f in config_files and not f in ghost_files: @@ -1289,7 +1290,10 @@ 'spurious-executable-perm', '''The file is installed with executable permissions, but was identified as one that probably should not be executable. Verify if the executable bits are -desired, and remove if not.''', +desired, and remove if not. +NOTE: example scripts should be packaged under %docdir/examples, which will avoid +this warning. +''', 'world-writable', '''A file or directory in the package is installed with world writable