aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sos/policies/distros/ubuntu.py15
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