File: systemd.py

package info (click to toggle)
systemd 232-25+deb9u11
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 46,164 kB
  • sloc: ansic: 290,592; xml: 49,217; makefile: 5,503; sh: 4,031; python: 2,596; perl: 1,838
file content (29 lines) | stat: -rw-r--r-- 872 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'''apport package hook for systemd

(c) 2014 Canonical Ltd.
Author: Martin Pitt <martin.pitt@ubuntu.com>
'''

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