--- SpecCheck.py +++ SpecCheck.py @@ -47,6 +47,7 @@ buildprereq_regex = re.compile('^BuildPreReq:\s*(.+?)\s*$', re.IGNORECASE) use_utf8 = Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT) macro_regex = re.compile('(%+)[{(]?(\w+)') +suse_version_regex = re.compile('%suse_version\s*[<>=]+\s*(\d+)') # Only check for /lib, /usr/lib, /usr/X11R6/lib # TODO: better handling of X libraries and modules. @@ -287,6 +288,12 @@ if lib_package_regex.search(line): lib = 1 + res = suse_version_regex.search(line) + if res and int(res.group(1)) > 0 and int(res.group(1)) < 1010: + printWarning(pkg, "obsolete-suse-version-check", res.group(1)) + elif res and int(res.group(1)) > 1100: + printError(pkg, "invalid-suse-version-check", res.group(1)) + res = prereq_regex.search(line) if res: printWarning(pkg, 'prereq-use', res.group(2)) @@ -514,6 +521,15 @@ problems, restrict future package/provides naming, and may match something it was originally not inteded to match -- make the Obsoletes versioned if possible.''', + +'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.''' ) # SpecCheck.py ends here