diff --git a/bin/yashchiki b/bin/yashchiki index 4ed81924fe2a2612d239ea5f9ad0c94c2a99c40b..b9a6a91c7cab83be6a2fcc87f61740631925e3e3 100755 --- a/bin/yashchiki +++ b/bin/yashchiki @@ -152,7 +152,8 @@ tmpdir.mkdir(exist_ok=True, parents=True) # collection of environment variables used to configure the shell scripts' # behavior -env = { +env = os.environ.copy() +env.update({ "DOCKER_BASE_IMAGE": config["docker_base_image"], # This needs to be here because otherwise the default python # (2.7.18) will pollute the spec and lead to a conflict @@ -174,10 +175,10 @@ env = { "TMPDIR": tmpdir, "YASHCHIKI_CACHES_ROOT": args.caches_dir, "YASHCHIKI_JOBS": str(args.jobs), -} | os.environ +}) if args.build_cache_on_failure_name: - env = env | {"YASHCHIKI_BUILD_CACHE_ON_FAILURE_NAME": args.build_cache_on_failure_name} + env.update({"YASHCHIKI_BUILD_CACHE_ON_FAILURE_NAME": args.build_cache_on_failure_name}) # create directory for logs args.log_dir.mkdir(parents=True, exist_ok=True) @@ -223,14 +224,14 @@ def run(script: str, env: dict, script_args: list = []): # Temporary directory for spack temporary_directory_spack = tmpdir.joinpath('tmp_spack') temporary_directory_spack.mkdir(exist_ok=True, parents=True) -env = env | {"JOB_TMP_SPACK": temporary_directory_spack} +env.update({"JOB_TMP_SPACK": temporary_directory_spack}) # make job temp folder writable for all users (i.e., spack) os.chmod(temporary_directory_spack, 0o777) # Directory for (temporary) spack configuration temporary_directory_spack_config = tmpdir.joinpath('spack_config') temporary_directory_spack_config.mkdir(exist_ok=True, parents=True) -env = env | {"YASHCHIKI_SPACK_CONFIG": temporary_directory_spack_config} +env.update({"YASHCHIKI_SPACK_CONFIG": temporary_directory_spack_config}) # make spack config directory readable for all users (i.e., spack) temporary_directory_spack_config.chmod(0o755) @@ -271,7 +272,7 @@ if args.recipe_filename is not None: recipe_filename = args.recipe_filename else: recipe_filename = tmpdir.joinpath("recipe.def") -env = env | {"YASHCHIKI_RECIPE_PATH": recipe_filename} +env.update({"YASHCHIKI_RECIPE_PATH": recipe_filename}) # meta data directory defaults to temporary folder if args.meta_dir is not None: @@ -279,7 +280,7 @@ if args.meta_dir is not None: else: meta_dir = tmpdir.joinpath("meta") meta_dir.mkdir(parents=True) -env = env | {"YASHCHIKI_META_DIR": meta_dir} +env.update({"YASHCHIKI_META_DIR": meta_dir}) run("lib/yashchiki/create_caches.sh", env) run("lib/yashchiki/fetch.sh", env)