SHA256
1
0
forked from pool/rpmlint
rpmlint/suse-version.diff
Dirk Mueller 3073721c60 - update to 1.4:
* 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
2012-09-13 16:01:40 +00:00

40 lines
1.7 KiB
Diff

--- SpecCheck.py
+++ SpecCheck.py
@@ -57,6 +57,7 @@
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',
@@ -359,6 +360,12 @@
if not res.group(1).startswith('%'):
printWarning(pkg, 'hardcoded-prefix-tag', res.group(1))
+ res = suse_version_regex.search(line)
+ if res and int(res.group(1)) > 0 and int(res.group(1)) < 1130:
+ printWarning(pkg, "obsolete-suse-version-check", res.group(1))
+ elif res and int(res.group(1)) > 1230:
+ printError(pkg, "invalid-suse-version-check", res.group(1))
+
res = prereq_regex.search(line)
if res:
printError(pkg, 'prereq-use', res.group(2))
@@ -774,6 +781,15 @@
version (typically < 4.4). Add default attributes using %defattr before it in
the %files section, or use per entry %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),