CasperSecurity

Current Path : /usr/lib/update-notifier/
Upload File :
Current File : //usr/lib/update-notifier/list-oem-metapackages

#!/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)
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY