From 53f9b3c0d575e14ede85689caac6e15f8f629345 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rault Date: Wed, 1 Mar 2017 16:48:18 +0100 Subject: [PATCH] =?UTF-8?q?Compliance=20with=20Yunohost=E2=80=99s=20packag?= =?UTF-8?q?e=20linter=20for=20configuration=20scripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixed a forgotten import of the script helper and removed sudo before helpers modified conf scripts for better path management. --- manifest.json | 25 +++++++++++++++++++------ scripts/install | 17 +++++++++++++---- scripts/remove | 5 ++++- scripts/upgrade | 20 ++++++++++++++------ 4 files changed, 50 insertions(+), 17 deletions(-) diff --git a/manifest.json b/manifest.json index e112e88..32a2bef 100644 --- a/manifest.json +++ b/manifest.json @@ -1,29 +1,42 @@ { "name": "Firefox Sync Server", "id": "ffsync", + "url": "https://github.com/abeudin/ffsync_ynh", + "packaging_format": 1, "description": { - "en": "", - "fr": "" + "en": "Mozilla’s Sync-Server to host your Firefox account data", + "fr": "Le serveur de synchronisation de Mozilla, pour héberger vos données Firefox" }, - "developer": { + "maintainer": { "name": "beudbeud", "email": "beudbeud@beudibox.fr", "url": "https://github.com/balu-/FSyncMS" }, - "multi_instance": "false", + "requirements": { + "yunohost": ">> 2.4.0" + }, + "license": "free", + "services": [ + "nginx" + ], + "multi_instance": false, "arguments": { "install" : [ { "name": "domain", + "type": "domain", "ask": { - "en": "Choose a domain for Firefox-Sync Server" + "en": "Choose a domain for Firefox-Sync Server", + "fr": "Choisissez un domaine pour Firefox-Sync" }, "example": "domain.org" }, { "name": "path", + "type": "path", "ask": { - "en": "Choose a path for Firefox-Sync Server" + "en": "Choose a path for Firefox-Sync Server", + "fr": "Choisissez un chemin pour Firefox-Sync" }, "example": "/ffsync", "default": "/ffsync" diff --git a/scripts/install b/scripts/install index 55cd2bd..3132dd4 100644 --- a/scripts/install +++ b/scripts/install @@ -1,5 +1,8 @@ #!/bin/bash +# Source app helpers +. /usr/share/yunohost/helpers + # Retrieve arguments domain=$1 path=$2 @@ -7,7 +10,7 @@ path=$2 # Check domain/path availability sudo yunohost app checkurl $domain$path -a ffsync if [[ ! $? -eq 0 ]]; then - exit 1 + ynh_die fi # Generate random password @@ -18,11 +21,11 @@ db_user=ffsync # Initialize database and store mysql password for upgrade sudo yunohost app initdb $db_user -p $db_pwd -sudo yunohost app setting ffsync mysqlpwd -v $db_pwd +ynh_app_setting_set ffsync mysqlpwd $db_pwd # Generate random password and save secret=$(head -c 20 /dev/urandom | sha1sum | cut -d " " -f1) -sudo yunohost app setting ffsync secret -v $secret +ynh_app_setting_set ffsync secret $secret # Check depends installation sudo apt-get install make python-dev python-virtualenv -y @@ -44,6 +47,10 @@ then sudo swapon $tmp_swap_file fi + +# Modify assets to take path into account +sudo find ../sources/syncserver/page/sync_files/ -type f -exec sed -i -e "s@media\/img@$path\/media\/img@g" {} \; + # Copy files to the right place final_path=/opt/yunohost/ffsync sudo mkdir -p $final_path @@ -67,6 +74,8 @@ sudo sed -i -e "s@changesecret@$secret@g" $final_path/syncserver.ini sudo sed -i "s/yunouser/$db_user/g" $final_path/syncserver.ini sudo sed -i "s/yunopass/$db_pwd/g" $final_path/syncserver.ini sudo sed -i "s/yunobase/$db_user/g" $final_path/syncserver.ini +sudo sed -i -e "s@media\/img@$path\/media\/img@g" $final_path/syncserver/page/sync_files/firefox_sync-bundle.css +sudo sed -i -e "s@media\/img@$path\/media\/img@g" $final_path/syncserver/page/sync_files/responsive-bundle.css # Init virtualenv cd $final_path && sudo make build && sudo ./local/bin/easy_install gunicorn @@ -93,4 +102,4 @@ sudo service ffsync restart sudo yunohost app ssowatconf sudo service nginx restart sudo yunohost service add ffsync -l /var/log/ffsync.log -sudo yunohost app setting ffsync skipped_uris -v "/" +ynh_app_setting_set ffsync skipped_uris "/" diff --git a/scripts/remove b/scripts/remove index 01a9737..984aad9 100644 --- a/scripts/remove +++ b/scripts/remove @@ -1,9 +1,12 @@ #!/bin/bash +# Source app helpers +. /usr/share/yunohost/helpers + db_user=ffsync db_name=ffsync root_pwd=$(sudo cat /etc/yunohost/mysql) -domain=$(sudo yunohost app setting ffsync domain) +domain=$(ynh_app_setting_get ffsync domain) mysql -u root -p$root_pwd -e "DROP DATABASE $db_name ; DROP USER $db_user@localhost ;" sudo rm -rf /opt/yunohost/ffsync diff --git a/scripts/upgrade b/scripts/upgrade index 396f0c9..e16f242 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,19 +1,22 @@ #!/bin/bash +# Source app helpers +. /usr/share/yunohost/helpers + # Retrieve arguments -domain=$(sudo yunohost app setting ffsync domain) -path=$(sudo yunohost app setting ffsync path) -db_pwd=$(sudo yunohost app setting ffsync mysqlpwd) +domain=$(ynh_app_setting_get ffsync domain) +path=$(ynh_app_setting_get ffsync path) +db_pwd=$(ynh_app_setting_get ffsync mysqlpwd) db_user=ffsync final_path=/opt/yunohost/ffsync # Get secret variable -secret=$(sudo yunohost app setting ffsync secret) +secret=$(ynh_app_setting_get ffsync secret) # Get from conf file if not defined if [[ -z $secret ]] then secret=$(sudo grep "secret =" $final_path/syncserver.ini | cut -d" " -f3) - sudo yunohost app setting ffsync secret -v $secret + ynh_app_setting_set ffsync secret $secret fi # Check Swap @@ -33,6 +36,9 @@ then sudo swapon $tmp_swap_file fi +# Modify assets to take path into account +sudo find ../sources/syncserver/page/sync_files/ -type f -exec sed -i -e "s@media\/img@$path\/media\/img@g" {} \; + # Copy files to the right place sudo mkdir -p $final_path sudo cp -a ../sources/* $final_path @@ -53,6 +59,8 @@ sudo sed -i -e "s@changesecret@$secret@g" $final_path/syncserver.ini sudo sed -i "s/yunouser/$db_user/g" $final_path/syncserver.ini sudo sed -i "s/yunopass/$db_pwd/g" $final_path/syncserver.ini sudo sed -i "s/yunobase/$db_user/g" $final_path/syncserver.ini +sudo sed -i -e "s@media\/img@$path\/media\/img@g" $final_path/syncserver/page/sync_files/firefox_sync-bundle.css +sudo sed -i -e "s@media\/img@$path\/media\/img@g" $final_path/syncserver/page/sync_files/responsive-bundle.css # stop service before upgrade sudo service ffsync stop @@ -81,5 +89,5 @@ sudo service ffsync restart # Reload Nginx and regenerate SSOwat conf sudo service nginx reload -sudo yunohost app setting ffsync skipped_uris -v "/" +ynh_app_setting_set ffsync skipped_uris "/" sudo yunohost app ssowatconf