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

40 lines
1.5 KiB
Diff

--- 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