From 791b722c4b66085238bce799d3da0df1acc7af33 Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 7 Mar 2017 19:11:19 +0100 Subject: [PATCH 1/5] new functions --- scripts/install | 60 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/scripts/install b/scripts/install index 795a9d0..f0ba01d 100644 --- a/scripts/install +++ b/scripts/install @@ -1,25 +1,49 @@ #!/bin/bash -set -e +#================================================= +# GENERIC STARTING +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + source .fonctions source /usr/share/yunohost/helpers -ynh_check_error # Active trap pour arrêter le script si une erreur est détectée. +#================================================= +# MANAGE FAILURE OF THE SCRIPT +#================================================= -app="jappix" +ynh_check_error # Active trap pour arrêter le script si une erreur est détectée. -# Retrieve arguments -domain=$1 -path=$2 -name=$3 -language=$4 +#================================================= +# RETRIEVE ARGUMENTS FROM THE MANIFEST +#================================================= + +domain=$YNH_APP_ARG_DOMAIN +path=$YNH_APP_ARG_PATH +name=$YNH_APP_ARG_NAME +language=$YNH_APP_ARG_LANGUAGE + + +app=$YNH_APP_INSTANCE_NAME # Check domain/path availability CHECK_DOMAINPATH path=$(ynh_normalize_url_path $path) # Vérifie et corrige la syntaxe du path. CHECK_FINALPATH # Vérifie que le dossier de destination n'est pas déjà utilisé. +#================================================= +# STORE SETTINGS FROM MANIFEST +#================================================= + +ynh_app_setting_set $app name $name +ynh_app_setting_set $app language $language +ynh_app_setting_set $app domain $domain + +#================================================= # Copy files to the right place +#================================================= + final_path="/var/www/${app}" ynh_app_setting_set $app final_path $final_path SETUP_SOURCE # Télécharge la source, décompresse et copie dans $final_path @@ -27,31 +51,41 @@ SETUP_SOURCE # Télécharge la source, décompresse et copie dans $final_path sudo mkdir -p "${final_path}/store/conf" sudo cp ../conf/*.xml "${final_path}/store/conf/" +#================================================= # Set permissions to jappix directory +#================================================= + sudo chown -R www-data: "$final_path" +#================================================= # Set and copy NGINX configuraion +#================================================= + sudo sed -i "s@PATHTOCHANGE2@${path}@g" ../conf/nginx.conf path=${path:-/} sudo sed -i "s@PATHTOCHANGE@${path}@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@${final_path}/@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf "/etc/nginx/conf.d/${domain}.d/${app}.conf" +#================================================= # Validate language +#================================================= + [[ -a "${final_path}/i18n/${language}" ]] \ || language="en" -# Store app settings -sudo yunohost app setting "$app" name -v "$name" -sudo yunohost app setting "$app" language -v "$language" - +#================================================= # Set Jappix configuration +#================================================= + sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/hosts.xml" sudo sed -i "s@DOMAINTOCHANGE@${domain}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@CHANGELANG@${language}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@CHANGENAME@${name}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@DOMAINTOCHANGE@${domain}@g" "${final_path}/store/conf/hosts.xml" - +#================================================= # Reload services +#================================================= + sudo service nginx reload From 3f4158fee869ca42f7a9552dca6669db4a8eaabb Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 7 Mar 2017 19:11:58 +0100 Subject: [PATCH 2/5] Update install --- scripts/install | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index f0ba01d..6b62684 100644 --- a/scripts/install +++ b/scripts/install @@ -26,8 +26,10 @@ language=$YNH_APP_ARG_LANGUAGE app=$YNH_APP_INSTANCE_NAME - +#================================================= # Check domain/path availability +#================================================= + CHECK_DOMAINPATH path=$(ynh_normalize_url_path $path) # Vérifie et corrige la syntaxe du path. CHECK_FINALPATH # Vérifie que le dossier de destination n'est pas déjà utilisé. From abfba347ce1dcd73e0a03e48dc14ea424884695c Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 7 Mar 2017 19:12:42 +0100 Subject: [PATCH 3/5] Update backup --- scripts/backup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/backup b/scripts/backup index 4b7a6c6..de4bc01 100644 --- a/scripts/backup +++ b/scripts/backup @@ -4,7 +4,7 @@ set -e # Source YNH helpers -. /usr/share/yunohost/helpers +source /usr/share/yunohost/helpers app="jappix" From cc4faa63a318173a5b99731bcb400220f3de047c Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 7 Mar 2017 19:14:55 +0100 Subject: [PATCH 4/5] Update restore --- scripts/restore | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/restore b/scripts/restore index 66fa81c..67db0b9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -1,12 +1,12 @@ #!/bin/bash # causes the shell to exit if any subcommand or pipeline returns a non-zero status -set -e - -app="jappix" +set -eu +source /usr/share/yunohost/helpers # Retrieve old app settings -domain=$(sudo yunohost app setting "$app" domain) +domain=$(ynh_app_setting_get $app domain) +app=$YNH_APP_INSTANCE_NAME # Restore sources & data sudo cp -a ./sources "/var/www/${app}" From 14536887f0f65c225e694e66ebf91d3c655a3958 Mon Sep 17 00:00:00 2001 From: frju365 Date: Tue, 7 Mar 2017 19:22:27 +0100 Subject: [PATCH 5/5] Update upgrade --- scripts/upgrade | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index ccc0019..5900bd0 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,29 +1,32 @@ #!/bin/bash set -e +source .fonctions +source /usr/share/yunohost/helpers -app="jappix" +app=$YNH_APP_INSTANCE_NAME # Retrieve arguments -domain=$(sudo yunohost app setting "$app" domain) -path=$(sudo yunohost app setting "$app" path) -name=$(sudo yunohost app setting "$app" name) -language=$(sudo yunohost app setting "$app" language) +domain=$(ynh_app_setting_set "$app" domain) +path=$(ynh_app_setting_set "$app" path) +name=$(ynh_app_setting_set "$app" name) +language=$(ynh_app_setting_set "$app" language) # Set default values name="${name:-YunoJappix}" language="${language:-en}" # Remove trailing "/" for next commands -path=${path%/} - -# Retrieve sources -wget -q -O jappix.tar.gz "$JAPPIX_SOURCE_URL" +path=$(ynh_normalize_url_path $path) # Vérifie et corrige la syntaxe du path. +#================================================= # Copy files to the right place +#================================================= + final_path="/var/www/${app}" +ynh_app_setting_set $app final_path $final_path +SETUP_SOURCE # Télécharge la source, décompresse et copie dans $final_path sudo mkdir -p "${final_path}/store/conf" -sudo tar -C "$final_path" -xf jappix.tar.gz --strip-components 1 sudo cp ../conf/*.xml "${final_path}/store/conf/" # Set permissions to jappix directory