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