%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/share/apport/
Upload File :
Create Path :
Current File : //usr/share/apport/kernel_oops

#!/usr/bin/python3
#
# Copyright (c) 2008 Canonical Ltd.
# Author: Matt Zimmerman <mdz@canonical.com>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.  See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.

"""Collect information about a kernel oops."""

# TODO: Address following pylint complaints
# pylint: disable=invalid-name

import os
import sys
from gettext import gettext as _

import apport.fileutils

checksum = None
if len(sys.argv) > 1:
    checksum = sys.argv[1]

oops = sys.stdin.read()

pr = apport.Report("KernelOops")
pr["Failure"] = "oops"
pr["Tags"] = "kernel-oops"
pr["Annotation"] = _(
    "Your system might become unstable now and might need to be restarted."
)
package = apport.packaging.get_kernel_package()
pr.add_package(package)
pr["SourcePackage"] = "linux"

pr["OopsText"] = oops
u = os.uname()
pr["Uname"] = f"{u[0]} {u[2]} {u[4]}"

# write report
try:
    with apport.fileutils.make_report_file(pr, uid=checksum) as f:
        pr.write(f)
except OSError as error:
    apport.fatal("Cannot create report: %s", str(error))

Zerion Mini Shell 1.0