pkg.py.patch
| pyeole/pkg.py | ||
|---|---|---|
| 958 | 958 |
:rtype: `list` of `apt.Package` |
| 959 | 959 | |
| 960 | 960 |
""" |
| 961 |
def hold_on_container_deps(package): |
|
| 962 |
if package.name.startswith('eole-') and not (package.name.endswith('-apps') or package.name.endswith('-pkg')):
|
|
| 963 |
app_name = package.name.replace('eole-', '')
|
|
| 964 |
in_container_dep = self.cache.get(app_name + '-apps', self.cache.get(app_name + '-pkg')) |
|
| 965 |
if in_container_dep and in_container_dep.marked_keep: |
|
| 966 |
return True |
|
| 967 |
return False |
|
| 968 | ||
| 961 | 969 |
self._load_apt_cache() |
| 962 | 970 |
packages = [] |
| 963 | 971 |
with self.cache.actiongroup(): |
| 964 | 972 |
self.cache.upgrade(dist_upgrade=True) |
| 965 | 973 | |
| 966 | 974 |
for package in self.cache.get_changes(): |
| 975 |
if hold_on_container_deps(package): |
|
| 976 |
continue |
|
| 967 | 977 |
if package.marked_delete: |
| 968 | 978 |
# no candidate version for packages to remove (#10968) |
| 969 | 979 |
packages.append([package.name, package.is_installed, None]) |