mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge pull request #1328 from YunoHost/add-YNH_APP_BASEDIR-in-the-env-var
add YNH_APP_BASEDIR in the env var
This commit is contained in:
commit
1f6fb31121
3 changed files with 16 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
YNH_APP_BASEDIR=$(realpath $([[ "$(basename $0)" =~ ^backup|restore$ ]] && echo '../settings' || [[ -n "${YNH_ACTION:-}" ]] && echo '.' || echo '..' ))
|
YNH_APP_BASEDIR=${YNH_APP_BASEDIR:-$(realpath ..)}
|
||||||
|
|
||||||
# Handle script crashes / failures
|
# Handle script crashes / failures
|
||||||
#
|
#
|
||||||
|
|
|
@ -456,19 +456,21 @@ def app_change_url(operation_logger, app, domain, path):
|
||||||
# TODO: Allow to specify arguments
|
# TODO: Allow to specify arguments
|
||||||
args_odict = _parse_args_from_manifest(manifest, "change_url")
|
args_odict = _parse_args_from_manifest(manifest, "change_url")
|
||||||
|
|
||||||
|
tmp_workdir_for_app = _make_tmp_workdir_for_app(app=app)
|
||||||
|
|
||||||
# Prepare env. var. to pass to script
|
# Prepare env. var. to pass to script
|
||||||
env_dict = _make_environment_for_app_script(app, args=args_odict)
|
env_dict = _make_environment_for_app_script(app, args=args_odict)
|
||||||
env_dict["YNH_APP_OLD_DOMAIN"] = old_domain
|
env_dict["YNH_APP_OLD_DOMAIN"] = old_domain
|
||||||
env_dict["YNH_APP_OLD_PATH"] = old_path
|
env_dict["YNH_APP_OLD_PATH"] = old_path
|
||||||
env_dict["YNH_APP_NEW_DOMAIN"] = domain
|
env_dict["YNH_APP_NEW_DOMAIN"] = domain
|
||||||
env_dict["YNH_APP_NEW_PATH"] = path
|
env_dict["YNH_APP_NEW_PATH"] = path
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = tmp_workdir_for_app
|
||||||
|
|
||||||
if domain != old_domain:
|
if domain != old_domain:
|
||||||
operation_logger.related_to.append(("domain", old_domain))
|
operation_logger.related_to.append(("domain", old_domain))
|
||||||
operation_logger.extra.update({"env": env_dict})
|
operation_logger.extra.update({"env": env_dict})
|
||||||
operation_logger.start()
|
operation_logger.start()
|
||||||
|
|
||||||
tmp_workdir_for_app = _make_tmp_workdir_for_app(app=app)
|
|
||||||
change_url_script = os.path.join(tmp_workdir_for_app, "scripts/change_url")
|
change_url_script = os.path.join(tmp_workdir_for_app, "scripts/change_url")
|
||||||
|
|
||||||
# Execute App change_url script
|
# Execute App change_url script
|
||||||
|
@ -619,6 +621,7 @@ def app_upgrade(app=[], url=None, file=None, force=False, no_safety_backup=False
|
||||||
env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version)
|
env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version)
|
||||||
env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version)
|
env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version)
|
||||||
env_dict["NO_BACKUP_UPGRADE"] = "1" if no_safety_backup else "0"
|
env_dict["NO_BACKUP_UPGRADE"] = "1" if no_safety_backup else "0"
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = extracted_app_folder
|
||||||
|
|
||||||
# We'll check that the app didn't brutally edit some system configuration
|
# We'll check that the app didn't brutally edit some system configuration
|
||||||
manually_modified_files_before_install = manually_modified_files()
|
manually_modified_files_before_install = manually_modified_files()
|
||||||
|
@ -967,6 +970,7 @@ def app_install(
|
||||||
|
|
||||||
# Prepare env. var. to pass to script
|
# Prepare env. var. to pass to script
|
||||||
env_dict = _make_environment_for_app_script(app_instance_name, args=args_odict)
|
env_dict = _make_environment_for_app_script(app_instance_name, args=args_odict)
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = extracted_app_folder
|
||||||
|
|
||||||
env_dict_for_logging = env_dict.copy()
|
env_dict_for_logging = env_dict.copy()
|
||||||
for arg_name, arg_value_and_type in args_odict.items():
|
for arg_name, arg_value_and_type in args_odict.items():
|
||||||
|
@ -1031,6 +1035,7 @@ def app_install(
|
||||||
env_dict_remove["YNH_APP_INSTANCE_NAME"] = app_instance_name
|
env_dict_remove["YNH_APP_INSTANCE_NAME"] = app_instance_name
|
||||||
env_dict_remove["YNH_APP_INSTANCE_NUMBER"] = str(instance_number)
|
env_dict_remove["YNH_APP_INSTANCE_NUMBER"] = str(instance_number)
|
||||||
env_dict_remove["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
|
env_dict_remove["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
|
||||||
|
env_dict_remove["YNH_APP_BASEDIR"] = extracted_app_folder
|
||||||
|
|
||||||
# Execute remove script
|
# Execute remove script
|
||||||
operation_logger_remove = OperationLogger(
|
operation_logger_remove = OperationLogger(
|
||||||
|
@ -1148,6 +1153,8 @@ def app_remove(operation_logger, app, purge=False):
|
||||||
env_dict["YNH_APP_INSTANCE_NUMBER"] = str(app_instance_nb)
|
env_dict["YNH_APP_INSTANCE_NUMBER"] = str(app_instance_nb)
|
||||||
env_dict["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
|
env_dict["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
|
||||||
env_dict["YNH_APP_PURGE"] = str(purge)
|
env_dict["YNH_APP_PURGE"] = str(purge)
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = tmp_workdir_for_app
|
||||||
|
|
||||||
operation_logger.extra.update({"env": env_dict})
|
operation_logger.extra.update({"env": env_dict})
|
||||||
operation_logger.flush()
|
operation_logger.flush()
|
||||||
|
|
||||||
|
@ -1632,12 +1639,14 @@ def app_action_run(operation_logger, app, action, args=None):
|
||||||
)
|
)
|
||||||
args_odict = _parse_args_for_action(actions[action], args=args_dict)
|
args_odict = _parse_args_for_action(actions[action], args=args_dict)
|
||||||
|
|
||||||
|
tmp_workdir_for_app = _make_tmp_workdir_for_app(app=app)
|
||||||
|
|
||||||
env_dict = _make_environment_for_app_script(
|
env_dict = _make_environment_for_app_script(
|
||||||
app, args=args_odict, args_prefix="ACTION_"
|
app, args=args_odict, args_prefix="ACTION_"
|
||||||
)
|
)
|
||||||
env_dict["YNH_ACTION"] = action
|
env_dict["YNH_ACTION"] = action
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = tmp_workdir_for_app
|
||||||
|
|
||||||
tmp_workdir_for_app = _make_tmp_workdir_for_app(app=app)
|
|
||||||
_, action_script = tempfile.mkstemp(dir=tmp_workdir_for_app)
|
_, action_script = tempfile.mkstemp(dir=tmp_workdir_for_app)
|
||||||
|
|
||||||
with open(action_script, "w") as script:
|
with open(action_script, "w") as script:
|
||||||
|
@ -1764,6 +1773,7 @@ ynh_app_config_run $1
|
||||||
"app": self.app,
|
"app": self.app,
|
||||||
"app_instance_nb": str(app_instance_nb),
|
"app_instance_nb": str(app_instance_nb),
|
||||||
"final_path": settings.get("final_path", ""),
|
"final_path": settings.get("final_path", ""),
|
||||||
|
"YNH_APP_BASEDIR": os.path.join(APPS_SETTING_PATH, self.app),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -707,6 +707,7 @@ class BackupManager:
|
||||||
|
|
||||||
# Prepare environment
|
# Prepare environment
|
||||||
env_dict = self._get_env_var(app)
|
env_dict = self._get_env_var(app)
|
||||||
|
env_dict["YNH_APP_BASEDIR"] = os.path.join(self.work_dir, "apps", app, "settings")
|
||||||
tmp_app_bkp_dir = env_dict["YNH_APP_BACKUP_DIR"]
|
tmp_app_bkp_dir = env_dict["YNH_APP_BACKUP_DIR"]
|
||||||
settings_dir = os.path.join(self.work_dir, "apps", app, "settings")
|
settings_dir = os.path.join(self.work_dir, "apps", app, "settings")
|
||||||
|
|
||||||
|
@ -1487,6 +1488,7 @@ class RestoreManager:
|
||||||
"YNH_APP_BACKUP_DIR": os.path.join(
|
"YNH_APP_BACKUP_DIR": os.path.join(
|
||||||
self.work_dir, "apps", app_instance_name, "backup"
|
self.work_dir, "apps", app_instance_name, "backup"
|
||||||
),
|
),
|
||||||
|
"YNH_APP_BASEDIR": os.path.join(self.work_dir, "apps", app_instance_name, "settings"),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1524,6 +1526,7 @@ class RestoreManager:
|
||||||
|
|
||||||
# Setup environment for remove script
|
# Setup environment for remove script
|
||||||
env_dict_remove = _make_environment_for_app_script(app_instance_name)
|
env_dict_remove = _make_environment_for_app_script(app_instance_name)
|
||||||
|
env_dict_remove["YNH_APP_BASEDIR"] = os.path.join(self.work_dir, "apps", app_instance_name, "settings")
|
||||||
|
|
||||||
remove_operation_logger = OperationLogger(
|
remove_operation_logger = OperationLogger(
|
||||||
"remove_on_failed_restore",
|
"remove_on_failed_restore",
|
||||||
|
|
Loading…
Add table
Reference in a new issue