Index: SpecCheck.py =================================================================== --- SpecCheck.py.orig +++ SpecCheck.py @@ -56,6 +56,7 @@ libdir_regex = re.compile('%{?_lib(?:dir comment_or_empty_regex = re.compile('^\s*(#|$)') defattr_regex = re.compile('^\s*%defattr\\b') attr_regex = re.compile('^\s*%attr\\b') +suse_version_regex = re.compile('%suse_version\s*[<>=]+\s*(\d+)') section_regexs = dict( ([x, re.compile('^%' + x + '(?:\s|$)')] for x in ('build', 'changelog', 'check', 'clean', 'description', 'files', @@ -348,6 +349,12 @@ class SpecCheck(AbstractCheck.AbstractCh if res: package_noarch[current_package] = True + res = suse_version_regex.search(line) + if res and int(res.group(1)) > 0 and int(res.group(1)) < 1110: + printWarning(pkg, "obsolete-suse-version-check", res.group(1)) + elif res and int(res.group(1)) > 1140: + printError(pkg, "invalid-suse-version-check", res.group(1)) + res = prereq_regex.search(line) if res: printError(pkg, 'prereq-use', res.group(2)) @@ -731,6 +738,15 @@ set which may result in security issues depending on the system where the package is built. Add default attributes using %defattr before it in the %files section, or use per line %attr's.''', +'obsolete-suse-version-check', +'''The specfile contains a comparison of %suse_version against a suse release +that is no longer in maintenance. Consider removing obsolete parts of your +spec file to make it more readable.''', + +'invalid-suse-version-check', +'''The specfile contains a comparison of %suse_version against a suse release +that does not exist. Please double check.''', + 'non-standard-group', '''The value of the Group tag in the package is not valid. Valid groups are: "%s".''' % '", "'.join(VALID_GROUPS),