From a7350a7eae0b6e6208ff86590bd256ffe576f13c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 4 May 2023 17:02:35 +0200 Subject: [PATCH] appsv2/regenconf: prevent set -u to be enabled during regen-conf triggered from inside appsv2 scripts --- helpers/utils | 2 +- src/hook.py | 2 ++ src/regenconf.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/helpers/utils b/helpers/utils index a88be38a8..d29feedfd 100644 --- a/helpers/utils +++ b/helpers/utils @@ -65,7 +65,7 @@ ynh_abort_if_errors() { } # When running an app script with packaging format >= 2, auto-enable ynh_abort_if_errors except for remove script -if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 && [[ ${YNH_APP_ACTION} != "remove" ]] +if [[ "${YNH_CONTEXT:-}" != "regenconf" ]] && dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 && [[ ${YNH_APP_ACTION} != "remove" ]] then ynh_abort_if_errors fi diff --git a/src/hook.py b/src/hook.py index 7f4cc28d4..4b07d1c17 100644 --- a/src/hook.py +++ b/src/hook.py @@ -452,6 +452,8 @@ def _hook_exec_bash(path, args, chdir, env, user, return_format, loggers): logger.debug("Executing command '%s'" % command) _env = os.environ.copy() + if "YNH_CONTEXT" in _env: + del _env["YNH_CONTEXT"] _env.update(env) # Remove the 'HOME' var which is causing some inconsistencies between diff --git a/src/regenconf.py b/src/regenconf.py index 69bedb262..74bbdb17c 100644 --- a/src/regenconf.py +++ b/src/regenconf.py @@ -139,6 +139,7 @@ def regen_conf( env["YNH_MAIN_DOMAINS"] = " ".join( domain_list(exclude_subdomains=True)["domains"] ) + env["YNH_CONTEXT"] = "regenconf" pre_result = hook_callback("conf_regen", names, pre_callback=_pre_call, env=env)