%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/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)