diff --git a/snapcraft.yaml b/snapcraft.yaml index ec498de5..45c6f907 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -61,7 +61,7 @@ parts: source: https://git.launchpad.net/curtin source-type: git - source-commit: b1f4da3bec92356e8ef389c1c581cfdcd1b36c42 + source-commit: 650a5af561fed5be811e7e2d5c101334c05257ba override-pull: | craftctl default diff --git a/subiquity/cmd/server.py b/subiquity/cmd/server.py index 6fd6e693..a0928717 100644 --- a/subiquity/cmd/server.py +++ b/subiquity/cmd/server.py @@ -159,10 +159,11 @@ def main(): logger = logging.getLogger('subiquity') version = os.environ.get("SNAP_REVISION", "unknown") - logger.info("Starting Subiquity server revision {}".format(version)) - logger.info("Arguments passed: {}".format(sys.argv)) - logger.debug("Kernel commandline: {}".format(opts.kernel_cmdline)) - logger.debug("Storage version: {}".format(opts.storage_version)) + snap = os.environ.get("SNAP", "unknown") + logger.info(f"Starting Subiquity server revision {version} of snap {snap}") + logger.info(f"Arguments passed: {sys.argv}") + logger.debug(f"Kernel commandline: {opts.kernel_cmdline}") + logger.debug(f"Environment: {os.environ}") async def run_with_loop(): server = SubiquityServer(opts, block_log_dir) diff --git a/subiquity/cmd/tui.py b/subiquity/cmd/tui.py index 947fe3f7..f9d20c82 100755 --- a/subiquity/cmd/tui.py +++ b/subiquity/cmd/tui.py @@ -113,8 +113,10 @@ def main(): logger = logging.getLogger('subiquity') version = os.environ.get("SNAP_REVISION", "unknown") - logger.info("Starting Subiquity revision {}".format(version)) - logger.info("Arguments passed: {}".format(sys.argv)) + snap = os.environ.get("SNAP", "unknown") + logger.info(f"Starting Subiquity TUI revision {version} of snap {snap}") + logger.info(f"Arguments passed: {sys.argv}") + logger.debug(f"Environment: {os.environ}") if opts.answers is None and os.path.exists(AUTO_ANSWERS_FILE): logger.debug("Autoloading answers from %s", AUTO_ANSWERS_FILE) diff --git a/subiquitycore/tests/test_utils.py b/subiquitycore/tests/test_utils.py index 686c962b..108ce6fb 100644 --- a/subiquitycore/tests/test_utils.py +++ b/subiquitycore/tests/test_utils.py @@ -40,10 +40,16 @@ class TestOrigEnviron(SubiTestCase): expected = {} self.assertEqual(expected, orig_environ(env)) + def test_no_ld_library_path(self): + env = {'LD_LIBRARY_PATH': 'a'} + expected = {} + self.assertEqual(expected, orig_environ(env)) + def test_practical(self): snap = '/snap/subiquity/1234' env = { 'TERM': 'linux', + 'LD_LIBRARY_PATH': '/var/lib/snapd/lib/gl', 'PYTHONIOENCODING_ORIG': '', 'PYTHONIOENCODING': 'utf-8', 'SUBIQUITY_ROOT_ORIG': '', diff --git a/subiquitycore/utils.py b/subiquitycore/utils.py index 415131cc..40307c81 100644 --- a/subiquitycore/utils.py +++ b/subiquitycore/utils.py @@ -36,6 +36,8 @@ def _clean_env(env, *, locale=True): def orig_environ(env): + """Generate an environment dict that is suitable for use for running + programs that live outside the snap.""" if env is None: env = os.environ ret = env.copy() @@ -47,6 +49,7 @@ def orig_environ(env): else: del ret[key_to_restore] del ret[key] + ret.pop('LD_LIBRARY_PATH', None) return ret