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/general-hooks/ubuntu-gnome.py
"""Bugs and crashes for the Ubuntu GNOME flavour.

Copyright (C) 2013 Canonical Ltd.
Author: Martin Pitt <martin.pitt@ubuntu.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.
"""

# pylint: disable=invalid-name
# pylint: enable=invalid-name


def add_info(report, unused_ui):
    """Handle bugs and crashes for the Ubuntu GNOME flavour."""
    release = report.get("DistroRelease", "")

    msg = (
        "The GNOME3 PPA you are using is no longer supported"
        " for this Ubuntu release. Please "
    )
    # redirect reports against PPA packages to ubuntu-gnome project
    if "[origin: LP-PPA-gnome3-team-gnome3" in report.get("Package", ""):
        report[
            "CrashDB"
        ] = """\
{
    "impl": "launchpad",
    "project": "ubuntu-gnome",
    "bug_pattern_url": "http://people.canonical.com/"
    "~ubuntu-archive/bugpatterns/bugpatterns.xml",
    "dupdb_url": "http://phillw.net/ubuntu-gnome/apport_duplicates/",
}
"""

        # using the staging PPA?
        if "LP-PPA-gnome3-team-gnome3-staging" in report.get("Package", ""):
            report.setdefault("Tags", "")
            report["Tags"] += " gnome3-staging"
            if release in {"Ubuntu 14.04", "Ubuntu 16.04"}:
                report["UnreportableReason"] = (
                    f'{msg} run "ppa-purge ppa:gnome3-team/gnome3-staging".'
                )

        # using the next PPA?
        elif "LP-PPA-gnome3-team-gnome3-next" in report.get("Package", ""):
            report.setdefault("Tags", "")
            report["Tags"] += " gnome3-next"
            if release in {"Ubuntu 14.04", "Ubuntu 16.04"}:
                report["UnreportableReason"] = (
                    f'{msg} run "ppa-purge ppa:gnome3-team/gnome3-next".'
                )

        elif release in {"Ubuntu 14.04", "Ubuntu 16.04"}:
            report["UnreportableReason"] = (
                f'{msg} run "ppa-purge ppa:gnome3-team/gnome3".'
            )

    if "[origin: LP-PPA-gnome3-team-gnome3" in report.get("Dependencies", ""):
        report.setdefault("Tags", "")
        report["Tags"] += " gnome3-ppa"
        if (
            release in {"Ubuntu 14.04", "Ubuntu 16.04"}
            and "UnreportableReason" not in report
        ):
            report["UnreportableReason"] = f"{msg} use ppa-purge to remove the PPA."