D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
etc
/
apport
/
Filename :
crashdb.conf
back
Copy
"""map crash database names to CrashDatabase implementations and URLs""" import datetime import pathlib import platform # pylint: disable-next=invalid-name default = "ubuntu" def get_oem_project(): """Determine OEM project name from Distribution Channel Descriptor Return None if it cannot be determined or does not exist. """ try: dcd = pathlib.Path("/var/lib/ubuntu_dist_channel").read_text(encoding="utf-8") if dcd.startswith("canonical-oem-"): return dcd.split("-")[2] except IOError: return None return None # pylint: disable-next=consider-using-namedtuple-or-dataclass databases: dict[str, dict[str, str | list[str] | None]] = { "ubuntu": { "impl": "launchpad", "bug_pattern_url": ( "http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml" ), "dupdb_url": "http://people.canonical.com/~ubuntu-archive/apport-duplicates", "distro": "ubuntu", "escalation_tag": "bugpattern-needed", "escalated_tag": "bugpattern-written", }, "canonical-oem": { "impl": "launchpad", "bug_pattern_url": ( "http://people.canonical.com/~ubuntu-archive/bugpatterns/bugpatterns.xml" ), "project": get_oem_project(), }, "snap-github": { "impl": "github", "repository_owner": None, "repository_name": None, "github_app_id": "bb74ee9268c04aeca4fa", "labels": ["apport"], }, "ubuntu-wsl": { "impl": "github", "repository_owner": "ubuntu", "repository_name": "WSL", "github_app_id": "bb74ee9268c04aeca4fa", "labels": ["apport"], }, "debug": { # for debugging "impl": "memory", "bug_pattern_url": "file:///tmp/bugpatterns.xml", "distro": "debug", }, } def _is_ubuntu_stable_release() -> bool: """Check if the running system is a stable Ubuntu release.""" info = platform.freedesktop_os_release() codename = info.get("VERSION_CODENAME") if info.get("ID") != "ubuntu" or codename is None: return False today = datetime.date.today() try: # pylint: disable-next=import-outside-toplevel import distro_info except ImportError: return False ubuntu_distro_info = distro_info.UbuntuDistroInfo() stable_releases = { d.series for d in ubuntu_distro_info.get_all(result="object") if d.release is not None and today >= d.release } return codename in stable_releases if _is_ubuntu_stable_release(): databases["ubuntu"]["problem_types"] = ["Bug", "Package"]