SHA256
1
0
forked from pool/rpmlint
rpmlint/suse-mono-deps-checks.diff

42 lines
1.6 KiB
Diff
Raw Normal View History

--- TagsCheck.py
+++ TagsCheck.py
@@ -517,7 +517,7 @@ class TagsCheck(AbstractCheck.AbstractCheck):
base=is_devel.group(1)
dep=None
has_so=0
- for f in pkg.files().keys():
+ for f in pkg.files():
if f.endswith('.so'):
has_so=1
break
@@ -686,6 +686,17 @@ class TagsCheck(AbstractCheck.AbstractCheck):
for p in useless_provides:
printError(pkg, 'useless-explicit-provides',p)
+ have_mono_reqs=False
+ for r in reqs + provs:
+ if r.startswith('mono('):
+ have_mono_reqs=True
+ break
+
+ if not have_mono_reqs:
+ for fname in pkg.files():
+ if fname.endswith('.dll'):
+ printError(pkg, 'mono-versioned-deps-missing', fname)
+
useless_reqs=set()
for r in reqs:
if not r in useless_reqs:
@@ -901,6 +912,11 @@ upgrade path. self-provides are autogenerated. Remove the provide.''',
'obsolete-on-name',
'''A package should not obsolete itself, as it can cause weird errors in tools.''',
+'mono-versioned-deps-missing',
+'''This package appears to be related to mono, but doesn't have versioned
+mono provides being generated. Add mono-devel to the buildrequires to
+build the package with the correct provides.''',
+
'invalid-filepath-dependency',
'''A package has a file or path based dependency that is not resolveable for
package solvers because it is not in the whitelist for path based dependencies