From b06de03d46a5e4158020e852c87b6ec84ec6fe8e Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Sun, 26 Apr 2020 13:30:49 +0200 Subject: [PATCH 01/30] Patch murmurd exit for buster version --- scripts/install | 6 ++++-- scripts/upgrade | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/install b/scripts/install index 187085b..b202953 100644 --- a/scripts/install +++ b/scripts/install @@ -121,7 +121,9 @@ usermod --append --groups ssl-cert mumble-server # Set SuperUser password #================================================= -murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" +# || true temporarily to ignore a bug in murmurd 1.3.0 +# https://github.com/mumble-voip/mumble/issues/3911 +murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true #================================================= # Disable default server installed by Debian's package @@ -158,4 +160,4 @@ If you changed it manually and upgrade mumble, you'll find a backup in $final_pa Are you facing an issue, want to improve this app or say thank you? Please open a new issue in this project: https://github.com/YunoHost-Apps/mumbleserver_ynh " -ynh_send_readme_to_admin "$message" \ No newline at end of file +ynh_send_readme_to_admin "$message" diff --git a/scripts/upgrade b/scripts/upgrade index 97c1088..a257cd2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -169,7 +169,9 @@ usermod --append --groups ssl-cert mumble-server # Set SuperUser password #================================================= -murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" +# || true temporarily to ignore a bug in murmurd 1.3.0 +# https://github.com/mumble-voip/mumble/issues/3911 +murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true #================================================= # Disable default server installed by Debian's package @@ -208,4 +210,4 @@ If you changed it manually and upgrade mumble, you'll find a backup in $final_pa Are you facing an issue, want to improve this app or say thank you? Please open a new issue in this project: https://github.com/YunoHost-Apps/mumbleserver_ynh " -ynh_send_readme_to_admin "$message" \ No newline at end of file +ynh_send_readme_to_admin "$message" From 6ab9c0a2ecfa01c73b796e5da43d4ce518b84206 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 1 Aug 2020 23:53:10 +0200 Subject: [PATCH 02/30] clean up --- README.md | 1 - scripts/_common.sh | 20 ++++++++++++++++++++ scripts/install | 13 +++++++------ scripts/upgrade | 6 ++++++ 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2b7f31a..da8e852 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ Password and other usefull information will be sent to you after installation. - [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) #### Maintainers & history ----------------- * 2014: Package creation was maid by [matlink]](https://github.com/Matlink) * 2016: improved and maintained by [Moul](https://github.com/M5oul) diff --git a/scripts/_common.sh b/scripts/_common.sh index fba63ec..7eda170 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,5 +1,25 @@ #!/bin/bash +#================================================= +# COMMON VARIABLES +#================================================= + +# dependencies used by the app +pkg_dependencies="mumble-server mailutils" + +#================================================= +# PERSONAL HELPERS +#================================================= + +#================================================= +# EXPERIMENTAL HELPERS +#================================================= + +#================================================= +# FUTURE OFFICIAL HELPERS +#================================================= + + # Send an email to inform the administrator # # usage: ynh_send_readme_to_admin app_message [recipients] diff --git a/scripts/install b/scripts/install index b202953..3424aa5 100644 --- a/scripts/install +++ b/scripts/install @@ -59,7 +59,7 @@ ynh_app_setting_set "$app" instance_id "$instance_id" #================================================= port=$(ynh_find_port 64738) -ynh_app_setting_set "$app" port "$port" +ynh_app_setting_set --app=$app --key=port --value=$port # Open port in firewall yunohost firewall allow Both "$port" @@ -69,7 +69,8 @@ yunohost firewall allow Both "$port" #================================================= # Install Mumble Debian package via apt -ynh_install_app_dependencies mumble-server mailutils + +ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC SETUP @@ -109,13 +110,13 @@ ynh_add_systemd_config #================================================= chmod -R 770 "$final_path" -chown -R :mumble-server "$final_path" +chown -R :$app "$final_path" #================================================= # Add user to ssl-cert so it can read certificates #================================================= -usermod --append --groups ssl-cert mumble-server +usermod --append --groups ssl-cert $app #================================================= # Set SuperUser password @@ -129,8 +130,8 @@ murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true # Disable default server installed by Debian's package #================================================= -systemctl stop mumble-server -systemctl disable mumble-server +systemctl stop $app +systemctl disable $app #================================================= # ADVERTISE SERVICE IN ADMIN PANEL diff --git a/scripts/upgrade b/scripts/upgrade index a257cd2..d269e51 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -211,3 +211,9 @@ Are you facing an issue, want to improve this app or say thank you? Please open a new issue in this project: https://github.com/YunoHost-Apps/mumbleserver_ynh " ynh_send_readme_to_admin "$message" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Upgrade of $app completed" --last From edbfa2b313dc603c524479e6b4f0a9fbfc439047 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 2 Aug 2020 00:00:11 +0200 Subject: [PATCH 03/30] clean up --- README.md | 2 +- conf/systemd.service | 4 ++-- scripts/backup | 22 ++++++++++++++-------- scripts/install | 27 +++++++++++++++++---------- 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index da8e852..ecf128a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Mumble server package for YunoHost +# Mumble server for YunoHost [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) [![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mumbleserver) diff --git a/conf/systemd.service b/conf/systemd.service index c2bb296..31275cd 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -4,8 +4,8 @@ Requires=network-online.target After=network.target [Service] -User=mumble-server -Group=mumble-server +User=__APP__ +Group=__APP__ Type=forking # https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory= RuntimeDirectory=mumble-server diff --git a/scripts/backup b/scripts/backup index bf8bc99..1f89b94 100644 --- a/scripts/backup +++ b/scripts/backup @@ -6,12 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= -if [ ! -e _common.sh ]; then - # Get the _common.sh file if it's not in the current directory - cp ../settings/scripts/_common.sh ./_common.sh - chmod a+rx _common.sh -fi -source _common.sh +source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -21,14 +16,19 @@ source /usr/share/yunohost/helpers # Exit if an error occurs during the execution of the script ynh_abort_if_errors - #================================================= # LOAD SETTINGS #================================================= +ynh_print_info --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME -final_path=$(ynh_app_setting_get $app final_path) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + +#================================================= +# DECLARE DATA AND CONF FILES TO BACKUP +#================================================= +ynh_print_info --message="Declaring files to be backed up..." #================================================= # STANDARD BACKUP STEPS @@ -43,3 +43,9 @@ ynh_backup "$final_path" #================================================= 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)." diff --git a/scripts/install b/scripts/install index 3424aa5..b54b615 100644 --- a/scripts/install +++ b/scripts/install @@ -44,13 +44,13 @@ test ! -e "$final_path" || ynh_die "This path already contains a folder" #================================================= # Save app settings -ynh_app_setting_set "$app" domain "$domain" -ynh_app_setting_set "$app" no_sso "true" -ynh_app_setting_set "$app" server_password "$server_password" -ynh_app_setting_set "$app" su_passwd "$su_passwd" -ynh_app_setting_set "$app" welcometext "$welcometext" -ynh_app_setting_set "$app" registerName "$registerName" -ynh_app_setting_set "$app" instance_id "$instance_id" +ynh_app_setting_set --app=$app --key=domain --value="$domain" +ynh_app_setting_set --app=$app --key=no_sso --value="true" +ynh_app_setting_set --app=$app --key=server_password --value="$server_password" +ynh_app_setting_set --app=$app --key=su_passwd --value="$su_passwd" +ynh_app_setting_set --app=$app --key=welcometext --value="$welcometext" +ynh_app_setting_set --app=$app --key=registerName --value="$registerName" +ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= # STANDARD MODIFICATIONS @@ -79,7 +79,7 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= mkdir -p "$final_path" -ynh_app_setting_set "$app" final_path "$final_path" +ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Configuring with given settings mumble_conf="$final_path/mumble-server.ini" @@ -134,11 +134,12 @@ systemctl stop $app systemctl disable $app #================================================= -# ADVERTISE SERVICE IN ADMIN PANEL +# INTEGRATE SERVICE IN YUNOHOST #================================================= +ynh_script_progression --message="Integrating service in YunoHost..." # Add Mumble as a YunoHost service -yunohost service add "$app" -l "/var/log/mumble-server/$app.log" +yunohost service add $app --description "Mumble server" --log="/var/log/$app/$app.log" systemctl restart "$app" @@ -162,3 +163,9 @@ Are you facing an issue, want to improve this app or say thank you? Please open a new issue in this project: https://github.com/YunoHost-Apps/mumbleserver_ynh " ynh_send_readme_to_admin "$message" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Installation of $app completed" --last From cc45e0bc12941e4c7489183a505b62a92d4537a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 11 Sep 2020 23:24:50 +0200 Subject: [PATCH 04/30] Update README.md _ *Add badges* --- README.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2b7f31a..ae2c6cc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Mumble server package for YunoHost +# Mumble server for YunoHost -[![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) +[![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) [![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mumbleserver) It installs the Debian package and configures it with given settings. @@ -12,7 +12,6 @@ Password and other usefull information will be sent to you after installation. - [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) #### Maintainers & history ----------------- * 2014: Package creation was maid by [matlink]](https://github.com/Matlink) * 2016: improved and maintained by [Moul](https://github.com/M5oul) @@ -39,3 +38,17 @@ Password and other usefull information will be sent to you after installation. * Report a bug about Mumble itself: https://github.com/mumble-voip/mumble * Mumble website: https://mumble.info * YunoHost website: https://yunohost.org + + --- + +## Developer info + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug +or +sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug +``` + From a6807a7e80f97e266e8a35fed9cf57d428bfa52f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Wed, 4 Nov 2020 22:35:27 +0100 Subject: [PATCH 05/30] Update manifest.json --- manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 4b587f6..cd2c274 100644 --- a/manifest.json +++ b/manifest.json @@ -3,8 +3,8 @@ "id": "mumbleserver", "packaging_format": 1, "description": { - "en": "Mumble is a libre, low-latency, high quality voice chat software primarily intended for use while gaming.", - "fr": "Mumble est un logiciel libre de voix sur IP (VoIP), son principal usage étant la communication pendant les parties de jeux en réseau." + "en": "Low-latency, high quality voice chat software (VoIP).", + "fr": "Logiciel libre de voix sur IP (VoIP)." }, "url": "https://mumble.info", "license": "BSD-3-Clause", From d9385b38a78c3dff26bf440c4f5e8caa2f9c0f60 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 19:31:21 +0100 Subject: [PATCH 06/30] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ecf128a..eb438dd 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Password and other usefull information will be sent to you after installation. * 2016: improved and maintained by [Moul](https://github.com/M5oul) * 2018: full rewrite and now maintained by [Jibec](https://github.com/Jibec) -**Shipped version:** 1.2.8 (source package provided by Debian) +**Shipped version:** 1.3.0 # State of this package From 7ba6701e8775ef6dbbb8b5733e108b2d23bc46e7 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 9 Nov 2020 19:37:07 +0100 Subject: [PATCH 07/30] Fix --- README.md | 4 ---- scripts/restore | 9 ++------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index eb438dd..0dda1be 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,6 @@ Password and other usefull information will be sent to you after installation. # State of this package -* works fine: - - * [x] install/remove/backup/remove/upgrade/multi-instance with x86_64 - * to be confirmed * [x] ARM support * [x] Improve systemd protection diff --git a/scripts/restore b/scripts/restore index 414c8c6..cadf1d0 100644 --- a/scripts/restore +++ b/scripts/restore @@ -6,12 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= -if [ ! -e _common.sh ]; then - # Get the _common.sh file if it's not in the current directory - cp ../settings/scripts/_common.sh ./_common.sh - chmod a+rx _common.sh -fi -source _common.sh +source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -51,7 +46,7 @@ ynh_restore_file "$final_path" #================================================= # Define and install dependencies -ynh_install_app_dependencies mumble-server mailutils +ynh_install_app_dependencies $pkg_dependencies #================================================= # RESTORE USER RIGHTS From 84ff5383b21829909b9af6904a42e65f9ff0cb3e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Thu, 19 Nov 2020 19:30:35 +0100 Subject: [PATCH 08/30] fix --- check_process | 10 ---------- scripts/_common.sh | 1 - scripts/backup | 1 - scripts/install | 19 +++++++++++-------- scripts/restore | 8 +++++++- scripts/upgrade | 28 ++++++++++++++++++---------- 6 files changed, 36 insertions(+), 31 deletions(-) diff --git a/check_process b/check_process index d0c50d7..efd1980 100644 --- a/check_process +++ b/check_process @@ -20,17 +20,7 @@ incorrect_path=0 port_already_use=0 ;;; Levels - Level 1=auto - Level 2=auto - Level 3=auto - # https://github.com/YunoHost-Apps/mumbleserver_ynh/issues/11 - Level 4=1 Level 5=auto - Level 6=auto - Level 7=auto - Level 8=0 - Level 9=0 - Level 10=0 ;;; Options Email=jean-baptiste@holcroft.fr Notification=all \ No newline at end of file diff --git a/scripts/_common.sh b/scripts/_common.sh index 7eda170..f37c864 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -80,4 +80,3 @@ $(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')" # Send the email to the recipients echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients" } - diff --git a/scripts/backup b/scripts/backup index 1f89b94..68b7974 100644 --- a/scripts/backup +++ b/scripts/backup @@ -13,7 +13,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -# Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= diff --git a/scripts/install b/scripts/install index b54b615..8bcb77e 100644 --- a/scripts/install +++ b/scripts/install @@ -35,6 +35,7 @@ su_passwd=$(ynh_string_random) #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= +ynh_script_progression --message="Validating installation parameters..." --weight=1 final_path=/var/www/$app test ! -e "$final_path" || ynh_die "This path already contains a folder" @@ -42,6 +43,7 @@ test ! -e "$final_path" || ynh_die "This path already contains a folder" #================================================= # STORE SETTINGS FROM MANIFEST #================================================= +ynh_script_progression --message="Storing installation settings..." --weight=2 # Save app settings ynh_app_setting_set --app=$app --key=domain --value="$domain" @@ -57,6 +59,7 @@ ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= # FIND AND OPEN A PORT #================================================= +ynh_script_progression --message="Configuring firewall..." --weight=1 port=$(ynh_find_port 64738) ynh_app_setting_set --app=$app --key=port --value=$port @@ -67,9 +70,9 @@ yunohost firewall allow Both "$port" #================================================= # INSTALL DEPENDENCIES #================================================= +ynh_script_progression --message="Installing dependencies..." --weight=4 # Install Mumble Debian package via apt - ynh_install_app_dependencies $pkg_dependencies #================================================= @@ -86,13 +89,13 @@ mumble_conf="$final_path/mumble-server.ini" cp ../conf/mumble-server.ini "$mumble_conf" -ynh_replace_string "__FINALPATH__" "$final_path" "$mumble_conf" -ynh_replace_string "__APP__" "$app" "$mumble_conf" -ynh_replace_string "__WELCOME__" "$welcometext" "$mumble_conf" -ynh_replace_string "__PORT__" "$port" "$mumble_conf" -ynh_replace_string "__SRV_PWD__" "$server_password" "$mumble_conf" -ynh_replace_string "__REGISTER__" "$registerName" "$mumble_conf" -ynh_replace_string "__DOMAIN__" "$domain" "$mumble_conf" +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" +ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" +ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" +ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" +ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" ynh_store_file_checksum "$mumble_conf" diff --git a/scripts/restore b/scripts/restore index cadf1d0..4059be9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -13,7 +13,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -# Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= @@ -84,3 +83,10 @@ ynh_restore_file "/etc/systemd/system/$app.service" systemctl enable "$app.service" systemctl restart "$app" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for $app" --last + diff --git a/scripts/upgrade b/scripts/upgrade index d269e51..07489dc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -5,13 +5,14 @@ #================================================= # IMPORT GENERIC HELPERS #================================================= + source _common.sh source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= - +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get "$app" domain) @@ -24,6 +25,12 @@ port=$(ynh_app_setting_get "$app" port) final_path=$(ynh_app_setting_get "$app" final_path) instance_id=$(ynh_app_setting_get "$app" instance_id) +#================================================= +# CHECK VERSION +#================================================= + +upgrade_type=$(ynh_check_app_version_changed) + #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= @@ -90,10 +97,10 @@ if [ -z "$instance_id" ]; then ynh_app_setting_set "$app" instance_id "$instance_id" fi - #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=5 # Backup the current version of the app ynh_backup_before_upgrade @@ -114,9 +121,10 @@ ynh_abort_if_errors #================================================= # INSTALL DEPENDENCIES #================================================= +ynh_script_progression --message="Upgrading dependencies..." --weight=6 # Install Mumble Debian package via apt -ynh_install_app_dependencies mumble-server mailutils +ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC UPGRADE @@ -133,13 +141,13 @@ ynh_backup_if_checksum_is_different "$mumble_conf" cp ../conf/mumble-server.ini "$mumble_conf" -ynh_replace_string "__FINALPATH__" "$final_path" "$mumble_conf" -ynh_replace_string "__APP__" "$app" "$mumble_conf" -ynh_replace_string "__WELCOME__" "$welcometext" "$mumble_conf" -ynh_replace_string "__PORT__" "$port" "$mumble_conf" -ynh_replace_string "__SRV_PWD__" "$server_password" "$mumble_conf" -ynh_replace_string "__REGISTER__" "$registerName" "$mumble_conf" -ynh_replace_string "__DOMAIN__" "$domain" "$mumble_conf" +ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" +ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" +ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" +ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" +ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" +ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" +ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" ynh_store_file_checksum "$mumble_conf" From 4fc6c6e6b0767702005c10979f0a9c6d54907d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 17 Dec 2020 21:37:30 +0100 Subject: [PATCH 09/30] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b0a556b..7bdab64 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Mumble server for YunoHost [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) -[![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=mumbleserver) +[![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) It installs the Debian package and configures it with given settings. @@ -17,7 +17,7 @@ Password and other usefull information will be sent to you after installation. * 2016: improved and maintained by [Moul](https://github.com/M5oul) * 2018: full rewrite and now maintained by [Jibec](https://github.com/Jibec) -**Shipped version:** 1.3.0 +**Shipped version:** 1.3.0 (source package provided by Debian) # State of this package From a1ae3118fc9a4648f8c6fa316be2845081ffbc6f Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 13:08:11 +0100 Subject: [PATCH 10/30] Fix --- conf/systemd.service | 4 ++-- scripts/install | 4 ++-- scripts/remove | 6 +++--- scripts/restore | 2 +- scripts/upgrade | 30 +++++++++++++++--------------- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/conf/systemd.service b/conf/systemd.service index 31275cd..c2bb296 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -4,8 +4,8 @@ Requires=network-online.target After=network.target [Service] -User=__APP__ -Group=__APP__ +User=mumble-server +Group=mumble-server Type=forking # https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory= RuntimeDirectory=mumble-server diff --git a/scripts/install b/scripts/install index 8bcb77e..dc546cb 100644 --- a/scripts/install +++ b/scripts/install @@ -113,7 +113,7 @@ ynh_add_systemd_config #================================================= chmod -R 770 "$final_path" -chown -R :$app "$final_path" +chown -R :mumble-server "$final_path" #================================================= # Add user to ssl-cert so it can read certificates @@ -134,7 +134,7 @@ murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true #================================================= systemctl stop $app -systemctl disable $app +systemctl disable $app --quiet #================================================= # INTEGRATE SERVICE IN YUNOHOST diff --git a/scripts/remove b/scripts/remove index 30e8f7c..ef0daad 100644 --- a/scripts/remove +++ b/scripts/remove @@ -15,9 +15,9 @@ source /usr/share/yunohost/helpers app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get "$app" domain) -port=$(ynh_app_setting_get "$app" port) -final_path=$(ynh_app_setting_get "$app" final_path) +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # STANDARD REMOVE diff --git a/scripts/restore b/scripts/restore index 4059be9..1baf0a0 100644 --- a/scripts/restore +++ b/scripts/restore @@ -80,7 +80,7 @@ yunohost service add "$app" -l "/var/log/mumble-server/$app.log" #================================================= ynh_restore_file "/etc/systemd/system/$app.service" -systemctl enable "$app.service" +systemctl enable "$app.service" --quiet systemctl restart "$app" diff --git a/scripts/upgrade b/scripts/upgrade index 07489dc..aba523a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -15,15 +15,15 @@ source /usr/share/yunohost/helpers ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get "$app" domain) -no_sso=$(ynh_app_setting_get "$app" no_sso) -server_password=$(ynh_app_setting_get "$app" server_password) -su_passwd=$(ynh_app_setting_get "$app" su_passwd) -welcometext=$(ynh_app_setting_get "$app" welcometext) -registerName=$(ynh_app_setting_get "$app" registerName) -port=$(ynh_app_setting_get "$app" port) -final_path=$(ynh_app_setting_get "$app" final_path) -instance_id=$(ynh_app_setting_get "$app" instance_id) +domain=$(ynh_app_setting_get --app=$app --key=domain) +no_sso=$(ynh_app_setting_get --app=$app --key=no_sso) +server_password=$(ynh_app_setting_get --app=$app --key=server_password) +su_passwd=$(ynh_app_setting_get --app=$app --key=su_passwd) +welcometext=$(ynh_app_setting_get --app=$app --key=welcometext) +registerName=$(ynh_app_setting_get --app=$app --key=registerName) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +instance_id=$(ynh_app_setting_get --app=$app --key=instance_id) #================================================= # CHECK VERSION @@ -65,11 +65,11 @@ if [ -z "$server_password" ]; then | head -1 \ | sed -r "s/.* (([a-z])*\.([a-z])*).*/\1/g") - ynh_app_setting_set "$app" server_password "$server_password" - ynh_app_setting_set "$app" welcometext "$welcometext" - ynh_app_setting_set "$app" registerName "$registerName" - ynh_app_setting_set "$app" su_passwd "$su_passwd" - ynh_app_setting_set "$app" domain "$domain" + ynh_app_setting_set --app=$app --key=server_password --value=$server_password + ynh_app_setting_set --app=$app --key=welcometext --value=$welcometext + ynh_app_setting_set --app=$app --key=registerName --value=$registerName + ynh_app_setting_set --app=$app --key=su_passwd --value=$su_passwd + ynh_app_setting_set --app=$app --key=domain --value=$domain systemctl stop mumble-server dpkg-reconfigure mumble-server --frontend=Noninteractive @@ -186,7 +186,7 @@ murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true #================================================= systemctl stop mumble-server -systemctl disable mumble-server +systemctl disable mumble-server --quiet #================================================= # ADVERTISE SERVICE IN ADMIN PANEL From a5ea0ad42851a9cb1a2e29d4bea193ef4564d0a1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 13:17:33 +0100 Subject: [PATCH 11/30] Fix linter warning --- manifest.json | 43 +++++++++++++++++++++++-------------------- scripts/restore | 4 ++-- scripts/upgrade | 4 ++-- 3 files changed, 27 insertions(+), 24 deletions(-) diff --git a/manifest.json b/manifest.json index cd2c274..dc1b023 100644 --- a/manifest.json +++ b/manifest.json @@ -6,6 +6,7 @@ "en": "Low-latency, high quality voice chat software (VoIP).", "fr": "Logiciel libre de voix sur IP (VoIP)." }, + "version": "1.2.8~ynh7", "url": "https://mumble.info", "license": "BSD-3-Clause", "maintainer": { @@ -13,39 +14,41 @@ "email": "jean-baptiste@holcroft.fr" }, "requirements": { - "yunohost": ">= 3.4.0" + "yunohost": ">= 3.8.1" }, - "version": "1.2.8~ynh7", "multi_instance": true, "services": [ ], "arguments": { "install" : [ { - "name": "domain", - "type": "domain", - "ask": { - "en": "Choose a domain (used to select the correct certificate)" + "name": "domain", + "type": "domain", + "ask": { + "en": "Choose a domain (used to select the correct certificate)", + "fr": "Choisissez un domaine (utilisé pour sélectionner le bon certificat)" }, "example": "domain.org" }, { - "name": "welcometext", - "ask": { - "en": "Choose a welcome text for your server", - "fr": "Choisissez un message de bienvenue pour le serveur" - }, - "example": "Welcome to my mumble server", - "default": "Welcome" + "name": "welcometext", + "type": "string", + "ask": { + "en": "Choose a welcome text for your server", + "fr": "Choisissez un message de bienvenue pour le serveur" + }, + "example": "Welcome to my Mumble server", + "default": "Welcome" }, { - "name": "registername", - "ask": { - "en": "Choose a name for the root channel (your mumble server name)", - "fr": "Entrez un nom pour le channel racine (le nom de votre serveur mumble)" - }, - "example": "Root", - "default": "Root" + "name": "registername", + "type": "string", + "ask": { + "en": "Choose a name for the root channel (your Mumble server name)", + "fr": "Entrez un nom pour le channel racine (le nom de votre serveur Mumble)" + }, + "example": "Root", + "default": "Root" } ] } diff --git a/scripts/restore b/scripts/restore index 1baf0a0..099e705 100644 --- a/scripts/restore +++ b/scripts/restore @@ -66,14 +66,14 @@ usermod --append --groups ssl-cert mumble-server #================================================= systemctl stop mumble-server -systemctl disable mumble-server +systemctl disable mumble-server --quiet #================================================= # ADVERTISE SERVICE IN ADMIN PANEL #================================================= # Add Mumble as a YunoHost service -yunohost service add "$app" -l "/var/log/mumble-server/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index aba523a..dc094e3 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -74,7 +74,7 @@ if [ -z "$server_password" ]; then systemctl stop mumble-server dpkg-reconfigure mumble-server --frontend=Noninteractive systemctl stop mumble-server - systemctl disable mumble-server + systemctl disable mumble-server --quiet fi # Fix SSO issue @@ -193,7 +193,7 @@ systemctl disable mumble-server --quiet #================================================= # Add Mumble as a YunoHost service -yunohost service add "$app" -l "/var/log/mumble-server/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" systemctl restart "$app" From df993bbf379c199db32c59c5c063ac32c8c2eaa8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 13:18:29 +0100 Subject: [PATCH 12/30] Update check_process --- check_process | 3 --- 1 file changed, 3 deletions(-) diff --git a/check_process b/check_process index efd1980..1a5b290 100644 --- a/check_process +++ b/check_process @@ -17,10 +17,7 @@ multi_instance=1 wrong_user=0 wrong_path=0 - incorrect_path=0 port_already_use=0 -;;; Levels - Level 5=auto ;;; Options Email=jean-baptiste@holcroft.fr Notification=all \ No newline at end of file From a49cfdc2b5478d7bfe4376050a5455c1d2f2d868 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 13:20:55 +0100 Subject: [PATCH 13/30] Update install --- scripts/install | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/install b/scripts/install index dc546cb..14435c0 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -usermod --append --groups ssl-cert $app +usermod --append --groups ssl-cert mumble-server #================================================= # Set SuperUser password @@ -133,8 +133,8 @@ murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true # Disable default server installed by Debian's package #================================================= -systemctl stop $app -systemctl disable $app --quiet +systemctl stop mumble-server +systemctl disable mumble-server --quiet #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -142,7 +142,7 @@ systemctl disable $app --quiet ynh_script_progression --message="Integrating service in YunoHost..." # Add Mumble as a YunoHost service -yunohost service add $app --description "Mumble server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" systemctl restart "$app" From d69f4453c193b8109869192a86e3447d1de3449c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 13:34:51 +0100 Subject: [PATCH 14/30] Fix linter warnings --- scripts/install | 4 ++-- scripts/remove | 23 +++++++++++++++++------ scripts/restore | 25 ++++++++++++++++++------- scripts/upgrade | 14 +++++++++++--- 4 files changed, 48 insertions(+), 18 deletions(-) diff --git a/scripts/install b/scripts/install index 14435c0..1c34bd7 100644 --- a/scripts/install +++ b/scripts/install @@ -73,7 +73,7 @@ yunohost firewall allow Both "$port" ynh_script_progression --message="Installing dependencies..." --weight=4 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC SETUP @@ -142,7 +142,7 @@ systemctl disable mumble-server --quiet ynh_script_progression --message="Integrating service in YunoHost..." # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port systemctl restart "$app" diff --git a/scripts/remove b/scripts/remove index ef0daad..1a65607 100644 --- a/scripts/remove +++ b/scripts/remove @@ -12,6 +12,7 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -25,15 +26,17 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) # REMOVE SERVICE FROM ADMIN PANEL #================================================= -if yunohost service status | grep -q "$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 then - echo "Remove $app service" - yunohost service remove "$app" + ynh_script_progression --message="Removing $app service integration..." --weight=1 + yunohost service remove $app fi #================================================= # STOP AND REMOVE SERVICE #================================================= +ynh_script_progression --message="Stopping and removing the systemd service..." --weight=2 # Remove the dedicated systemd config ynh_remove_systemd_config @@ -41,6 +44,7 @@ ynh_remove_systemd_config #================================================= # REMOVE DEPENDENCIES #================================================= +ynh_script_progression --message="Removing dependencies..." --weight=1 # Remove metapackage and its dependencies ynh_remove_app_dependencies @@ -48,9 +52,10 @@ ynh_remove_app_dependencies #================================================= # REMOVE APP MAIN DIR #================================================= +ynh_script_progression --message="Removing app main directory..." --weight=2 # Remove the app directory securely -ynh_secure_remove "$final_path" +ynh_secure_remove --file="$final_path" #================================================= # CLOSE A PORT @@ -58,8 +63,8 @@ ynh_secure_remove "$final_path" if yunohost firewall list | grep -q "\- $port$" then - echo "Close port $port" - yunohost firewall disallow Both "$port" > /dev/null 2>&1 + ynh_script_progression --message="Close port $port" --weight=1 + ynh_exec_warn_less yunohost firewall disallow Both $port fi #================================================= @@ -69,3 +74,9 @@ fi #================================================= ynh_secure_remove "/var/log/mumble-server/$app.log" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore index 099e705..6aeb760 100644 --- a/scripts/restore +++ b/scripts/restore @@ -18,14 +18,17 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME -final_path=$(ynh_app_setting_get "$app" final_path) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +port=$(ynh_app_setting_get --app=$app --key=port) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= +ynh_script_progression --message="Validating restoration parameters..." --weight=1 test ! -d "$final_path" \ || ynh_die "There is already a directory: $final_path " @@ -35,14 +38,16 @@ test ! -d "$final_path" \ #================================================= # RESTORE THE APP MAIN DIR #================================================= +ynh_script_progression --message="Restoring the app main directory..." --weight=2 -ynh_restore_file "$final_path" +ynh_restore_file --origin_path="$final_path" #================================================= # SPECIFIC RESTORATION #================================================= # REINSTALL DEPENDENCIES #================================================= +ynh_script_progression --message="Reinstalling dependencies..." --weight=4 # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies @@ -71,22 +76,28 @@ systemctl disable mumble-server --quiet #================================================= # ADVERTISE SERVICE IN ADMIN PANEL #================================================= +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port #================================================= # RESTORE SYSTEMD #================================================= +ynh_script_progression --message="Restoring the systemd configuration..." --weight=1 -ynh_restore_file "/etc/systemd/system/$app.service" -systemctl enable "$app.service" --quiet +ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +systemctl enable $app.service --quiet -systemctl restart "$app" +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --weight=3 + +ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" #================================================= # END OF SCRIPT #================================================= ynh_script_progression --message="Restoration completed for $app" --last - diff --git a/scripts/upgrade b/scripts/upgrade index dc094e3..8f939a2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -13,6 +13,7 @@ source /usr/share/yunohost/helpers # LOAD SETTINGS #================================================= ynh_script_progression --message="Loading installation settings..." --weight=1 + app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) @@ -34,6 +35,7 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 # If final_path doesn't exist, create it if [ -z "$final_path" ]; then @@ -124,7 +126,7 @@ ynh_abort_if_errors ynh_script_progression --message="Upgrading dependencies..." --weight=6 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC UPGRADE @@ -154,6 +156,7 @@ ynh_store_file_checksum "$mumble_conf" #================================================= # SETUP SYSTEMD #================================================= +ynh_script_progression --message="Upgrading systemd configuration..." --weight=2 # Create a dedicated systemd config ynh_add_systemd_config @@ -193,9 +196,14 @@ systemctl disable mumble-server --quiet #================================================= # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port -systemctl restart "$app" +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --weight=3 + +ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" #================================================= # SEND README TO ADMIN From 6a9348b7a62e3112318ce17844b142ab8b820dc4 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 14:01:09 +0100 Subject: [PATCH 15/30] Fix --- scripts/install | 4 ++-- scripts/restore | 2 +- scripts/upgrade | 10 ++-------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/scripts/install b/scripts/install index 1c34bd7..5d2ef93 100644 --- a/scripts/install +++ b/scripts/install @@ -73,7 +73,7 @@ yunohost firewall allow Both "$port" ynh_script_progression --message="Installing dependencies..." --weight=4 # Install Mumble Debian package via apt -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC SETUP @@ -119,7 +119,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -usermod --append --groups ssl-cert mumble-server +ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server #================================================= # Set SuperUser password diff --git a/scripts/restore b/scripts/restore index 6aeb760..339b6c4 100644 --- a/scripts/restore +++ b/scripts/restore @@ -64,7 +64,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -usermod --append --groups ssl-cert mumble-server +ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server #================================================= # Disable default server installed by Debian's package diff --git a/scripts/upgrade b/scripts/upgrade index 8f939a2..d4b95c5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -114,19 +114,13 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# STANDARD UPGRADE STEPS -#================================================= - -# source and user are provided by debian's package, no web interface - #================================================= # INSTALL DEPENDENCIES #================================================= ynh_script_progression --message="Upgrading dependencies..." --weight=6 # Install Mumble Debian package via apt -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC UPGRADE @@ -174,7 +168,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -usermod --append --groups ssl-cert mumble-server +ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server #================================================= # Set SuperUser password From 8dde74fe0a8ccde911a6419630f33f8b1c74054c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 14:05:00 +0100 Subject: [PATCH 16/30] Fix --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index 5d2ef93..b5f4029 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server +usermod --append --groups ssl-cert mumble-server #================================================= # Set SuperUser password diff --git a/scripts/restore b/scripts/restore index 339b6c4..6aeb760 100644 --- a/scripts/restore +++ b/scripts/restore @@ -64,7 +64,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server +usermod --append --groups ssl-cert mumble-server #================================================= # Disable default server installed by Debian's package diff --git a/scripts/upgrade b/scripts/upgrade index d4b95c5..a045d9c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -168,7 +168,7 @@ chown -R :mumble-server "$final_path" # Add user to ssl-cert so it can read certificates #================================================= -ynh_exec_warn_less usermod --append --groups ssl-cert mumble-server +usermod --append --groups ssl-cert mumble-server #================================================= # Set SuperUser password From 0777618ff2001e0e7fe10769cae3631b54cad1ac Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 15:08:56 +0100 Subject: [PATCH 17/30] Add README_fr --- README.md | 57 ++++++++++++++++++++++++++++-------------- README_fr.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ check_process | 10 +++++--- manifest.json | 8 ++++-- 4 files changed, 119 insertions(+), 25 deletions(-) create mode 100644 README_fr.md diff --git a/README.md b/README.md index 7bdab64..abc1aed 100644 --- a/README.md +++ b/README.md @@ -3,36 +3,56 @@ [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) [![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) -It installs the Debian package and configures it with given settings. +*[Lire ce readme en français.](./README_fr.md)* -Password and other usefull information will be sent to you after installation. +> *This package allows you to install Mumble server quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* -#### Setup - -- [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) - -#### Maintainers & history - -* 2014: Package creation was maid by [matlink]](https://github.com/Matlink) -* 2016: improved and maintained by [Moul](https://github.com/M5oul) -* 2018: full rewrite and now maintained by [Jibec](https://github.com/Jibec) +## Overview +Mumble is a free, open source, low latency, high quality voice chat application. Mumble was the first VoIP application to establish true low latency voice communication over a decade ago. But low latency and gaming are not the only use cases it shines in. **Shipped version:** 1.3.0 (source package provided by Debian) -# State of this package +## Screenshots -* to be confirmed - * [x] ARM support - * [x] Improve systemd protection +![](https://www.mumble.info/client-screenshots/connected.png) -* to be added: - * [ ] Improve log file and add logrotate +#### Setup + +It installs the Debian package and configures it with given settings. Password and other usefull information will be sent to you after installation. + +- [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) + +## Documentation + + * Official documentation: https://wiki.mumble.info/wiki/Main_Page + * YunoHost documentation: If specific documentation is needed, feel free to contribute. + +## YunoHost specific features + +#### Multi-user support + + * Are LDAP and HTTP auth supported? **No** + * Can the app be used by multiple users? + +#### Supported architectures + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) + +## Limitations + +* Any known limitations. + +## Additional information + +* Other info you would like to add about this app. ## Links * Report a bug about this package: https://github.com/YunoHost-Apps/mumbleserver_ynh - * Report a bug about Mumble itself: https://github.com/mumble-voip/mumble * Mumble website: https://mumble.info + * Report a bug about Mumble itself: https://github.com/mumble-voip/mumble * YunoHost website: https://yunohost.org --- @@ -47,4 +67,3 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree or sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug ``` - diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..81ea6a8 --- /dev/null +++ b/README_fr.md @@ -0,0 +1,69 @@ +# Mumble server pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) +[![Installer avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer Mumble server rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* + +## Vue d'ensemble +Mumble est une application de chat vocal gratuite, open source, à faible latence et de haute qualité. Mumble a été la première application VoIP à établir une véritable communication vocale à faible latence il y a plus de dix ans. Mais la faible latence et le jeu ne sont pas les seuls cas d'utilisation dans lesquels il brille. + +**Version incluse :** 1.3.0 (paquet source fourni par Debian) + +## Captures d'écran + +![](https://www.mumble.info/client-screenshots/connected.png) + +## Configuration + +Il installe le paquet Debian et le configure avec les paramètres donnés. Le mot de passe et d'autres informations utiles vous seront envoyés après l'installation. + +- [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) + +## Documentation + + * Documentation officielle : https://wiki.mumble.info/wiki/Main_Page + * Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. + +## Caractéristiques spécifiques YunoHost + +#### Support multi-utilisateur + +* L'authentification LDAP et HTTP est-elle prise en charge ? **Non** +* L'application peut-elle être utilisée par plusieurs utilisateurs ? + +#### Architectures supportées + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) + +## Limitations + +* Limitations connues. + +## Informations additionnelles + +* Autres informations que vous souhaitez ajouter sur cette application. + +## Liens + + * Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh + * Site de l'application : https://mumble.info + * Dépôt de l'application principale : https://github.com/mumble-voip/mumble + * Site web YunoHost : https://yunohost.org + + --- + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug +ou +sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug +``` diff --git a/check_process b/check_process index 1a5b290..c9ec543 100644 --- a/check_process +++ b/check_process @@ -2,7 +2,7 @@ auto_remove=1 ; Manifest domain="domain.tld" (DOMAIN) - welcometext="Welcome to my mumble server" + welcometext="Welcome to my Mumble server" registername="Root" ; Checks pkg_linter=1 @@ -12,12 +12,14 @@ setup_private=0 setup_public=0 upgrade=1 - # latest published in community.json backup_restore=1 multi_instance=1 wrong_user=0 wrong_path=0 port_already_use=0 ;;; Options -Email=jean-baptiste@holcroft.fr -Notification=all \ No newline at end of file +Email= +Notification=none +;;; Upgrade options + ; commit=CommitHash + name=Name and date of the commit. diff --git a/manifest.json b/manifest.json index dc1b023..bc23f41 100644 --- a/manifest.json +++ b/manifest.json @@ -6,13 +6,17 @@ "en": "Low-latency, high quality voice chat software (VoIP).", "fr": "Logiciel libre de voix sur IP (VoIP)." }, - "version": "1.2.8~ynh7", + "version": "1.3.0~ynh1", "url": "https://mumble.info", "license": "BSD-3-Clause", "maintainer": { + "name": "", + "email": "" + }, + "previous_maintainers": [{ "name": "Jean-Baptiste Holcroft", "email": "jean-baptiste@holcroft.fr" - }, + }], "requirements": { "yunohost": ">= 3.8.1" }, From d8c4f515b201e0939f10108d54356f29d8c74954 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 15:14:32 +0100 Subject: [PATCH 18/30] Small typos --- README.md | 2 +- README_fr.md | 2 +- conf/systemd.service | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index abc1aed..3c6f3ec 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Mumble is a free, open source, low latency, high quality voice chat application. #### Setup -It installs the Debian package and configures it with given settings. Password and other usefull information will be sent to you after installation. +This package installs the Debian package and configures it with given settings. Password and other usefull information will be sent to you after installation. - [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/README_fr.md b/README_fr.md index 81ea6a8..cfe8323 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Mumble est une application de chat vocal gratuite, open source, à faible latenc ## Configuration -Il installe le paquet Debian et le configure avec les paramètres donnés. Le mot de passe et d'autres informations utiles vous seront envoyés après l'installation. +mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres donnés. Le mot de passe et d'autres informations utiles sont envoyés après l'installation. - [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/conf/systemd.service b/conf/systemd.service index c2bb296..ecce853 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,5 +1,5 @@ [Unit] -Description=Mumble Server (Murmur, app __APP__) +Description=Mumble Server: voice chat application Requires=network-online.target After=network.target From a09b46ee7be7fbd3d4646fb5dd522e45c9e38077 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 4 Jan 2021 16:07:55 +0100 Subject: [PATCH 19/30] Update install --- scripts/install | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index b5f4029..6201b00 100644 --- a/scripts/install +++ b/scripts/install @@ -144,7 +144,12 @@ ynh_script_progression --message="Integrating service in YunoHost..." # Add Mumble as a YunoHost service yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port -systemctl restart "$app" +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --weight=3 + +ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" #================================================= # SEND README TO ADMIN From 8cc1cb5b87fa4e293003eced4a62cc76b3b09356 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 11:27:53 +0100 Subject: [PATCH 20/30] Update manifest.json --- manifest.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/manifest.json b/manifest.json index bc23f41..b804b8e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Low-latency, high quality voice chat software (VoIP).", "fr": "Logiciel libre de voix sur IP (VoIP)." }, - "version": "1.3.0~ynh1", + "version": "1.3.0~ynh2", "url": "https://mumble.info", "license": "BSD-3-Clause", "maintainer": { @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ @@ -28,10 +28,6 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain (used to select the correct certificate)", - "fr": "Choisissez un domaine (utilisé pour sélectionner le bon certificat)" - }, "example": "domain.org" }, { From 0d2025838c93a4cb9dfd4a022a3fa7dbd349236c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 08:21:46 +0200 Subject: [PATCH 21/30] Cleaning up --- README.md | 4 ++-- README_fr.md | 4 ++-- conf/mumble-server.ini | 6 +++--- manifest.json | 6 +----- scripts/install | 21 ++++++--------------- scripts/remove | 2 +- scripts/upgrade | 14 +------------- 7 files changed, 16 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 3c6f3ec..6d480c1 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,8 @@ This package installs the Debian package and configures it with given settings. #### Supported architectures -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) ## Limitations diff --git a/README_fr.md b/README_fr.md index cfe8323..95535a8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -37,8 +37,8 @@ mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres #### Architectures supportées -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) ## Limitations diff --git a/conf/mumble-server.ini b/conf/mumble-server.ini index 7111565..8778834 100644 --- a/conf/mumble-server.ini +++ b/conf/mumble-server.ini @@ -85,7 +85,7 @@ pidfile=/var/run/mumble-server/__APP__.pid # configure it here than through D-Bus or Ice. # # Welcome message sent to clients when they connect. -welcometext="__WELCOME__" +welcometext="__WELCOMETEXT__" # Port to bind TCP and UDP sockets to. port=__PORT__ @@ -95,7 +95,7 @@ port=__PORT__ #host= # Password to join server. -serverpassword=__SRV_PWD__ +serverpassword=__SERVER_PASSWORD__ # Maximum bandwidth (in bits per second) clients are allowed # to send speech at. @@ -143,7 +143,7 @@ users=100 # addresses. # Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name. # -registerName=__REGISTER__ +registerName=__REGISTERNAME__ #registerPassword=secret #registerUrl=http://mumble.sourceforge.net/ #registerHostname= diff --git a/manifest.json b/manifest.json index bc23f41..a25cf83 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ @@ -28,10 +28,6 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain (used to select the correct certificate)", - "fr": "Choisissez un domaine (utilisé pour sélectionner le bon certificat)" - }, "example": "domain.org" }, { diff --git a/scripts/install b/scripts/install index 6201b00..55a8247 100644 --- a/scripts/install +++ b/scripts/install @@ -59,13 +59,14 @@ ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_script_progression --message="Finding an available port..." --weight=1 -port=$(ynh_find_port 64738) +port=$(ynh_find_port --port=64738) ynh_app_setting_set --app=$app --key=port --value=$port -# Open port in firewall -yunohost firewall allow Both "$port" +# Open the port +ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_exec_warn_less yunohost firewall allow Both TCP $port #================================================= # INSTALL DEPENDENCIES @@ -87,17 +88,7 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Configuring with given settings mumble_conf="$final_path/mumble-server.ini" -cp ../conf/mumble-server.ini "$mumble_conf" - -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" -ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" -ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" -ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" - -ynh_store_file_checksum "$mumble_conf" +ynh_add_config --template="../conf/mumble-server.ini" --destination="$mumble_conf" #================================================= # SETUP SYSTEMD diff --git a/scripts/remove b/scripts/remove index 1a65607..5ea2a88 100644 --- a/scripts/remove +++ b/scripts/remove @@ -26,7 +26,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) # REMOVE SERVICE FROM ADMIN PANEL #================================================= -# Remove the service from the list of services known by Yunohost (added from `yunohost service add`) +# 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 then ynh_script_progression --message="Removing $app service integration..." --weight=1 diff --git a/scripts/upgrade b/scripts/upgrade index a045d9c..eec3247 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -133,19 +133,7 @@ mkdir -p $final_path # Configuring with given settings mumble_conf="$final_path/mumble-server.ini" -ynh_backup_if_checksum_is_different "$mumble_conf" - -cp ../conf/mumble-server.ini "$mumble_conf" - -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" -ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" -ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" -ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" - -ynh_store_file_checksum "$mumble_conf" +ynh_add_config --template="../conf/mumble-server.ini" --destination="$mumble_conf" #================================================= # SETUP SYSTEMD From bec71c4265a03e44c53c0702e59b2e78b20afd7d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 18:58:33 +0200 Subject: [PATCH 22/30] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 55a8247..2f66ae1 100644 --- a/scripts/install +++ b/scripts/install @@ -66,7 +66,7 @@ ynh_app_setting_set --app=$app --key=port --value=$port # Open the port ynh_script_progression --message="Configuring firewall..." --weight=1 -ynh_exec_warn_less yunohost firewall allow Both TCP $port +ynh_exec_warn_less yunohost firewall allow Both $port #================================================= # INSTALL DEPENDENCIES From 8499925c15fac80f48f971470e20fe3569f4b21a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:07:09 +0200 Subject: [PATCH 23/30] Fix name --- scripts/install | 4 ++-- scripts/upgrade | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index 2f66ae1..b2c343e 100644 --- a/scripts/install +++ b/scripts/install @@ -26,7 +26,7 @@ ynh_abort_if_errors domain=$YNH_APP_ARG_DOMAIN app=$YNH_APP_INSTANCE_NAME welcometext=$YNH_APP_ARG_WELCOMETEXT -registerName=$YNH_APP_ARG_REGISTERNAME +registername=$YNH_APP_ARG_REGISTERNAME instance_id=$YNH_APP_INSTANCE_NUMBER server_password=$(ynh_string_random) @@ -51,7 +51,7 @@ ynh_app_setting_set --app=$app --key=no_sso --value="true" ynh_app_setting_set --app=$app --key=server_password --value="$server_password" ynh_app_setting_set --app=$app --key=su_passwd --value="$su_passwd" ynh_app_setting_set --app=$app --key=welcometext --value="$welcometext" -ynh_app_setting_set --app=$app --key=registerName --value="$registerName" +ynh_app_setting_set --app=$app --key=registerName --value="$registername" ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index eec3247..67de972 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,7 +21,7 @@ no_sso=$(ynh_app_setting_get --app=$app --key=no_sso) server_password=$(ynh_app_setting_get --app=$app --key=server_password) su_passwd=$(ynh_app_setting_get --app=$app --key=su_passwd) welcometext=$(ynh_app_setting_get --app=$app --key=welcometext) -registerName=$(ynh_app_setting_get --app=$app --key=registerName) +registername=$(ynh_app_setting_get --app=$app --key=registername) port=$(ynh_app_setting_get --app=$app --key=port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) instance_id=$(ynh_app_setting_get --app=$app --key=instance_id) @@ -55,9 +55,9 @@ if [ -z "$server_password" ]; then | grep "welcometext=" \ | sed "s/welcometext=//") - registerName=$(cat "$old_mumble_conf" \ + registername=$(cat "$old_mumble_conf" \ | grep "registerName=" \ - | sed "s/registerName=//") + | sed "s/registername=//") # we don't know what the previous password was, let's regenerate it su_passwd=$(ynh_string_random) @@ -69,7 +69,7 @@ if [ -z "$server_password" ]; then ynh_app_setting_set --app=$app --key=server_password --value=$server_password ynh_app_setting_set --app=$app --key=welcometext --value=$welcometext - ynh_app_setting_set --app=$app --key=registerName --value=$registerName + ynh_app_setting_set --app=$app --key=registerName --value=$registername ynh_app_setting_set --app=$app --key=su_passwd --value=$su_passwd ynh_app_setting_set --app=$app --key=domain --value=$domain From 3e5a5fa48b8e3bb44e1b4edf13366dec1dbad2f1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:11:25 +0200 Subject: [PATCH 24/30] Fix --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index b2c343e..a0d6ab4 100644 --- a/scripts/install +++ b/scripts/install @@ -151,7 +151,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registerName +Root channel (your mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf diff --git a/scripts/upgrade b/scripts/upgrade index 67de972..e9c999f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -198,7 +198,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registerName +Root channel (your mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf From 562f49ae0a44f8b52d03d39ee4913d9aebe49232 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:16:12 +0200 Subject: [PATCH 25/30] Fix --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index a0d6ab4..3f7c8b9 100644 --- a/scripts/install +++ b/scripts/install @@ -74,7 +74,7 @@ ynh_exec_warn_less yunohost firewall allow Both $port ynh_script_progression --message="Installing dependencies..." --weight=4 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC SETUP diff --git a/scripts/upgrade b/scripts/upgrade index e9c999f..e30e721 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -120,7 +120,7 @@ ynh_abort_if_errors ynh_script_progression --message="Upgrading dependencies..." --weight=6 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC UPGRADE From 2c99d32d63fcb247e19542af75c1b61cfb89c503 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:24:28 +0200 Subject: [PATCH 26/30] Update check_process --- check_process | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/check_process b/check_process index c9ec543..732c103 100644 --- a/check_process +++ b/check_process @@ -12,6 +12,7 @@ setup_private=0 setup_public=0 upgrade=1 + upgrade=1 from_commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 backup_restore=1 multi_instance=1 wrong_user=0 @@ -21,5 +22,5 @@ Email= Notification=none ;;; Upgrade options - ; commit=CommitHash - name=Name and date of the commit. + ; commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 + name=Merge pull request #40 from YunoHost-Apps/testing From 89ccef579c755bfb62e4a24245addc8fdc1e1d8e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 24 Apr 2021 23:57:50 +0200 Subject: [PATCH 27/30] Fix links --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6d480c1..2914f42 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Mumble server quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* +If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview Mumble is a free, open source, low latency, high quality voice chat application. Mumble was the first VoIP application to establish true low latency voice communication over a decade ago. But low latency and gaming are not the only use cases it shines in. diff --git a/README_fr.md b/README_fr.md index 95535a8..126c1dc 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,7 +6,7 @@ *[Read this readme in english.](./README.md)* > *Ce package vous permet d'installer Mumble server rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* ## Vue d'ensemble Mumble est une application de chat vocal gratuite, open source, à faible latence et de haute qualité. Mumble a été la première application VoIP à établir une véritable communication vocale à faible latence il y a plus de dix ans. Mais la faible latence et le jeu ne sont pas les seuls cas d'utilisation dans lesquels il brille. From c45e9319e27dee070656119903d0b8371587e0e8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:34:37 +0200 Subject: [PATCH 28/30] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ check_process | 2 +- manifest.json | 2 +- 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/check_process b/check_process index 732c103..648b133 100644 --- a/check_process +++ b/check_process @@ -1,7 +1,7 @@ ;; Test complet auto_remove=1 ; Manifest - domain="domain.tld" (DOMAIN) + domain="domain.tld" welcometext="Welcome to my Mumble server" registername="Root" ; Checks diff --git a/manifest.json b/manifest.json index b804b8e..d59f3cd 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": true, "services": [ From a31bdfa6d1213a6905f156346c8744a6f1a4a14f Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 4 Jun 2021 18:19:45 +0200 Subject: [PATCH 29/30] Add templates --- check_process | 3 --- doc/DISCLAIMER.md | 5 +++++ doc/DISCLAIMER_fr.md | 5 +++++ doc/screenshots/connected.png | Bin 0 -> 27650 bytes manifest.json | 6 ++++++ 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/connected.png diff --git a/check_process b/check_process index 648b133..74ecf86 100644 --- a/check_process +++ b/check_process @@ -15,9 +15,6 @@ upgrade=1 from_commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 backup_restore=1 multi_instance=1 - wrong_user=0 - wrong_path=0 - port_already_use=0 ;;; Options Email= Notification=none diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..74f5325 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,5 @@ +#### Setup + +This package installs the Debian package and configures it with given settings. Password and other usefull information will be sent to you after installation. + +- [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..1e82870 --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,5 @@ +## Configuration + +mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres donnés. Le mot de passe et d'autres informations utiles sont envoyés après l'installation. + +- [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/doc/screenshots/connected.png b/doc/screenshots/connected.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc9c78ad46eeee4cfae1b7a64c3b52a4952a1a2 GIT binary patch literal 27650 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 Date: Fri, 4 Jun 2021 16:19:52 +0000 Subject: [PATCH 30/30] Auto-update README --- README.md | 64 ++++++++++++++++++++-------------------------------- README_fr.md | 62 ++++++++++++++++++-------------------------------- 2 files changed, 47 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 2914f42..24e1749 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,31 @@ -# Mumble server for YunoHost + + +# Mumble Server for YunoHost [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) -[![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) +[![Install Mumble Server with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Mumble server quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* +> *This package allows you to install Mumble Server quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Mumble is a free, open source, low latency, high quality voice chat application. Mumble was the first VoIP application to establish true low latency voice communication over a decade ago. But low latency and gaming are not the only use cases it shines in. -**Shipped version:** 1.3.0 (source package provided by Debian) +Low-latency, high quality voice chat software (VoIP). + +**Shipped version:** 1.3.0~ynh2 + + ## Screenshots -![](https://www.mumble.info/client-screenshots/connected.png) +![](./doc/screenshots/connected.png) + +## Disclaimers / important information #### Setup @@ -23,39 +33,13 @@ This package installs the Debian package and configures it with given settings. - [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) -## Documentation +## Documentation and resources - * Official documentation: https://wiki.mumble.info/wiki/Main_Page - * YunoHost documentation: If specific documentation is needed, feel free to contribute. - -## YunoHost specific features - -#### Multi-user support - - * Are LDAP and HTTP auth supported? **No** - * Can the app be used by multiple users? - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) - -## Limitations - -* Any known limitations. - -## Additional information - -* Other info you would like to add about this app. - -## Links - - * Report a bug about this package: https://github.com/YunoHost-Apps/mumbleserver_ynh - * Mumble website: https://mumble.info - * Report a bug about Mumble itself: https://github.com/mumble-voip/mumble - * YunoHost website: https://yunohost.org - - --- +* Official app website: https://mumble.info +* Official admin documentation: https://wiki.mumble.info/wiki/Main_Page +* Upstream app code repository: https://github.com/mumble-voip/mumble +* YunoHost documentation for this app: https://yunohost.org/app_mumbleserver +* Report a bug: https://github.com/YunoHost-Apps/mumbleserver_ynh/issues ## Developer info @@ -67,3 +51,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree or sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 126c1dc..df3422d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,21 +1,27 @@ -# Mumble server pour YunoHost +# Mumble Server pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) -[![Installer avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) +[![Installer Mumble Server avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Mumble server rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer Mumble Server rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble -Mumble est une application de chat vocal gratuite, open source, à faible latence et de haute qualité. Mumble a été la première application VoIP à établir une véritable communication vocale à faible latence il y a plus de dix ans. Mais la faible latence et le jeu ne sont pas les seuls cas d'utilisation dans lesquels il brille. -**Version incluse :** 1.3.0 (paquet source fourni par Debian) +Logiciel libre de voix sur IP (VoIP). + +**Version incluse :** 1.3.0~ynh2 + + ## Captures d'écran -![](https://www.mumble.info/client-screenshots/connected.png) +![](./doc/screenshots/connected.png) + +## Avertissements / informations importantes ## Configuration @@ -23,39 +29,13 @@ mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres - [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) -## Documentation +## Documentations et ressources - * Documentation officielle : https://wiki.mumble.info/wiki/Main_Page - * Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -* L'authentification LDAP et HTTP est-elle prise en charge ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) - -## Limitations - -* Limitations connues. - -## Informations additionnelles - -* Autres informations que vous souhaitez ajouter sur cette application. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh - * Site de l'application : https://mumble.info - * Dépôt de l'application principale : https://github.com/mumble-voip/mumble - * Site web YunoHost : https://yunohost.org - - --- +* Site officiel de l'app : https://mumble.info +* Documentation officielle de l'admin : https://wiki.mumble.info/wiki/Main_Page +* Dépôt de code officiel de l'app : https://github.com/mumble-voip/mumble +* Documentation YunoHost pour cette app : https://yunohost.org/app_mumbleserver +* Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh/issues ## Informations pour les développeurs @@ -67,3 +47,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree ou sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file