diff --git a/.gitignore b/.gitignore index 783a4ae..8f144f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *~ *.sw[op] +.DS_Store diff --git a/ALL_README.md b/ALL_README.md index 4ed64dd..e3c80d2 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -6,4 +6,5 @@ - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) - [Baca README dalam bahasa bahasa Indonesia](README_id.md) +- [Прочитать README на русский](README_ru.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README.md b/README.md index 4eee96a..16870b0 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,6 @@ It shall NOT be edited by hand. ## Overview - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**Shipped version:** 9.17.0~ynh1 +**Shipped version:** 9.18.0~ynh2 ## Documentation and resources - Official app website: diff --git a/README_es.md b/README_es.md index b45ce32..933b85d 100644 --- a/README_es.md +++ b/README_es.md @@ -16,11 +16,6 @@ No se debe editar a mano. ## Descripción general - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**Versión actual:** 9.17.0~ynh1 +**Versión actual:** 9.18.0~ynh2 ## Documentaciones y recursos - Sitio web oficial: diff --git a/README_eu.md b/README_eu.md index effaaaf..9f6084c 100644 --- a/README_eu.md +++ b/README_eu.md @@ -16,11 +16,6 @@ EZ editatu eskuz. ## Aurreikuspena - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**Paketatutako bertsioa:** 9.17.0~ynh1 +**Paketatutako bertsioa:** 9.18.0~ynh2 ## Dokumentazioa eta baliabideak - Aplikazioaren webgune ofiziala: diff --git a/README_fr.md b/README_fr.md index 0e3eba7..0b799c5 100644 --- a/README_fr.md +++ b/README_fr.md @@ -16,11 +16,6 @@ Il NE doit PAS être modifié à la main. ## Vue d’ensemble - -### Fonctionnalités - -Intègre zwave-js-ui dans domoticz_ynh de façon native. - **Zwave-JS-UI**, aussi connu sous le nom de ZWaveJS2MQTT, est un remplaçant pour Openzwave. Il permet d'exposer les terminaux Z-Wave à un broker MQTT de façon complètement configurable. Pour fonctionner correctement, cette application nécessite d'avoir installé soit: @@ -31,7 +26,7 @@ Pour fonctionner correctement, cette application nécessite d'avoir installé so Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. -**Version incluse :** 9.17.0~ynh1 +**Version incluse :** 9.18.0~ynh2 ## Documentations et ressources - Site officiel de l’app : diff --git a/README_gl.md b/README_gl.md index 974baa2..475f74d 100644 --- a/README_gl.md +++ b/README_gl.md @@ -16,11 +16,6 @@ NON debe editarse manualmente. ## Vista xeral - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**Versión proporcionada:** 9.17.0~ynh1 +**Versión proporcionada:** 9.18.0~ynh2 ## Documentación e recursos - Web oficial da app: diff --git a/README_id.md b/README_id.md index 174412e..dcff68e 100644 --- a/README_id.md +++ b/README_id.md @@ -16,11 +16,6 @@ Ini TIDAK boleh diedit dengan tangan. ## Ringkasan - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**Versi terkirim:** 9.17.0~ynh1 +**Versi terkirim:** 9.18.0~ynh2 ## Dokumentasi dan sumber daya - Website aplikasi resmi: diff --git a/README_ru.md b/README_ru.md new file mode 100644 index 0000000..9ead641 --- /dev/null +++ b/README_ru.md @@ -0,0 +1,52 @@ + + +# Zwave-JS-UI для YunoHost + +[![Уровень интеграции](https://dash.yunohost.org/integration/zwave-js-ui.svg)](https://ci-apps.yunohost.org/ci/apps/zwave-js-ui/) ![Состояние работы](https://ci-apps.yunohost.org/ci/badges/zwave-js-ui.status.svg) ![Состояние сопровождения](https://ci-apps.yunohost.org/ci/badges/zwave-js-ui.maintain.svg) + +[![Установите Zwave-JS-UI с YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=zwave-js-ui) + +*[Прочтите этот README на других языках.](./ALL_README.md)* + +> *Этот пакет позволяет Вам установить Zwave-JS-UI быстро и просто на YunoHost-сервер.* +> *Если у Вас нет YunoHost, пожалуйста, посмотрите [инструкцию](https://yunohost.org/install), чтобы узнать, как установить его.* + +## Обзор + +**Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. + +To work correctly, this app require to install either +- [Domoticz package](https://github.com/YunoHost-Apps/domoticz_ynh) with **mqtt broker Mosquitto** +- [Home-Assistant package](https://github.com/YunoHost-Apps/homeassistant_ynh) + + +For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. + + + +**Поставляемая версия:** 9.18.0~ynh2 +## Документация и ресурсы + +- Официальный веб-сайт приложения: +- Официальная документация пользователя: +- Официальная документация администратора: +- Репозиторий кода главной ветки приложения: +- Магазин YunoHost: +- Сообщите об ошибке: + +## Информация для разработчиков + +Пришлите Ваш запрос на слияние в [ветку `testing`](https://github.com/YunoHost-Apps/zwave-js-ui_ynh/tree/testing). + +Чтобы попробовать ветку `testing`, пожалуйста, сделайте что-то вроде этого: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/zwave-js-ui_ynh/tree/testing --debug +или +sudo yunohost app upgrade zwave-js-ui -u https://github.com/YunoHost-Apps/zwave-js-ui_ynh/tree/testing --debug +``` + +**Больше информации о пакетировании приложений:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 8f8b7d3..2d11521 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -16,11 +16,6 @@ ## 概况 - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either @@ -32,7 +27,7 @@ For now, although the package is fully functional (install, remove, backup, rest -**分发版本:** 9.17.0~ynh1 +**分发版本:** 9.18.0~ynh2 ## 文档与资源 - 官方应用网站: diff --git a/conf/app.src b/conf/app.src deleted file mode 100644 index ff4e739..0000000 --- a/conf/app.src +++ /dev/null @@ -1,6 +0,0 @@ -SOURCE_URL=https://api.github.com/repos/zwave-js/zwave-js-ui/zipball/v8.15.0 -SOURCE_SUM=a8aac1fd25000dc6dbdd92c8d91e22bf3ffe1492a914777371f9d6e5299a676d -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true -SOURCE_EXTRACT=true diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index c47b125..fa1530b 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -1,8 +1,3 @@ - -### Features - -Integrate zwave-js-ui natively in Domoticz_ynh. - **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require to install either diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md index 90bcd7a..ec17b61 100644 --- a/doc/DESCRIPTION_fr.md +++ b/doc/DESCRIPTION_fr.md @@ -1,8 +1,3 @@ - -### Fonctionnalités - -Intègre zwave-js-ui dans domoticz_ynh de façon native. - **Zwave-JS-UI**, aussi connu sous le nom de ZWaveJS2MQTT, est un remplaçant pour Openzwave. Il permet d'exposer les terminaux Z-Wave à un broker MQTT de façon complètement configurable. Pour fonctionner correctement, cette application nécessite d'avoir installé soit: diff --git a/manifest.toml b/manifest.toml index 60b0642..375d5e4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Zwave-JS-UI" description.en = "Full featured Z-Wave Control Panel and MQTT Gateway integrated with domoticz" description.fr = "Panneau de controle Z-Wave et MQTT intégré avec Domoticz" -version = "9.17.0~ynh1" +version = "9.18.0~ynh2" maintainers = ["Krakinou"] @@ -18,11 +18,15 @@ code = "https://github.com/zwave-js/zwave-js-ui" fund = "https://liberapay.com/robertsLando/donate" [integration] -yunohost = ">= 11.1.18" +yunohost = ">= 11.2.29" +helpers_version = "2.1" architectures = [ "amd64", "armhf", "arm64" ] multi_instance = false + ldap = "not_relevant" + sso = "not_relevant" + disk = "350M" ram.build = "200M" ram.runtime = "150M" @@ -43,12 +47,12 @@ ram.runtime = "150M" [resources] [resources.sources.main] - arm64.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.17.0/zwave-js-ui-v9.17.0-linux-arm64.zip" - arm64.sha256 = "4590434fa1c884bddd98d8c04a766296cf99a2d9a50870cb3d73fe8572af3576" - armhf.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.17.0/zwave-js-ui-v9.17.0-linux-armv7.zip" - armhf.sha256 = "9c47caff772cbd85d68ba38a544409a151f7e37b56d83c9bca52a7aa1037eb0e" - amd64.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.17.0/zwave-js-ui-v9.17.0-linux.zip" - amd64.sha256 = "de3ea11b3440453397482d515804364115fc450491f3005810176c653cfdf1d0" + arm64.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.18.0/zwave-js-ui-v9.18.0-linux-arm64.zip" + arm64.sha256 = "21136d3bfccba07272bf1e18df692ca2dfd00d5420f258229d9c3a0beef245d9" + armhf.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.18.0/zwave-js-ui-v9.18.0-linux-armv7.zip" + armhf.sha256 = "228ce138063bb5a0148ffc15d91b818daaf2d2d8091ff930d17de56d5d35d7b1" + amd64.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.18.0/zwave-js-ui-v9.18.0-linux.zip" + amd64.sha256 = "8c579ab49b8950ce86a5c1628dbac05217ecb4865b8cdcf62422e1b716e1474f" in_subdir = false autoupdate.strategy = "latest_github_release" diff --git a/scripts/_common.sh b/scripts/_common.sh index 2d75279..1e04956 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,21 +1,15 @@ #!/bin/bash #================================================= -# COMMON VARIABLES +# COMMON VARIABLES AND CUSTOM HELPERS #================================================= + if [[ "$YNH_ARCH" == "armhf" ]] || [[ "$YNH_ARCH" == "arm64" ]] then file_exec="zwave-js-ui" else file_exec="zwave-js-ui-linux" fi -#================================================= -# PERSONAL HELPERS -#================================================= - -#================================================= -# EXPERIMENTAL HELPERS -#================================================= #================================================= # FUTURE OFFICIAL HELPERS diff --git a/scripts/backup b/scripts/backup index 260dd79..ead196e 100755 --- a/scripts/backup +++ b/scripts/backup @@ -1,49 +1,28 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# 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..." #================================================= # BACKUP THE APP MAIN DIR #================================================= -ynh_backup --src_path="$install_dir" +ynh_backup "$install_dir" #================================================= -# BACKUP THE NGINX CONFIGURATION +# SYSTEM CONFIGURATION #================================================= -ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP LOGROTATE -#================================================= - -ynh_backup --src_path="/etc/logrotate.d/$app" - -#================================================= -# BACKUP SYSTEMD -#================================================= - -ynh_backup --src_path="/etc/systemd/system/$app.service" +ynh_backup "/etc/logrotate.d/$app" +ynh_backup "/etc/systemd/system/$app.service" #================================================= # END OF SCRIPT #================================================= -ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." \ No newline at end of file +ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." \ No newline at end of file diff --git a/scripts/change_url b/scripts/change_url index 8a461b6..cb5af59 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,7 +1,5 @@ #!/bin/bash -#================================================= -# GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= @@ -9,127 +7,29 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -old_domain=$YNH_APP_OLD_DOMAIN -old_path=$YNH_APP_OLD_PATH - -new_domain=$YNH_APP_NEW_DOMAIN -new_path=$YNH_APP_NEW_PATH - -app=$YNH_APP_INSTANCE_NAME - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 - -# Needed for helper "ynh_add_nginx_config" -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -port=$(ynh_app_setting_get --app=$app --key=port) - -# Add settings here as needed by your application -#db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#db_user=$db_name -#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) - -#================================================= -# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. - ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" - - # Restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# CHECK WHICH PARTS SHOULD BE CHANGED -#================================================= - -change_domain=0 -if [ "$old_domain" != "$new_domain" ] -then - change_domain=1 -fi - -change_path=0 -if [ "$old_path" != "$new_path" ] -then - change_path=1 -fi - -#================================================= -# 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" --log_path="/var/log/$app/$app.log" +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..." -nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf +ynh_config_change_url_nginx -# Change the path in the NGINX config file -if [ $change_path -eq 1 ] -then - # Make a backup of the original NGINX config file if modified - ynh_backup_if_checksum_is_different --file="$nginx_conf_path" - # Set global variables for NGINX helper - domain="$old_domain" - path_url="$new_path" - # Create a dedicated NGINX config - ynh_add_nginx_config -fi - -# Change the domain for NGINX -if [ $change_domain -eq 1 ] -then - # Delete file checksum for the old conf file location - ynh_delete_file_checksum --file="$nginx_conf_path" - mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf - # Store file checksum for the new config file location - ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" -fi - -#================================================= -# SPECIFIC MODIFICATIONS -#================================================= -# ... -#================================================= - -#================================================= -# GENERIC FINALISATION #================================================= # 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/$app.log" - -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 - -ynh_systemd_action --service_name=nginx --action=reload +ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30 #================================================= # 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 0d3ac88..115b5de 100755 --- a/scripts/install +++ b/scripts/install @@ -1,18 +1,12 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Configuring system user..." --weight=1 +ynh_script_progression "Configuring system user..." usermod -d $install_dir $app @@ -29,58 +23,32 @@ fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Setting up source files..." --weight=8 +ynh_script_progression "Setting up source files..." -# Download, check integrity, uncompress and patch the source -ynh_setup_source --dest_dir="$install_dir" - -chmod 750 "$install_dir" -chmod -R o-rwx "$install_dir" -chown -R $app: "$install_dir" +ynh_setup_source --dest_dir="$install_dir" #================================================= -# NGINX CONFIGURATION +# SYSTEM CONFIGURATION #================================================= -ynh_script_progression --message="Configuring NGINX web server..." --weight=2 +ynh_script_progression "Adding system configurations related to $app..." -# Create a dedicated NGINX config -ynh_add_nginx_config +ynh_config_add_nginx -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." --weight=2 +ynh_config_add_systemd -# Create a dedicated systemd config -ynh_add_systemd_config - -#================================================= -# GENERIC FINALIZATION -#================================================= -# SETUP LOGROTATE -#================================================= -ynh_script_progression --message="Configuring log rotation..." --weight=1 - -# Use logrotate to manage application logfile(s) -ynh_use_logrotate --logfile="/var/log/$app/$app.log" - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 +ynh_config_add_logrotate yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=1 +ynh_script_progression "Starting $app's systemd service..." -# Start a systemd service -ynh_systemd_action --service_name=$app --action="start" --line_match="Listening on port" -t 30 --log_path="/var/log/$app/$app.log" +ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30 #================================================= # 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 c9693eb..6a8d5eb 100755 --- a/scripts/remove +++ b/scripts/remove @@ -1,33 +1,27 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers #================================================= -# STANDARD REMOVE -#================================================= -# REMOVE SERVICE INTEGRATION IN YUNOHOST +# REMOVE SYSTEM CONFIGURATIONS #================================================= +ynh_script_progression "Removing system configurations related to $app..." -# Remove the service from the list of services known by YunoHost (added from `yunohost service add`) -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_script_progression --message="Removing various system files..." --weight=1 +ynh_config_remove_systemd -ynh_remove_systemd_config +ynh_config_remove_logrotate -ynh_remove_logrotate +ynh_config_remove_nginx -ynh_remove_nginx_config +#================================================= +# END OF SCRIPT +#================================================= -ynh_script_progression --message="Removal of $app completed" --last \ No newline at end of file +ynh_script_progression "Removal of $app completed" diff --git a/scripts/restore b/scripts/restore index 71ccaa0..fa8ca0d 100755 --- a/scripts/restore +++ b/scripts/restore @@ -1,20 +1,12 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers - #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 +ynh_script_progression "Recreating the dedicated system user..." if grep dialout -q < /etc/group; then usermod -a -G dialout "$app" @@ -26,50 +18,37 @@ if grep gpio -q < /etc/group; then usermod -a -G gpio "$app" fi - #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." --weight=1 +ynh_script_progression "Restoring the app main directory..." -ynh_restore_file --origin_path="$install_dir" +ynh_restore "$install_dir" -chmod 750 "$install_dir" -chmod -R o-rwx "$install_dir" -chown -R $app: "$install_dir" +ynh_script_progression "Restoring system configurations related to $app..." -ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 +ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf" -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" - -ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +ynh_restore "/etc/systemd/system/$app.service" systemctl enable $app.service --quiet -ynh_restore_file --origin_path="/etc/logrotate.d/$app" +ynh_restore "/etc/logrotate.d/$app" mkdir -p /var/log/$app -chown -R $app:$app /var/log/$app yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" #================================================= -# START SYSTEMD SERVICE +# RELOAD NGINX AND PHP-FPM OR THE APP SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=1 +ynh_script_progression "Reloading NGINX web server and $app's service..." -ynh_systemd_action --service_name=$app --action="start" --line_match="Listening on port" -t 30 --log_path="/var/log/$app/$app.log" +ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30 -#================================================= -# GENERIC FINALIZATION -#================================================= -# RELOAD NGINX AND PHP-FPM -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 - -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 5ad70b7..c84cce9 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,33 +1,19 @@ #!/bin/bash -#================================================= -# GENERIC START -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - source _common.sh source /usr/share/yunohost/helpers -#================================================= -# CHECK VERSION -#================================================= - -upgrade_type=$(ynh_check_app_version_changed) - -#================================================= -# STANDARD UPGRADE STEPS #================================================= # 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" --log_path="/var/log/$app/$app.log" +ynh_systemctl --service=$app --action="stop" #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 +ynh_script_progression "Making sure dedicated system user exists..." if grep dialout -q < /etc/group; then usermod -a -G dialout "$app" @@ -42,61 +28,32 @@ fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= +ynh_script_progression "Upgrading source files..." -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - ynh_script_progression --message="Upgrading source files..." --weight=1 - - # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" - - chmod 750 "$install_dir" - chmod -R o-rwx "$install_dir" - chown -R $app: "$install_dir" -fi +ynh_setup_source --dest_dir="$install_dir" #================================================= -# NGINX CONFIGURATION +# REAPPLY SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1 +ynh_script_progression "Upgrading system configurations related to $app..." -# Create a dedicated NGINX config -ynh_add_nginx_config +ynh_config_add_nginx -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Upgrading systemd configuration..." --weight=1 +ynh_config_add_systemd -# Create a dedicated systemd config -ynh_add_systemd_config - -#================================================= -# GENERIC FINALIZATION -#================================================= -# SETUP LOGROTATE -#================================================= -ynh_script_progression --message="Upgrading logrotate configuration..." --weight=1 - -# Use logrotate to manage app-specific logfile(s) -ynh_use_logrotate --logfile="/var/log/$app/$app.log" --non-append - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 +ynh_config_add_logrotate yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" #================================================= # 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" --line_match="Listening on port" -t 30 --log_path="/var/log/$app/$app.log" +ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30 #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --last \ No newline at end of file +ynh_script_progression "Upgrade of $app completed" diff --git a/sources/extra_files/app/.gitignore b/sources/extra_files/app/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/sources/extra_files/app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op] diff --git a/sources/patches/.gitignore b/sources/patches/.gitignore deleted file mode 100644 index 783a4ae..0000000 --- a/sources/patches/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*~ -*.sw[op]