File: source_qemu.py

package info (click to toggle)
qemu 1%3A2.8%2Bdfsg-6%2Bdeb9u9
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 80,664 kB
  • sloc: ansic: 1,023,075; sh: 16,809; python: 15,697; cpp: 12,293; asm: 11,295; perl: 4,421; makefile: 2,076; objc: 1,224; xml: 708
file content (25 lines) | stat: -rw-r--r-- 910 bytes parent folder | download | duplicates (14)
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
'''apport package hook for qemu

(c) 2009 Canonical Ltd.
'''

from apport.hookutils import *
import subprocess

def cmd_pipe(command1, command2, input = None, stderr = subprocess.STDOUT, stdin = None):
    '''Try to pipe command1 into command2.'''
    try:
        sp1 = subprocess.Popen(command1, stdin=stdin, stdout=subprocess.PIPE, stderr=stderr, close_fds=True)
        sp2 = subprocess.Popen(command2, stdin=sp1.stdout, stdout=subprocess.PIPE, stderr=stderr, close_fds=True)
    except OSError as e:
        return [127, str(e)]

    out = sp2.communicate(input)[0]
    return [sp2.returncode,out]

def add_info(report):
    attach_hardware(report)
    attach_related_packages(report, ['kvm*', '*libvirt*', 'virt-manager', 'qemu*'])
    rc,output = cmd_pipe(['ps', '-eo', 'comm,stat,euid,ruid,pid,ppid,pcpu,args'], ['egrep', '(^COMMAND|^qemu|^kvm)'])
    if rc == 0:
        report['KvmCmdLine'] = output