1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/zwave-js-ui_ynh.git synced 2024-09-03 18:06:00 +02:00

Merge pull request #174 from YunoHost-Apps/testing

Testing
This commit is contained in:
eric_G 2024-09-01 22:29:01 +02:00 committed by GitHub
commit ba5fb0ba73
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 136 additions and 362 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
*~ *~
*.sw[op] *.sw[op]
.DS_Store

View file

@ -6,4 +6,5 @@
- [Lire le README en français](README_fr.md) - [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md) - [Le o README en galego](README_gl.md)
- [Baca README dalam bahasa bahasa Indonesia](README_id.md) - [Baca README dalam bahasa bahasa Indonesia](README_id.md)
- [Прочитать README на русский](README_ru.md)
- [阅读中文(简体)的 README](README_zh_Hans.md) - [阅读中文(简体)的 README](README_zh_Hans.md)

View file

@ -16,11 +16,6 @@ It shall NOT be edited by hand.
## Overview ## 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. **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 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 ## Documentation and resources
- Official app website: <https://zwave-js.github.io/zwave-js-ui/#/> - Official app website: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -16,11 +16,6 @@ No se debe editar a mano.
## Descripción general ## 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. **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 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 ## Documentaciones y recursos
- Sitio web oficial: <https://zwave-js.github.io/zwave-js-ui/#/> - Sitio web oficial: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -16,11 +16,6 @@ EZ editatu eskuz.
## Aurreikuspena ## 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. **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 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 ## Dokumentazioa eta baliabideak
- Aplikazioaren webgune ofiziala: <https://zwave-js.github.io/zwave-js-ui/#/> - Aplikazioaren webgune ofiziala: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -16,11 +16,6 @@ Il NE doit PAS être modifié à la main.
## Vue densemble ## Vue densemble
### 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. **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: 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. 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 ## Documentations et ressources
- Site officiel de lapp: <https://zwave-js.github.io/zwave-js-ui/#/> - Site officiel de lapp: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -16,11 +16,6 @@ NON debe editarse manualmente.
## Vista xeral ## 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. **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 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 ## Documentación e recursos
- Web oficial da app: <https://zwave-js.github.io/zwave-js-ui/#/> - Web oficial da app: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -16,11 +16,6 @@ Ini TIDAK boleh diedit dengan tangan.
## Ringkasan ## 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. **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 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 ## Dokumentasi dan sumber daya
- Website aplikasi resmi: <https://zwave-js.github.io/zwave-js-ui/#/> - Website aplikasi resmi: <https://zwave-js.github.io/zwave-js-ui/#/>

52
README_ru.md Normal file
View file

@ -0,0 +1,52 @@
<!--
Важно: этот README был автоматически сгенерирован <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
Он НЕ ДОЛЖЕН редактироваться вручную.
-->
# 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
## Документация и ресурсы
- Официальный веб-сайт приложения: <https://zwave-js.github.io/zwave-js-ui/#/>
- Официальная документация пользователя: <https://www.domoticz.com/wiki/Zwave-JS-UI>
- Официальная документация администратора: <https://zwave-js.github.io/zwave-js-ui/#/>
- Репозиторий кода главной ветки приложения: <https://github.com/zwave-js/zwave-js-ui>
- Магазин YunoHost: <https://apps.yunohost.org/app/zwave-js-ui>
- Сообщите об ошибке: <https://github.com/YunoHost-Apps/zwave-js-ui_ynh/issues>
## Информация для разработчиков
Пришлите Ваш запрос на слияние в [ветку `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
```
**Больше информации о пакетировании приложений:** <https://yunohost.org/packaging_apps>

View file

@ -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. **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 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
## 文档与资源 ## 文档与资源
- 官方应用网站: <https://zwave-js.github.io/zwave-js-ui/#/> - 官方应用网站: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -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

View file

@ -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. **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 To work correctly, this app require to install either

View file

@ -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. **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: Pour fonctionner correctement, cette application nécessite d'avoir installé soit:

View file

@ -5,7 +5,7 @@ name = "Zwave-JS-UI"
description.en = "Full featured Z-Wave Control Panel and MQTT Gateway integrated with domoticz" 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" 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"] maintainers = ["Krakinou"]
@ -18,11 +18,15 @@ code = "https://github.com/zwave-js/zwave-js-ui"
fund = "https://liberapay.com/robertsLando/donate" fund = "https://liberapay.com/robertsLando/donate"
[integration] [integration]
yunohost = ">= 11.1.18" yunohost = ">= 11.2.29"
helpers_version = "2.1"
architectures = [ "amd64", "armhf", "arm64" ] architectures = [ "amd64", "armhf", "arm64" ]
multi_instance = false multi_instance = false
ldap = "not_relevant" ldap = "not_relevant"
sso = "not_relevant" sso = "not_relevant"
disk = "350M" disk = "350M"
ram.build = "200M" ram.build = "200M"
ram.runtime = "150M" ram.runtime = "150M"
@ -43,12 +47,12 @@ ram.runtime = "150M"
[resources] [resources]
[resources.sources.main] [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.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 = "4590434fa1c884bddd98d8c04a766296cf99a2d9a50870cb3d73fe8572af3576" arm64.sha256 = "21136d3bfccba07272bf1e18df692ca2dfd00d5420f258229d9c3a0beef245d9"
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.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 = "9c47caff772cbd85d68ba38a544409a151f7e37b56d83c9bca52a7aa1037eb0e" armhf.sha256 = "228ce138063bb5a0148ffc15d91b818daaf2d2d8091ff930d17de56d5d35d7b1"
amd64.url = "https://github.com/zwave-js/zwave-js-ui/releases/download/v9.17.0/zwave-js-ui-v9.17.0-linux.zip" 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 = "de3ea11b3440453397482d515804364115fc450491f3005810176c653cfdf1d0" amd64.sha256 = "8c579ab49b8950ce86a5c1628dbac05217ecb4865b8cdcf62422e1b716e1474f"
in_subdir = false in_subdir = false
autoupdate.strategy = "latest_github_release" autoupdate.strategy = "latest_github_release"

View file

@ -1,21 +1,15 @@
#!/bin/bash #!/bin/bash
#================================================= #=================================================
# COMMON VARIABLES # COMMON VARIABLES AND CUSTOM HELPERS
#================================================= #=================================================
if [[ "$YNH_ARCH" == "armhf" ]] || [[ "$YNH_ARCH" == "arm64" ]] if [[ "$YNH_ARCH" == "armhf" ]] || [[ "$YNH_ARCH" == "arm64" ]]
then then
file_exec="zwave-js-ui" file_exec="zwave-js-ui"
else else
file_exec="zwave-js-ui-linux" file_exec="zwave-js-ui-linux"
fi fi
#=================================================
# PERSONAL HELPERS
#=================================================
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#================================================= #=================================================
# FUTURE OFFICIAL HELPERS # FUTURE OFFICIAL HELPERS

View file

@ -1,49 +1,28 @@
#!/bin/bash #!/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 ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= ynh_print_info "Declaring files to be backed up..."
# DECLARE DATA AND CONF FILES TO BACKUP
#=================================================
ynh_print_info --message="Declaring files to be backed up..."
#================================================= #=================================================
# BACKUP THE APP MAIN DIR # 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"
#================================================= ynh_backup "/etc/logrotate.d/$app"
# 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/systemd/system/$app.service"
#================================================= #=================================================
# END OF SCRIPT # 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)."

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC STARTING
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -9,127 +7,29 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers 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 # 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 # 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 # 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" ynh_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30
#=================================================
# RELOAD NGINX
#=================================================
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================
ynh_script_progression --message="Change of URL completed for $app" --last ynh_script_progression "Change of URL completed for $app"

View file

@ -1,18 +1,12 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
#================================================= #=================================================
ynh_script_progression --message="Configuring system user..." --weight=1 ynh_script_progression "Configuring system user..."
usermod -d $install_dir $app usermod -d $install_dir $app
@ -29,58 +23,32 @@ fi
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # 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"
ynh_setup_source --dest_dir="$install_dir"
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app: "$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_config_add_nginx
ynh_add_nginx_config
#================================================= ynh_config_add_systemd
# SETUP SYSTEMD
#=================================================
ynh_script_progression --message="Configuring a systemd service..." --weight=2
# Create a dedicated systemd config ynh_config_add_logrotate
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
yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log"
#================================================= #=================================================
# START SYSTEMD SERVICE # 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_systemctl --service=$app --action="start" --wait_until="Listening on port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Listening on port" -t 30 --log_path="/var/log/$app/$app.log"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================
ynh_script_progression --message="Installation of $app completed" --last ynh_script_progression "Installation of $app completed"

View file

@ -1,33 +1,27 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
# STANDARD REMOVE # REMOVE SYSTEM CONFIGURATIONS
#=================================================
# REMOVE SERVICE INTEGRATION IN YUNOHOST
#================================================= #=================================================
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_hide_warnings yunohost service status $app >/dev/null
if ynh_exec_warn_less yunohost service status $app >/dev/null
then then
ynh_script_progression --message="Removing $app service integration..." --weight=1 ynh_script_progression "Removing $app service integration..."
yunohost service remove $app yunohost service remove $app
fi 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 ynh_script_progression "Removal of $app completed"

View file

@ -1,20 +1,12 @@
#!/bin/bash #!/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 ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
# RECREATE THE DEDICATED USER # 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 if grep dialout -q < /etc/group; then
usermod -a -G dialout "$app" usermod -a -G dialout "$app"
@ -26,50 +18,37 @@ if grep gpio -q < /etc/group; then
usermod -a -G gpio "$app" usermod -a -G gpio "$app"
fi fi
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # 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" ynh_script_progression "Restoring system configurations related to $app..."
chmod -R o-rwx "$install_dir"
chown -R $app: "$install_dir"
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 "/etc/systemd/system/$app.service"
ynh_restore_file --origin_path="/etc/systemd/system/$app.service"
systemctl enable $app.service --quiet 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 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" 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
#================================================= ynh_systemctl --service=nginx --action=reload
# 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
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================
ynh_script_progression --message="Restoration completed for $app" --last ynh_script_progression "Restoration completed for $app"

View file

@ -1,33 +1,19 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#=================================================
# CHECK VERSION
#=================================================
upgrade_type=$(ynh_check_app_version_changed)
#=================================================
# STANDARD UPGRADE STEPS
#================================================= #=================================================
# STOP SYSTEMD SERVICE # 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 # 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 if grep dialout -q < /etc/group; then
usermod -a -G dialout "$app" usermod -a -G dialout "$app"
@ -42,61 +28,32 @@ fi
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # DOWNLOAD, CHECK AND UNPACK SOURCE
#================================================= #=================================================
ynh_script_progression "Upgrading source files..."
if [ "$upgrade_type" == "UPGRADE_APP" ] ynh_setup_source --dest_dir="$install_dir"
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
#================================================= #=================================================
# 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_config_add_nginx
ynh_add_nginx_config
#================================================= ynh_config_add_systemd
# SETUP SYSTEMD
#=================================================
ynh_script_progression --message="Upgrading systemd configuration..." --weight=1
# Create a dedicated systemd config ynh_config_add_logrotate
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
yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log" yunohost service add $app --description="Zwave integration in domoticz" --log="/var/log/$app/$app.log"
#================================================= #=================================================
# START SYSTEMD SERVICE # 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 # END OF SCRIPT
#================================================= #=================================================
ynh_script_progression --message="Upgrade of $app completed" --last ynh_script_progression "Upgrade of $app completed"

View file

@ -1,2 +0,0 @@
*~
*.sw[op]

View file

@ -1,2 +0,0 @@
*~
*.sw[op]