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]
.DS_Store

View file

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

View file

@ -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: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -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: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -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: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

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

View file

@ -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: <https://zwave-js.github.io/zwave-js-ui/#/>

View file

@ -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: <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.
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/#/>

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.
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.
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.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"

View file

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

View file

@ -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)."
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
#=================================================
# 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"

View file

@ -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"
#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression "Adding system configurations related to $app..."
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring NGINX web server..." --weight=2
ynh_config_add_nginx
# Create a dedicated NGINX config
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_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"

View file

@ -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
ynh_script_progression "Removal of $app completed"

View file

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

View file

@ -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
#=================================================
# REAPPLY SYSTEM CONFIGURATIONS
#=================================================
ynh_script_progression "Upgrading system configurations related to $app..."
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
ynh_config_add_nginx
# Create a dedicated NGINX config
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_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
ynh_script_progression "Upgrade of $app completed"

View file

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

View file

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