SHA256
1
0
forked from pool/rpmlint
rpmlint/suse-version.diff

43 lines
1.6 KiB
Diff

--- SpecCheck.py
+++ SpecCheck.py
@@ -52,6 +52,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+)')
# Only check for /lib, /usr/lib, /usr/X11R6/lib
# TODO: better handling of X libraries and modules.
@@ -306,7 +307,13 @@
if lib_package_regex.search(line):
lib = 1
- res = prereq_regex.search(line)
+ res = suse_version_regex.search(line)
+ if res and int(res.group(1)) > 0 and int(res.group(1)) < 1020:
+ 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))
@@ -568,6 +575,16 @@
set which may result in security issues in the resulting binary package
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.'''
+
)
# SpecCheck.py ends here