...
 
Commits (6)
......@@ -155,6 +155,7 @@ def main():
for arch in ARCHES:
packages.update(check_packages_repository(args.release, args.whitelists_dir, arch, args.fg, args.bg))
print('\n## Broken packages')
for repository, results in packages.items():
report = results['report'] or []
broken = [p for p in report if p['status'] == 'broken']
......@@ -162,6 +163,20 @@ def main():
for r in broken:
print(f" {r['package']} ({r['version']}/{r['architecture']})")
print('\n## Missing dependencies')
for repository, results in packages.items():
report = results['report'] or []
broken = [p for p in report if p['status'] == 'broken']
missing = {}
for pkg in broken:
reasons = [r for r in pkg['reasons'] if 'missing' in r]
for reason in reasons:
dep = reason['missing']['pkg']['unsat-dependency']
missing.setdefault(dep, []).append(pkg['package'])
print(f'{args.release}/{repository} missing:{len(missing)}')
for pkg, rdeps in missing.items():
print(f' {pkg} breaking:{len(rdeps)} {rdeps}')
if args.junit:
args.junit.write(render_junit(packages))
......
packages:
- name: .*mildenhall.*-dev
reason: Development packages should not be installed in target images
......@@ -265,7 +265,7 @@ packages:
reason: JPEG viewer is not necessary
- name: libperl5.28
reason: Perl development library is not needed
- name: linux-compiler-gcc-8-x86
- name: linux-compiler-gcc-.*
reason: Development packages should not be installed in target images
- name: lm-sensors
reason: This hardware monitoring tool is not needed
......@@ -323,3 +323,9 @@ packages:
reason: This package is not required
- name: newt-tcl
reason: Newt development module for TCL is not needed
- name: libpam-cracklib
reason: No need for the PAM module to check for weak passwords (libcrack2 is only in :development)
- name: perl
reason: The perl-base package is enough, no need for the fully featured installation
- name: initscripts
reason: Apertis relies heavily on systemd, sysvinit is not supported (missing startpar)