project-installcheck.py: Honour installcheck-ignore-conflicts config
Now we have some packages in the distro which fail installcheck semi-intentionally: libstdc++6-gccX (with X < system GCC) conflicts with rpm indirectly. While this can be ignored in stagings already, this caused an issue once it's in the distro: The installcheck failure contains the release number and so it gets rebuilt all the time in the hope to make it installable again.
This commit is contained in:
parent
925f91325c
commit
6b1a26be30
@ -240,10 +240,14 @@ class RepoChecker():
|
||||
|
||||
per_source = dict()
|
||||
|
||||
ignore_conflicts = Config.get(self.apiurl, project).get('installcheck-ignore-conflicts', '').split(' ')
|
||||
|
||||
for package, entry in parsed.items():
|
||||
source = "{}/{}/{}/{}".format(project, repository, arch, entry['source'])
|
||||
per_source.setdefault(source, {'output': [], 'buildresult': buildresult.get(entry['source'], 'gone')})
|
||||
per_source.setdefault(source, {'output': [], 'buildresult': buildresult.get(entry['source'], 'gone'), 'ignored': True})
|
||||
per_source[source]['output'].extend(entry['output'])
|
||||
if package not in ignore_conflicts:
|
||||
per_source[source]['ignored'] = False
|
||||
|
||||
rebuilds = set()
|
||||
|
||||
@ -254,6 +258,9 @@ class RepoChecker():
|
||||
self.logger.debug(" " + "\n ".join(per_source[source]['output']))
|
||||
if per_source[source]['buildresult'] != 'succeeded': # nothing we can do
|
||||
continue
|
||||
if per_source[source]['ignored']:
|
||||
self.logger.debug("All binaries failing the check are ignored")
|
||||
continue
|
||||
old_output = oldstate['check'].get(source, {}).get('problem', [])
|
||||
if sorted(old_output) == sorted(per_source[source]['output']):
|
||||
self.logger.debug("unchanged problem")
|
||||
|
Loading…
x
Reference in New Issue
Block a user