#!/usr/bin/python3 | |
# | |
# | |
# this example is not usefull to find out about updated, upgradable packages | |
# use the depcache.py example for it (because a pkgPolicy is not used here) | |
# | |
import apt_pkg | |
apt_pkg.init() | |
cache = apt_pkg.Cache() | |
packages = cache.packages | |
uninstalled, updated, upgradable = {}, {}, {} | |
for package in packages: | |
versions = package.version_list | |
if not versions: | |
continue | |
version = versions[0] | |
for other_version in versions: | |
if apt_pkg.version_compare(version.ver_str, other_version.ver_str) < 0: | |
version = other_version | |
if package.current_ver: | |
current = package.current_ver | |
if apt_pkg.version_compare(current.ver_str, version.ver_str) < 0: | |
upgradable[package.name] = version | |
break | |
else: | |
updated[package.name] = current | |
else: | |
uninstalled[package.name] = version | |
for line in (uninstalled, updated, upgradable): | |
print(list(line.items())[0]) | |