From 62a9b0336d35361afc8f59250f6853b7df34390c Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Thu, 16 Nov 2023 13:33:02 +0000 Subject: [PATCH 1/5] Use `fullname` key --- conf/default.env | 2 +- scripts/install | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/conf/default.env b/conf/default.env index c2115e9..e03cada 100644 --- a/conf/default.env +++ b/conf/default.env @@ -26,7 +26,7 @@ MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS='__EMAIL__' -MAIL_FROM_NAME="__EMAIL_FIRSTNAME__ __EMAIL_LASTNAME__" +MAIL_FROM_NAME='__EMAIL_FULLNAME__' DEMO_MODE=false diff --git a/scripts/install b/scripts/install index 598c9e8..b4b55ae 100755 --- a/scripts/install +++ b/scripts/install @@ -16,8 +16,7 @@ source /usr/share/yunohost/helpers api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" -email_firstname="$(ynh_user_get_info --username=$admin --key=firstname)" -email_lastname="$(ynh_user_get_info --username=$admin --key=lastname)" +email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" email="$(ynh_user_get_info --username=$admin --key=mail)" #================================================= @@ -28,8 +27,7 @@ ynh_script_progression --message="Storing installation settings..." ynh_app_setting_set --app=$app --key=api_secret --value=$api_secret ynh_app_setting_set --app=$app --key=app_key --value=$app_key ynh_app_setting_set --app=$app --key=phantomjs_key --value=$phantomjs_key -ynh_app_setting_set --app=$app --key=email_firstname --value="$email_firstname" -ynh_app_setting_set --app=$app --key=email_lastname --value="$email_lastname" +ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" ynh_app_setting_set --app=$app --key=email --value=$email #================================================= From 41e5701b1083c6bfed74376cefee5db7d9d62c5f Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Thu, 16 Nov 2023 14:06:03 +0000 Subject: [PATCH 2/5] Update app settings from admin user during upgrade --- scripts/upgrade | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 9e81856..7cb7b33 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -45,6 +45,25 @@ ynh_add_config --template="../conf/cron" --destination="/etc/cron.d/$app" chown root: "/etc/cron.d/$app" chmod 644 "/etc/cron.d/$app" +#================================================= +# UPDATE APP SETTINGS +#================================================= + +if [ "$upgrade_type" == "UPGRADE_APP" ] +then + # Delete deprecated `firstname`/`lastname` 'null' settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 + ynh_app_setting_delete --app=$app --key=email_firstname + ynh_app_setting_delete --app=$app --key=email_lastname + + # Retrieve admin user settings + email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" + email="$(ynh_user_get_info --username=$admin --key=mail)" # include as admin's email address is also subject to change + + # Set + ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" + ynh_app_setting_set --app=$app --key=email --value=$email +fi + #================================================= # UPDATE A CONFIG FILE #================================================= From 3e4c879655c6b1c2d93893915ef7951bfacc4f60 Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Thu, 16 Nov 2023 17:34:04 +0000 Subject: [PATCH 3/5] Add progress info & ignore `$upgrade_type` --- scripts/upgrade | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index ef1ecab..5a6bca6 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -46,23 +46,21 @@ chown root: "/etc/cron.d/$app" chmod 644 "/etc/cron.d/$app" #================================================= -# UPDATE APP SETTINGS +# ENSURE BACKWARD COMPATIBILITY #================================================= +ynh_script_progression --message="Ensuring backward compatibility..." --weight=1 -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - # Delete deprecated `firstname`/`lastname` 'null' settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 - ynh_app_setting_delete --app=$app --key=email_firstname - ynh_app_setting_delete --app=$app --key=email_lastname +# Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 +ynh_app_setting_delete --app=$app --key=email_firstname +ynh_app_setting_delete --app=$app --key=email_lastname - # Retrieve admin user settings - email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" - email="$(ynh_user_get_info --username=$admin --key=mail)" # include as admin's email address is also subject to change +# Retrieve `$admin` user settings +email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" +email="$(ynh_user_get_info --username=$admin --key=mail)" # include as admin's email address is also subject to change - # Set - ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" - ynh_app_setting_set --app=$app --key=email --value=$email -fi +# Store app settings so app state is consistent with a fresh install +ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" +ynh_app_setting_set --app=$app --key=email --value=$email #================================================= # UPDATE A CONFIG FILE From 973cc41c1de98446067ca35e03ee456caf028982 Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Thu, 16 Nov 2023 19:25:15 +0000 Subject: [PATCH 4/5] Remove $email & $email_fullname from app settings get them from the live system as needed --- scripts/install | 9 ++++----- scripts/upgrade | 7 ++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/scripts/install b/scripts/install index cfef0bc..4d1a9b5 100755 --- a/scripts/install +++ b/scripts/install @@ -10,25 +10,24 @@ source _common.sh source /usr/share/yunohost/helpers #================================================= -# RETRIEVE ARGUMENTS FROM THE MANIFEST +# GENERATE KEYS AND RETRIEVE ADMIN USER INFO #================================================= api_secret="$(ynh_string_random --length=32)" app_key="$(ynh_string_random --length=32)" phantomjs_key="$(ynh_string_random --length=32)" + email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" email="$(ynh_user_get_info --username=$admin --key=mail)" #================================================= -# STORE SETTINGS FROM MANIFEST +# STORE KEYS TO APP SETTINGS #================================================= -ynh_script_progression --message="Storing installation settings..." +ynh_script_progression --message="Storing secrets to app settings..." ynh_app_setting_set --app=$app --key=api_secret --value=$api_secret ynh_app_setting_set --app=$app --key=app_key --value=$app_key ynh_app_setting_set --app=$app --key=phantomjs_key --value=$phantomjs_key -ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" -ynh_app_setting_set --app=$app --key=email --value=$email #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE diff --git a/scripts/upgrade b/scripts/upgrade index 5a6bca6..146c8e0 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -53,14 +53,11 @@ ynh_script_progression --message="Ensuring backward compatibility..." --weight=1 # Delete deprecated `firstname`/`lastname` settings. See upstream https://github.com/YunoHost/yunohost/pull/1516 ynh_app_setting_delete --app=$app --key=email_firstname ynh_app_setting_delete --app=$app --key=email_lastname +ynh_app_setting_delete --app=$app --key=email # also delete unnecessary duplicate of state storage # Retrieve `$admin` user settings email_fullname="$(ynh_user_get_info --username=$admin --key=fullname)" -email="$(ynh_user_get_info --username=$admin --key=mail)" # include as admin's email address is also subject to change - -# Store app settings so app state is consistent with a fresh install -ynh_app_setting_set --app=$app --key=email_fullname --value="$email_fullname" -ynh_app_setting_set --app=$app --key=email --value=$email +email="$(ynh_user_get_info --username=$admin --key=mail)" #================================================= # UPDATE A CONFIG FILE From d904fc1dd6e847968209645df422ad889ef10894 Mon Sep 17 00:00:00 2001 From: Daniel Fahey Date: Mon, 4 Dec 2023 17:10:02 +0000 Subject: [PATCH 5/5] Remove `__EMAIL__` reference App's `email` setting removed so cannot use the `__FOOBAR__` notation --- doc/POST_INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/POST_INSTALL.md b/doc/POST_INSTALL.md index 46caabd..fa4a2d9 100644 --- a/doc/POST_INSTALL.md +++ b/doc/POST_INSTALL.md @@ -1,6 +1,6 @@ Please open your __APP__ domain: https://__DOMAIN____PATH_URL__ -The username is: __EMAIL__ +The username is the administrator's email address The password is the administrator one you filled during the installation The secret is: __API_SECRET__