Blob Blame History Raw
From bd32d57c8a946b2dc1acbdfa4ded62d6840f8e73 Mon Sep 17 00:00:00 2001
From: "Bryn M. Reeves" <bmr@redhat.com>
Date: Mon, 26 Jan 2015 15:39:16 -0500
Subject: [PATCH 80/93] [sosreport] set SYSROOT by policy

If --sysroot is not given on the command line and
Policy.in_container() is True set sysroot automatically if
Policy.get_host_sysroot() is not '/'.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
 sos/sosreport.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/sos/sosreport.py b/sos/sosreport.py
index 1dce5f9..90be4ca 100644
--- a/sos/sosreport.py
+++ b/sos/sosreport.py
@@ -630,7 +630,7 @@ class SoSOptions(object):
                           help="Disable HTML/XML reporting", default=False)
         parser.add_option("-s", "--sysroot", action="store", dest="sysroot",
                           help="system root directory path (default='/')",
-                          default="/")
+                          default=None)
         parser.add_option("-c", "--chroot", action="store", dest="chroot",
                           help="chroot executed commands to SYSROOT "
                                "[auto, always, never] (default=auto)",
@@ -685,11 +685,18 @@ class SoSReport(object):
         self.tempfile_util = TempFileUtil(self.tmpdir)
         self._set_directories()
 
+        self._setup_logging()
+
+        msg = "default"
+        host_sysroot = self.policy.host_sysroot()
         # set alternate system root directory
         if self.opts.sysroot:
+            msg = "cmdline"
             self.sysroot = self.opts.sysroot
-
-        self._setup_logging()
+        elif self.policy.in_container() and host_sysroot != os.sep:
+            msg = "policy"
+            self.sysroot = host_sysroot
+        self.soslog.debug("set sysroot to '%s' (%s)" % (self.sysroot, msg))
 
         if self.opts.chroot not in chroot_modes:
             self.soslog.error("invalid chroot mode: %s" % self.opts.chroot)
-- 
1.9.3