| Server IP : 39.108.156.168 / Your IP : 216.73.216.104 Web Server : nginx/1.24.0 System : Linux e2.ksyuki.com 6.11.0-25-generic #25~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:20:50 UTC 2 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/apport/packaging_impl/ |
Upload File : |
"""Platform-specific apport.packaging implementation."""
import importlib
import os
import platform
from apport.packaging import PackageInfo
def determine_packaging_implementation() -> str:
"""Determine the packaging implementation for the host."""
info = platform.freedesktop_os_release()
assert info is not None
ids = set([info["ID"]]) | set(info.get("ID_LIKE", "").split(" "))
if "debian" in ids:
return "apt_dpkg"
if os.path.exists("/usr/bin/rpm"):
return "rpm"
raise RuntimeError(
"Could not determine system package manager."
" Please file a bug and provide /etc/os-release!"
)
def load_packaging_implementation() -> PackageInfo:
"""Return the packaging implementation for the host."""
module = importlib.import_module(
f"apport.packaging_impl.{determine_packaging_implementation()}"
)
return module.impl
impl = load_packaging_implementation()