|
Server : LiteSpeed System : Linux srv107862549.host 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 User : malam2778 ( 1069) PHP Version : 8.0.30 Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/lib/update-notifier/ |
Upload File : |
#!/usr/bin/python3
import fnmatch
import os
import sys
import apt
import UbuntuDrivers.detect
from gi.repository import GLib
import apt_pkg
STAMP_FILE = os.path.join(
GLib.get_user_runtime_dir(), "ubuntu-drivers-oem.package-list"
)
def any_oem_metapackages_installed(cache):
installed_oem_packages = (
pkg
for pkg in cache.packages
if fnmatch.fnmatch(pkg.name, "oem-*-meta") and pkg.current_ver
)
# Empty if there are no installed OEM packages
return any((True for _ in installed_oem_packages))
def write_oem_metapackage_list(cache, filename):
packages = UbuntuDrivers.detect.system_device_specific_metapackages(
apt_cache=cache
)
if not packages:
return
with open(STAMP_FILE, "w") as f:
f.write("\n".join(packages))
if __name__ == "__main__":
if os.path.exists(STAMP_FILE):
sys.exit(0)
try:
cache = apt_pkg.Cache()
except apt_pkg.Error: # broken things in sources.list, or corrupted list files
print(
"ERROR: Can't look into APT cache. Check your sources.list file(s), run `apt update` and try again",
file=sys.stderr,
)
sys.exit(0)
if any_oem_metapackages_installed(cache):
sys.exit(0)
write_oem_metapackage_list(cache, STAMP_FILE)