| Server IP : 159.223.102.202 / Your IP : 216.73.216.195 Web Server : nginx/1.26.0 System : Linux Gen1-cloudpanel2ubuntu2404-1vcpu-1gb-nyc1-01 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 User : albasshbotta ( 1021) PHP Version : 8.2.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /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()