diff options
-rw-r--r-- | sos/policies/distros/ubuntu.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sos/policies/distros/ubuntu.py b/sos/policies/distros/ubuntu.py index a6bf7260..f87ace69 100644 --- a/sos/policies/distros/ubuntu.py +++ b/sos/policies/distros/ubuntu.py @@ -9,6 +9,10 @@ from sos.report.plugins import UbuntuPlugin from sos.policies.distros.debian import DebianPolicy +from sos.policies.package_managers.snap import SnapPackageManager +from sos.policies.package_managers.dpkg import DpkgPackageManager +from sos.policies.package_managers import MultiPackageManager + import os @@ -31,6 +35,17 @@ class UbuntuPolicy(DebianPolicy): super(UbuntuPolicy, self).__init__(sysroot=sysroot, init=init, probe_runtime=probe_runtime, remote_exec=remote_exec) + + self.package_manager = MultiPackageManager( + primary=DpkgPackageManager, + fallbacks=[SnapPackageManager], + chroot=self.sysroot, + remote_exec=remote_exec) + + if self.package_manager.pkg_by_name( + 'sosreport')['pkg_manager'] == 'snap': + self.sos_bin_path = '/snap/bin' + self.valid_subclasses += [UbuntuPlugin] @classmethod |