HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //usr/share/apport/package-hooks/subiquity.py
"""Send reports about subiquity to the correct Launchpad project."""

import os

from apport import hookutils


def add_info(report, unused_ui):
    """Send reports about subiquity to the correct Launchpad project."""
    # TODO: read the version from the log file?
    logfile = os.path.realpath("/var/log/installer/subiquity-debug.log")
    revision = "unknown"
    if os.path.exists(logfile):
        hookutils.attach_file(report, "logfile", "InstallerLog")
        with open(logfile, encoding="utf-8") as log_fp:
            first_line = log_fp.readline()
        marker = "Starting Subiquity revision"
        if marker in first_line:
            revision = first_line.split(marker)[1].strip()
    report["Package"] = f"subiquity ({revision})"
    report["SourcePackage"] = "subiquity"
    # rewrite this section so the report goes to the project in Launchpad
    report[
        "CrashDB"
    ] = """\
{
    "impl": "launchpad",
    "project": "subiquity",
    "bug_pattern_url": "http://people.canonical.com/"
    "~ubuntu-archive/bugpatterns/bugpatterns.xml",
}
"""

    # add in subiquity stuff
    hookutils.attach_file_if_exists(
        report, "/var/log/installer/subiquity-curtin-install.conf", "CurtinConfig"
    )
    hookutils.attach_file_if_exists(
        report, "/var/log/installer/curtin-install.log", "CurtinLog"
    )
    hookutils.attach_file_if_exists(
        report, "/var/log/installer/block/probe-data.json", "ProbeData"
    )

    # collect desktop installer details if available
    desktoplog = os.path.realpath("/var/log/installer/ubuntu_bootstrap.log")
    if os.path.exists(desktoplog):
        hookutils.attach_file(report, desktoplog, "DesktopInstallerLog")
        report.add_tags(["ubuntu-desktop-bootstrap"])
        snapdir = os.path.realpath("/snap/ubuntu-desktop-bootstrap/current")
        if os.path.exists(snapdir):
            report["DesktopInstallerRev"] = os.path.basename(snapdir)