From b41fb8d94c1ae3042fbf03dcfc70d57255e1fe40 Mon Sep 17 00:00:00 2001 From: Miraty Date: Sat, 5 Mar 2022 02:39:55 +0100 Subject: [PATCH] Remove standard comments --- conf/nginx.conf | 2 +- scripts/_common.sh | 20 ---------- scripts/backup | 50 ------------------------ scripts/install | 94 +--------------------------------------------- scripts/remove | 40 -------------------- scripts/restore | 55 ++------------------------- scripts/upgrade | 69 ---------------------------------- 7 files changed, 5 insertions(+), 325 deletions(-) delete mode 100755 scripts/_common.sh diff --git a/conf/nginx.conf b/conf/nginx.conf index 517c5dd..d745eac 100755 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -7,7 +7,7 @@ location __PATH__/ { index index.php; # Chrooted PHP-FPM - location ~ ^__PATH__(?/.*\.php) { + location ~ ^__PATH__(?/.*\.php)$ { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock; diff --git a/scripts/_common.sh b/scripts/_common.sh deleted file mode 100755 index eea5970..0000000 --- a/scripts/_common.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -#================================================= -# COMMON VARIABLES -#================================================= - -# dependencies used by the app -#pkg_dependencies="deb1 deb2" - -#================================================= -# PERSONAL HELPERS -#================================================= - -#================================================= -# EXPERIMENTAL HELPERS -#================================================= - -#================================================= -# FUTURE OFFICIAL HELPERS -#================================================= diff --git a/scripts/backup b/scripts/backup index 09b69eb..e30872a 100755 --- a/scripts/backup +++ b/scripts/backup @@ -1,67 +1,17 @@ #!/bin/bash - -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - ### Remove this function if there's nothing to clean before calling the remove script. - true -} -# Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# LOAD SETTINGS -#================================================= - ynh_print_info --message="Loading installation settings..." - app=$YNH_APP_INSTANCE_NAME - final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) -#================================================= -# DECLARE DATA AND CONF FILES TO BACKUP -#================================================= - ynh_print_info --message="Declaring files to be backed up..." - -### N.B. : the following 'ynh_backup' calls are only a *declaration* of what needs -### to be backuped and not an actual copy of any file. The actual backup that -### creates and fill the archive with the files happens in the core after this -### script is called. Hence ynh_backups calls takes basically 0 seconds to run. - -#================================================= -# BACKUP THE APP MAIN DIR -#================================================= - ynh_backup --src_path="$final_path" - -#================================================= -# BACKUP THE NGINX CONFIGURATION -#================================================= - ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" - -#================================================= -# BACKUP THE PHP-FPM CONFIGURATION -#================================================= - ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" -#================================================= -# END OF SCRIPT -#================================================= - ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/install b/scripts/install index c9225fa..8974ab1 100755 --- a/scripts/install +++ b/scripts/install @@ -1,128 +1,36 @@ #!/bin/bash - -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -# Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# RETRIEVE ARGUMENTS FROM THE MANIFEST -#================================================= - domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH - -### If it's a multi-instance app, meaning it can be installed several times independently -### The id of the app as stated in the manifest is available as $YNH_APP_ID -### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2"...) -### The app instance name is available as $YNH_APP_INSTANCE_NAME -### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample -### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 -### - ynhexample__{N} for the subsequent installations, with N=3,4... -### The app instance name is probably what interests you most, since this is -### guaranteed to be unique. This is a good unique identifier to define installation path, -### db names... app=$YNH_APP_INSTANCE_NAME -#================================================= -# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS -#================================================= -### About --weight and --time -### ynh_script_progression will show to your final users the progression of each scripts. -### In order to do that, --weight will represent the relative time of execution compared to the other steps in the script. -### --time is a packager option, it will show you the execution time since the previous call. -### This option should be removed before releasing your app. -### Use the execution time, given by --time, to estimate the weight of a step. -### A common way to do it is to set a weight equal to the execution time in second +1. -### The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. ynh_script_progression --message="Validating installation parameters..." - -### If the app uses NGINX as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". -### If the app provides an internal web server (or uses another application server such as uWSGI), the final path should be "/opt/yunohost/$app" final_path=/var/www/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" - -# Register (book) web path ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url -#================================================= -# STORE SETTINGS FROM MANIFEST -#================================================= - ynh_script_progression --message="Storing installation settings..." - ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url - -#================================================= -# STANDARD MODIFICATIONS -#================================================= -#================================================= -# CREATE DEDICATED USER -#================================================= +ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_script_progression --message="Configuring system user..." - -# Create a system user ynh_system_user_create --username=$app --home_dir="$final_path" -#================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE -#================================================= - ynh_script_progression --message="Setting up source files..." - -### `ynh_setup_source` is used to install an app from a zip or tar.gz file, -### downloaded from an upstream source, like a git repository. -### `ynh_setup_source` use the file conf/app.src - -ynh_app_setting_set --app=$app --key=final_path --value=$final_path -# Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" - -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod -R 440 "$final_path" find "$final_path" -type d | xargs chmod 110 chmod 750 "$final_path"/css chown -R $app:www-data "$final_path" -#================================================= -# NGINX CONFIGURATION -#================================================= - ynh_script_progression --message="Configuring NGINX web server..." - -### `ynh_add_nginx_config` will use the file conf/nginx.conf - -# Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= - ynh_script_progression --message="Configuring PHP-FPM..." - -# Create a dedicated PHP-FPM config ynh_add_fpm_config -#================================================= -# END OF SCRIPT -#================================================= - ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove index d4d1190..0322438 100755 --- a/scripts/remove +++ b/scripts/remove @@ -1,62 +1,22 @@ #!/bin/bash - -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= ynh_script_progression --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME - domain=$(ynh_app_setting_get --app=$app --key=domain) final_path=$(ynh_app_setting_get --app=$app --key=final_path) -#================================================= -# STANDARD REMOVE -#================================================= -#================================================= -# REMOVE APP MAIN DIR -#================================================= ynh_script_progression --message="Removing app main directory..." - -# Remove the app directory securely ynh_secure_remove --file="$final_path" -#================================================= -# REMOVE NGINX CONFIGURATION -#================================================= ynh_script_progression --message="Removing NGINX web server configuration..." - -# Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= ynh_script_progression --message="Removing PHP-FPM configuration..." - -# Remove the dedicated PHP-FPM config ynh_remove_fpm_config -#================================================= -# GENERIC FINALIZATION -#================================================= -# REMOVE DEDICATED USER -#================================================= ynh_script_progression --message="Removing the dedicated system user..." - -# Delete a system user ynh_system_user_delete --username=$app -#================================================= -# END OF SCRIPT -#================================================= - ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore index 8543710..d2b332e 100755 --- a/scripts/restore +++ b/scripts/restore @@ -1,79 +1,30 @@ #!/bin/bash - -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - #### Remove this function if there's nothing to clean before calling the remove script. - true -} -# Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# LOAD SETTINGS -#================================================= ynh_script_progression --message="Loading installation settings..." --weight=1 - app=$YNH_APP_INSTANCE_NAME - domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) -#================================================= -# STANDARD RESTORATION STEPS -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1 - ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# RECREATE THE DEDICATED USER -#================================================= ynh_script_progression --message="Recreating the dedicated system user..." - -# Create the dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" -#================================================= -# RESTORE THE APP MAIN DIR -#================================================= ynh_script_progression --message="Restoring the app main directory..." - ynh_restore_file --origin_path="$final_path" - -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod -R 440 "$final_path" find "$final_path" -type d | xargs chmod 110 chmod 750 "$final_path"/css chown -R $app:www-data "$final_path" -#================================================= -# RESTORE THE PHP-FPM CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/php/7.3/fpm/pool.d/$app.conf" - -#================================================= -# END OF SCRIPT -#================================================= +ynh_script_progression --message="Restoring the PHP-FPM configuration..." +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" +ynh_systemd_action --service_name=php$phpversion-fpm --action=reload ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index 8748e92..62b1e9c 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,109 +1,40 @@ #!/bin/bash - -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= - ynh_script_progression --message="Loading installation settings..." - app=$YNH_APP_INSTANCE_NAME - domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) -#================================================= -# CHECK VERSION -#================================================= - -### This helper will compare the version of the currently installed app and the version of the upstream package. -### $upgrade_type can have 2 different values -### - UPGRADE_APP if the upstream app version has changed -### - UPGRADE_PACKAGE if only the YunoHost package has changed -### ynh_check_app_version_changed will stop the upgrade if the app is up to date. -### UPGRADE_APP should be used to upgrade the core app only if there's an upgrade to do. upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= - ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - -# Backup the current version of the app ynh_backup_before_upgrade ynh_clean_setup () { - # restore it if the upgrade fails ynh_restore_upgradebackup } -# Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# STANDARD UPGRADE STEPS -#================================================= -# CREATE DEDICATED USER -#================================================= - ynh_script_progression --message="Making sure dedicated system user exists..." - -# Create a dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" -#================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE -#================================================= - if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." - - # Remove old version ynh_secure_remove --file="$final_path" - - # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" fi -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod -R 440 "$final_path" find "$final_path" -type d | xargs chmod 110 chmod 750 "$final_path"/css chown -R $app:www-data "$final_path" -#================================================= -# NGINX CONFIGURATION -#================================================= - ynh_script_progression --message="Upgrading NGINX web server configuration..." - -# Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= - ynh_script_progression --message="Upgrading PHP-FPM configuration..." - -# Create a dedicated PHP-FPM config ynh_add_fpm_config -#================================================= -# END OF SCRIPT -#================================================= - ynh_script_progression --message="Upgrade of $app completed" --last