'''apport package hook for systemd (c) 2014 Canonical Ltd. Author: Martin Pitt ''' import os.path import apport.hookutils def add_info(report): apport.hookutils.attach_hardware(report) report['SystemdDelta'] = apport.hookutils.command_output(['systemd-delta']) if not os.path.exists('/run/systemd/system'): return # Add details about all failed units, if any out = apport.hookutils.command_output(['systemctl', '--state=failed', '--full', '--no-legend']).strip() if out: failed = '' for line in out.splitlines(): unit = line.split()[0] if failed: failed += '------\n' failed += apport.hookutils.command_output(['systemctl', 'status', '--full', unit]) report['SystemdFailedUnits'] = failed