From a9647ffbf10cc6450b2df8fcf8acf1f85c131786 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 30 Aug 2024 22:57:28 +0200 Subject: [PATCH] [autopatch] Automatic patch attempt for helpers 2.1 --- manifest.toml | 3 +- scripts/_common.sh | 8 ++-- scripts/backup | 30 +++++++-------- scripts/change_url | 28 +++++--------- scripts/install | 60 +++++++++++++----------------- scripts/remove | 16 ++++---- scripts/restore | 24 ++++++------ scripts/upgrade | 91 ++++++++++++++++++++++------------------------ 8 files changed, 116 insertions(+), 144 deletions(-) diff --git a/manifest.toml b/manifest.toml index 0850819..7ff93b3 100644 --- a/manifest.toml +++ b/manifest.toml @@ -23,7 +23,8 @@ cpe = "cpe:2.3:a:gitea:gitea" fund = "https://opencollective.com/gitea" [integration] -yunohost = ">= 11.2" +yunohost = ">= 11.2.18" +helpers_version = "2.1" architectures = [ "amd64", "i386", diff --git a/scripts/_common.sh b/scripts/_common.sh index 281512f..01c734a 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -10,8 +10,8 @@ ssh_port="$(yunohost settings get security.ssh.ssh_port)" #================================================= _set_permissions() { - chown -R "$app:$app" "$install_dir" - chmod -R u=rwX,g=rX,o= "$install_dir" + #REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:$app" "$install_dir" + #REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R u=rwX,g=rX,o= "$install_dir" chmod +x "$install_dir/gitea" chown -R "$app:$app" "$data_dir" @@ -22,6 +22,6 @@ _set_permissions() { -exec chmod u=rwX,g=rX,o= {} \; chmod -R u=rwX,g=,o= "$data_dir/.ssh" - chown -R "$app:$app" "/var/log/$app" - chmod -R u=rwX,g=rX,o= "/var/log/$app" + #REMOVEME? Assuming ynh_config_add_logrotate is called, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:$app" "/var/log/$app" + #REMOVEME? Assuming ynh_config_add_logrotate is called, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R u=rwX,g=rX,o= "/var/log/$app" } diff --git a/scripts/backup b/scripts/backup index b413ff1..076f7b9 100644 --- a/scripts/backup +++ b/scripts/backup @@ -8,41 +8,37 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers - if systemctl is-active "$app".service --quiet; then - ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop $app service with this command before to run the backup 'systemctl stop $app.service'" + ynh_print_warn "It's hightly recommended to make your backup when the service is stopped. Please stop $app service with this command before to run the backup 'systemctl stop $app.service'" fi -#================================================= -# DECLARE DATA AND CONF FILES TO BACKUP -#================================================= -ynh_print_info --message='Declaring files to be backed up...' +ynh_print_info 'Declaring files to be backed up...' # Copy the app source files -ynh_backup --src_path="$install_dir" +ynh_backup "$install_dir" # Copy the data files -ynh_backup --src_path="$data_dir" --is_big=1 +ynh_backup "$data_dir" # Copy the conf files -ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" -ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" -ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" +ynh_backup "/etc/fail2ban/jail.d/$app.conf" +ynh_backup "/etc/fail2ban/filter.d/$app.conf" -ynh_backup --src_path="/etc/logrotate.d/$app" +ynh_backup "/etc/logrotate.d/$app" -ynh_backup --src_path="/etc/systemd/system/$app.service" +ynh_backup "/etc/systemd/system/$app.service" # Backup logs -ynh_backup --src_path="/var/log/$app" +ynh_backup "/var/log/$app" # Dump the database -ynh_print_info --message="Backing up the MySQL database" -ynh_mysql_dump_db "$db_name" > ./db.sql +ynh_print_info "Backing up the MySQL database" +ynh_mysql_dump_db > ./db.sql #================================================= # END OF SCRIPT #================================================= -ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." +ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index ba0d493..eab41bc 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,51 +1,41 @@ #!/bin/bash -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers -#================================================= -# STANDARD MODIFICATIONS #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --weight=1 +ynh_script_progression "Stopping $app's systemd service..." -ynh_systemd_action --service_name="$app" --action=stop +ynh_systemctl --service="$app" --action=stop #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 +ynh_script_progression "Updating NGINX web server configuration..." -ynh_change_url_nginx_config +ynh_config_change_url_nginx #================================================= # SPECIFIC MODIFICATIONS #================================================= # Setup gitea.ini #================================================= -ynh_script_progression --message="Updating gitea configuration..." +ynh_script_progression "Updating gitea configuration..." -ynh_add_config --template="app.ini" --destination="$install_dir/custom/conf/app.ini" +ynh_config_add --template="app.ini" --destination="$install_dir/custom/conf/app.ini" _set_permissions -#================================================= -# GENERIC FINALISATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting gitea services..." --weight=3 +ynh_script_progression "Starting gitea services..." -ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" +ynh_systemctl --service="$app" --action=start --log_path="/var/log/$app/gitea.log" --wait_until="$systemd_match_start_line" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --last +ynh_script_progression "Change of URL completed for $app" diff --git a/scripts/install b/scripts/install index 5ea75e6..701d7c1 100644 --- a/scripts/install +++ b/scripts/install @@ -1,11 +1,5 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers @@ -15,7 +9,7 @@ source /usr/share/yunohost/helpers # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message='Creating base directory...' +ynh_script_progression 'Creating base directory...' if [ -n "$(ls -A "$data_dir")" ]; then old_data_dir_path="${data_dir}_$(date '+%Y%m%d.%H%M%S')" @@ -34,45 +28,45 @@ mkdir -p "$data_dir/repositories" mkdir -p "$data_dir/data/avatars" mkdir -p "$data_dir/data/attachments" -ynh_script_progression --message='Installing sources files and data directories...' --weight=10 +ynh_script_progression 'Installing sources files and data directories...' # Setup source ynh_setup_source --dest_dir="$install_dir" _set_permissions -ynh_script_progression --message="Configuring application, step 1/2..." +ynh_script_progression "Configuring application, step 1/2..." -internal_token="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN)" -secret_key="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY)" -lfs_jwt_secret="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET)" -jwt_secret="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET)" +internal_token="$(ynh_exec_as_app "$install_dir/gitea" generate secret INTERNAL_TOKEN)" +secret_key="$(ynh_exec_as_app "$install_dir/gitea" generate secret SECRET_KEY)" +lfs_jwt_secret="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" +jwt_secret="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" -ynh_app_setting_set --app="$app" --key=internal_token --value="$internal_token" -ynh_app_setting_set --app="$app" --key=secret_key --value="$secret_key" -ynh_app_setting_set --app="$app" --key=lfs_jwt_secret --value="$lfs_jwt_secret" -ynh_app_setting_set --app="$app" --key=jwt_secret --value="$jwt_secret" +ynh_app_setting_set --key=internal_token --value="$internal_token" +ynh_app_setting_set --key=secret_key --value="$secret_key" +ynh_app_setting_set --key=lfs_jwt_secret --value="$lfs_jwt_secret" +ynh_app_setting_set --key=jwt_secret --value="$jwt_secret" -ynh_add_config --template='app.ini' --destination="$install_dir/custom/conf/app.ini" +ynh_config_add --template='app.ini' --destination="$install_dir/custom/conf/app.ini" #================================================= # SYSTEM CONFIGURATION #================================================= -ynh_script_progression --message="Adding system configurations related to $app..." --weight=1 +ynh_script_progression "Adding system configurations related to $app..." # Create a dedicated NGINX config using the conf/nginx.conf template -ynh_add_nginx_config +ynh_config_add_nginx # Create a dedicated systemd config -ynh_add_systemd_config +ynh_config_add_systemd # Add gitea to YunoHost's monitored services yunohost service add "$app" --log="/var/log/$app/gitea.log" # Configure logrotate -ynh_use_logrotate --logfile="/var/log/$app" +ynh_config_add_logrotate "/var/log/$app" # Create a dedicated Fail2Ban config -ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex='.*Failed authentication attempt for .* from ' --max_retry=5 +ynh_config_add_fail2ban --logpath="/var/log/$app/gitea.log" --failregex='.*Failed authentication attempt for .* from ' #================================================= # APP INITIAL CONFIGURATION @@ -80,30 +74,28 @@ ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex='.*Faile # ADD A CONFIGURATION #================================================= -ynh_script_progression --message='Configuring application, step 2/2...' +ynh_script_progression 'Configuring application, step 2/2...' _set_permissions # Start gitea for building mysql tables -ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" +ynh_systemctl --service="$app" --action=start --log_path="/var/log/$app/gitea.log" --wait_until="$systemd_match_start_line" # Add ldap config -ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql -ynh_replace_string --match_string=__GROUP_TEAM_MAP__ --replace_string='""' --target_file=./login_source.sql -ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql +ynh_replace --match=__APP__ --replace="$app" --file=./login_source.sql +ynh_replace --match=__GROUP_TEAM_MAP__ --replace='""' --file=./login_source.sql +ynh_mysql_db_shell < ./login_source.sql # Stop the service to restart it just afterwards -ynh_systemd_action --service_name="$app" --action='stop' --log_path="/var/log/$app/gitea.log" +ynh_systemctl --service="$app" --action='stop' --log_path="/var/log/$app/gitea.log" -#================================================= -# GENERIC FINALIZATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message='Starting gitea services...' --weight=3 +ynh_script_progression 'Starting gitea services...' -ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" +ynh_systemctl --service="$app" --action=start --log_path="/var/log/$app/gitea.log" --wait_until="$systemd_match_start_line" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --last +ynh_script_progression "Installation of $app completed" diff --git a/scripts/remove b/scripts/remove index 907642d..d9d49e8 100644 --- a/scripts/remove +++ b/scripts/remove @@ -10,24 +10,24 @@ source /usr/share/yunohost/helpers #================================================= # REMOVE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 +ynh_script_progression "Removing system configurations related to $app..." -if ynh_exec_warn_less yunohost service status "$app" >/dev/null +if ynh_hide_warnings yunohost service status "$app" >/dev/null then - ynh_script_progression --message="Removing $app service integration..." --weight=1 + ynh_script_progression "Removing $app service integration..." yunohost service remove "$app" fi -ynh_remove_systemd_config +ynh_config_remove_systemd -ynh_remove_nginx_config +ynh_config_remove_nginx -ynh_remove_logrotate +ynh_config_remove_logrotate -ynh_remove_fail2ban_config +ynh_config_remove_fail2ban #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" --last +ynh_script_progression "Removal of $app completed" diff --git a/scripts/restore b/scripts/restore index 32211bb..d17e01b 100644 --- a/scripts/restore +++ b/scripts/restore @@ -11,21 +11,21 @@ source /usr/share/yunohost/helpers #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app files..." --weight=1 -ynh_restore +ynh_script_progression "Restoring the app files..." +ynh_restore_everything _set_permissions #================================================= # RESTORE THE MYSQL DATABASE #================================================= -ynh_script_progression --message="Restoring the MySQL database..." --weight=1 +ynh_script_progression "Restoring the MySQL database..." -ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < ./db.sql +ynh_mysql_db_shell < ./db.sql #================================================= # RESTORE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 +ynh_script_progression "Restoring system configurations related to $app..." systemctl daemon-reload systemctl enable "$app".service --quiet @@ -33,23 +33,21 @@ systemctl enable "$app".service --quiet yunohost service add "$app" --log="/var/log/$app/gitea.log" # SETUP FAIL2BAN -ynh_script_progression --message="Configuring fail2ban..." -ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " --max_retry=5 +ynh_script_progression "Configuring fail2ban..." +ynh_config_add_fail2ban --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " -#================================================= -# GENERIC FINALIZATION #================================================= # RELOAD NGINX AND PHP-FPM OR THE APP SERVICE #================================================= -ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1 +ynh_script_progression "Reloading NGINX web server and $app's service..." # Typically you only have either $app or php-fpm but not both at the same time... -ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" +ynh_systemctl --service="$app" --action=start --log_path="/var/log/$app/gitea.log" --wait_until="$systemd_match_start_line" -ynh_systemd_action --service_name=nginx --action=reload +ynh_systemctl --service=nginx --action=reload #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --last +ynh_script_progression "Restoration completed for $app" diff --git a/scripts/upgrade b/scripts/upgrade index 0d3cfa0..c70aaf0 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,36 +1,26 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers -upgrade_type="$(ynh_check_app_version_changed)" - -#================================================= -# STANDARD UPGRADE STEPS #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message='Ensuring downward compatibility...' --weight=1 +ynh_script_progression 'Ensuring downward compatibility...' -if ynh_compare_current_package_version --comparison=lt --version="1.6.4~ynh1"; then +if ynh_app_upgrading_from_version_before 1.6.4~ynh1; then message="Upgrade from $YNH_APP_CURRENT_VERSION was dropped. You need to run this, then upgrade to the latest version: sudo yunohost app upgrade $app -u https://github.com/YunoHost-Apps/gitea_ynh/commit/a9ceb157032ae2290e944c1d0a255451ff2d133d" ynh_print_info "$message" - ynh_die --message="$message" --ret_code=1 + ynh_die "$message" --ret_code=1 fi #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message='Stopping a systemd service...' --weight=1 +ynh_script_progression 'Stopping $app's systemd service...' -ynh_systemd_action --service_name="$app" --action=stop +ynh_systemctl --service="$app" --action=stop #================================================= # MIGRATION STEP 1 (migrate path from packagin v1) @@ -40,7 +30,7 @@ ynh_systemd_action --service_name="$app" --action=stop if [ -d "/opt/$app" ]; then # This is the package version of the manifestv2 mv -t "$install_dir/" "/opt/$app/"* - ynh_secure_remove --file="/opt/$app" + ynh_safe_rm "/opt/$app" fi # Move data directory @@ -53,45 +43,50 @@ if [ ~"$app" != "$data_dir" ]; then usermod --home "$data_dir" "$app" fi -if [ "$upgrade_type" == UPGRADE_APP ]; then - ynh_setup_source --dest_dir="$install_dir" --source_id=main --full_replace=1 --keep=custom +# FIXME: this is still supported but the recommendation is now to *always* re-setup the app sources wether or not the upstream sources changed +if ynh_app_upstream_version_changed; then + ynh_setup_source --dest_dir="$install_dir" --source_id=main --full_replace --keep=custom fi #================================================= # MIGRATION STEP 2 (Set undefined Vars) #================================================= -ynh_script_progression --message='Migrating missing settings...' +ynh_script_progression 'Migrating missing settings...' # Must set permission before to call gitea command -chown -R "$app:$app" "$install_dir" -chmod -R u=rwX,g=rX,o= "$install_dir" +#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chown -R "$app:$app" "$install_dir" +#REMOVEME? Assuming the install dir is setup using ynh_setup_source, the proper chmod/chowns are now already applied and it shouldn't be necessary to tweak perms | chmod -R u=rwX,g=rX,o= "$install_dir" chmod +x "$install_dir/gitea" +# FIXMEhelpers2.1: maybe replace with: ynh_app_setting_set_default --key=internal_token --value="$(ynh_exec_as_app "$install_dir/gitea" generate secret INTERNAL_TOKEN)" if [[ -z "${internal_token:-}" ]]; then - internal_token="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN)" - ynh_app_setting_set --app="$app" --key=internal_token --value="$internal_token" + internal_token="$(ynh_exec_as_app "$install_dir/gitea" generate secret INTERNAL_TOKEN)" + ynh_app_setting_set --key=internal_token --value="$internal_token" fi +# FIXMEhelpers2.1: maybe replace with: ynh_app_setting_set_default --key=secret_key --value="$(ynh_exec_as_app "$install_dir/gitea" generate secret SECRET_KEY)" if [[ -z "${secret_key:-}" ]]; then - secret_key="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY)" - ynh_app_setting_set --app="$app" --key=secret_key --value="$secret_key" + secret_key="$(ynh_exec_as_app "$install_dir/gitea" generate secret SECRET_KEY)" + ynh_app_setting_set --key=secret_key --value="$secret_key" fi if [[ -n "${lfs_key:-}" ]]; then lfs_jwt_secret="$lfs_key" - ynh_app_setting_delete --app="$app" --key=lfs_key - ynh_app_setting_set --app="$app" --key=lfs_jwt_secret --value="$lfs_jwt_secret" + ynh_app_setting_delete --key=lfs_key + ynh_app_setting_set --key=lfs_jwt_secret --value="$lfs_jwt_secret" fi +# FIXMEhelpers2.1: maybe replace with: ynh_app_setting_set_default --key=lfs_jwt_secret --value="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" if [[ -z "${lfs_jwt_secret:-}" ]]; then - lfs_jwt_secret="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET)" - ynh_app_setting_set --app="$app" --key=lfs_jwt_secret --value="$lfs_jwt_secret" + lfs_jwt_secret="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" + ynh_app_setting_set --key=lfs_jwt_secret --value="$lfs_jwt_secret" fi +# FIXMEhelpers2.1: maybe replace with: ynh_app_setting_set_default --key=jwt_secret --value="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" if [[ -z "${jwt_secret:-}" ]]; then - jwt_secret="$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET)" - ynh_app_setting_set --app="$app" --key=jwt_secret --value="$jwt_secret" + jwt_secret="$(ynh_exec_as_app "$install_dir/gitea" generate secret JWT_SECRET)" + ynh_app_setting_set --key=jwt_secret --value="$jwt_secret" fi #================================================= @@ -99,22 +94,22 @@ fi #================================================= list_param_sql="$(yunohost user list --output-as json | jq -c '.users | keys' | sed 's|\[|\(|' | sed 's|\]|\)|')" -ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./fix_user_db_for_local_users.sql -ynh_replace_string --match_string=__USER_LIST__ --replace_string="$list_param_sql" --target_file=./fix_user_db_for_local_users.sql -ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./fix_user_db_for_local_users.sql +ynh_replace --match=__APP__ --replace="$app" --file=./fix_user_db_for_local_users.sql +ynh_replace --match=__USER_LIST__ --replace="$list_param_sql" --file=./fix_user_db_for_local_users.sql +ynh_mysql_db_shell < ./fix_user_db_for_local_users.sql #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message='Updating configuration files...' --weight=1 +ynh_script_progression 'Updating configuration files...' # Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 -ynh_secure_remove --file="$install_dir/templates" +ynh_safe_rm "$install_dir/templates" # Configure gitea with app.ini file -ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.ini" +ynh_config_add --template=app.ini --destination="$install_dir/custom/conf/app.ini" -ynh_script_progression --message='Setting permissions...' +ynh_script_progression 'Setting permissions...' _set_permissions # Update ldap config @@ -124,33 +119,33 @@ _set_permissions group_team_map_config=$(mysql --user="$db_user" --password="$db_pwd" --batch --raw "$db_name" <<< 'SELECT `cfg` FROM `'$app'`.`login_source` WHERE `id`=1;' \ | tail -n+2 | jq '.GroupTeamMap') sed -i 's|__GROUP_TEAM_MAP__|'"${group_team_map_config//\\/\\\\\\\\}"'|g' ./login_source.sql -ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql -ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql +ynh_replace --match=__APP__ --replace="$app" --file=./login_source.sql +ynh_mysql_db_shell < ./login_source.sql #================================================= # REAPPLY SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 +ynh_script_progression "Upgrading system configurations related to $app..." -ynh_add_nginx_config +ynh_config_add_nginx -ynh_add_systemd_config +ynh_config_add_systemd yunohost service add "$app" --log="/var/log/$app/gitea.log" -ynh_use_logrotate --non-append +ynh_config_add_logrotate -ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " --max_retry=5 +ynh_config_add_fail2ban --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message='Starting a systemd service...' --weight=1 +ynh_script_progression 'Starting $app's systemd service...' -ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" +ynh_systemctl --service="$app" --action=start --log_path="/var/log/$app/gitea.log" --wait_until="$systemd_match_start_line" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --last +ynh_script_progression "Upgrade of $app completed"