From 367cddb201827c681c08ce8829bce85fc8810a55 Mon Sep 17 00:00:00 2001 From: "Hongli Lai (Phusion)" Date: Tue, 25 Feb 2014 22:08:37 +0100 Subject: [PATCH] Fix a regression in `my_init` which causes it to delete environment variables passed from Docker. --- Changelog.md | 4 ++++ image/my_init | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Changelog.md b/Changelog.md index c2b378c..dc76fc6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,7 @@ +## 0.9.8 + + * Fixed a regression in `my_init` which causes it to delete environment variables passed from Docker. + ## 0.9.7 (release date: 2014-02-25) * Improved and fixed bugs in `my_init` (Thomas LÉVEIL): diff --git a/image/my_init b/image/my_init index 410645c..687c330 100755 --- a/image/my_init +++ b/image/my_init @@ -54,14 +54,15 @@ def is_exe(path): except OSError: return False -def import_envvars(): +def import_envvars(clear_existing_environment = True): new_env = {} for envfile in listdir("/etc/container_environment"): name = os.path.basename(envfile) with open("/etc/container_environment/" + envfile, "r") as f: value = f.read() new_env[name] = value - os.environ.clear() + if clear_existing_environment: + os.environ.clear() for name, value in new_env.items(): os.environ[name] = value @@ -213,7 +214,7 @@ def install_insecure_key(): run_command_killable("/usr/sbin/enable_insecure_key") def main(args): - import_envvars() + import_envvars(False) export_envvars() if args.enable_insecure_key: