From ec1dfe7e9741b78ef9ee824548418f5a01cabf51 Mon Sep 17 00:00:00 2001 From: eric_G <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 26 May 2024 20:59:49 +0200 Subject: [PATCH] =?UTF-8?q?Gal=C3=A8ne=200.9=20(#133)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix * Update groupname.json * Update manifest.toml * Auto-update READMEs * use core helper * Auto-update READMEs * Update manifest.toml * Auto-update READMEs * Update tests.toml --------- Co-authored-by: yunohost-bot --- ALL_README.md | 1 + README.md | 2 +- README_es.md | 63 ++++++++++++ README_eu.md | 2 +- README_fr.md | 2 +- README_gl.md | 2 +- README_zh_Hans.md | 2 +- conf/config.json | 13 ++- conf/groupname.json | 10 +- manifest.toml | 8 +- scripts/_common.sh | 238 -------------------------------------------- tests.toml | 2 +- 12 files changed, 87 insertions(+), 258 deletions(-) create mode 100644 README_es.md diff --git a/ALL_README.md b/ALL_README.md index a01b345..152f2e7 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -1,6 +1,7 @@ # All available README files by language - [Read the README in English](README.md) +- [Lea el README en español](README_es.md) - [Irakurri README euskaraz](README_eu.md) - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) diff --git a/README.md b/README.md index c931b48..e061aac 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Galène is a videoconference server (an “SFU”) that is easy to deploy and th - Command-line client for Galene file transfer -**Shipped version:** 0.8.2~ynh1 +**Shipped version:** 0.9~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md new file mode 100644 index 0000000..128a049 --- /dev/null +++ b/README_es.md @@ -0,0 +1,63 @@ + + +# Galène para Yunohost + +[![Nivel de integración](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/galene.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/galene.maintain.svg) + +[![Instalar Galène con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) + +*[Leer este README en otros idiomas.](./ALL_README.md)* + +> *Este paquete le permite instalarGalène rapidamente y simplement en un servidor YunoHost.* +> *Si no tiene YunoHost, visita [the guide](https://yunohost.org/install) para aprender como instalarla.* + +## Descripción general + +Galène is a videoconference server (an “SFU”) that is easy to deploy and that requires moderate server resources. It was originally designed for lectures and conferences (where a single speaker streams audio and video to hundreds or thousands of users), but later evolved to be useful for student practicals (where users are divided into many small groups), and meetings (where a dozen users interact with each other). + +### Client features: + +- multiparty audio and video +- text chat +- reasonably good support for mobile (Android and iPhone/iPad) +- screen and window sharing, including sharing multiple windows simultaneously (not on mobile) +- streaming video and audio from disk +- activity detection +- LDAP support +- invite user +- Command-line client for Galene file transfer + + +**Versión actual:** 0.9~ynh1 + +**Demo:** + +## Capturas + +![Captura de Galène](./doc/screenshots/screenshot.png) + +## Documentaciones y recursos + +- Sitio web oficial: +- Documentación usuario oficial: +- Documentación administrador oficial: +- Repositorio del código fuente oficial de la aplicación : +- Catálogo YunoHost: +- Reportar un error: + +## Información para desarrolladores + +Por favor enviar sus correcciones a la [`branch testing`](https://github.com/YunoHost-Apps/galene_ynh/tree/testing + +Para probar la rama `testing`, sigue asÍ: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug +o +sudo yunohost app upgrade galene -u https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug +``` + +**Mas informaciones sobre el empaquetado de aplicaciones:** diff --git a/README_eu.md b/README_eu.md index 66850bc..489efaf 100644 --- a/README_eu.md +++ b/README_eu.md @@ -31,7 +31,7 @@ Galène is a videoconference server (an “SFU”) that is easy to deploy and th - Command-line client for Galene file transfer -**Paketatutako bertsioa:** 0.8.2~ynh1 +**Paketatutako bertsioa:** 0.9~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 2a7ede9..5ae2e25 100644 --- a/README_fr.md +++ b/README_fr.md @@ -31,7 +31,7 @@ Galène est un serveur de visioconférence (un « SFU ») facile à déployer et - Client en ligne de commande pour le transfert de fichiers Galene -**Version incluse :** 0.8.2~ynh1 +**Version incluse :** 0.9~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index dd5c59c..de8c639 100644 --- a/README_gl.md +++ b/README_gl.md @@ -31,7 +31,7 @@ Galène is a videoconference server (an “SFU”) that is easy to deploy and th - Command-line client for Galene file transfer -**Versión proporcionada:** 0.8.2~ynh1 +**Versión proporcionada:** 0.9~ynh1 **Demo:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 57b4083..7ce2cb5 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -31,7 +31,7 @@ Galène is a videoconference server (an “SFU”) that is easy to deploy and th - Command-line client for Galene file transfer -**分发版本:** 0.8.2~ynh1 +**分发版本:** 0.9~ynh1 **演示:** diff --git a/conf/config.json b/conf/config.json index cde86a9..b938482 100644 --- a/conf/config.json +++ b/conf/config.json @@ -1,5 +1,10 @@ { - "canonicalHost": "__DOMAIN__", - "proxyURL": "https://__DOMAIN__", - "admin":[{"username":"__ADMIN__", "password": __PASSWORD_HASH__}] -} + "canonicalHost": "__DOMAIN__", + "proxyURL": "https://__DOMAIN__", + "users": { + "__ADMIN__": { + "permissions": "admin", + "password": "__PASSWORD_HASH__" + } + } +} \ No newline at end of file diff --git a/conf/groupname.json b/conf/groupname.json index cef3c09..9d5d4c5 100644 --- a/conf/groupname.json +++ b/conf/groupname.json @@ -1,9 +1,7 @@ -{ - "op": [{"username": "__ADMIN__", "password": __PASSWORD_HASH__}], - "presenter": [{}], - "description": "__GROUP_DESCRIPTION__", +"users": { + "__ADMIN__": {"permissions": "op", "password": "__PASSWORD_HASH__"}, + "description": "__GROUP_DESCRIPTION__", "public": true, - "allow-anonymous": true, "allow-recording": true, - "allow-subgroups": true + "auto-subgroups": true } diff --git a/manifest.toml b/manifest.toml index db2c2d8..6b3c12c 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Galène" description.en = "Videoconferencing server that is easy to deploy" description.fr = "Serveur de visioconférence facile à déployer" -version = "0.8.2~ynh1" +version = "0.9~ynh1" maintainers = ["eric_G"] @@ -18,7 +18,7 @@ userdoc = "https://galene.org/faq.html" code = "https://github.com/jech/galene" [integration] -yunohost = ">= 11.2" +yunohost = ">= 11.2.12" architectures = "all" multi_instance = false @@ -67,8 +67,8 @@ ram.runtime = "50M" [resources.sources] [resources.sources.main] - url = "https://github.com/jech/galene/archive/refs/tags/galene-0.8.2.tar.gz" - sha256 = "d97fa47b6f301396d4ef220cd648099e67471c00793872744e41b908bf898731" + url = "https://github.com/jech/galene/archive/refs/tags/galene-0.9.tar.gz" + sha256 = "066f2b06fdbda4b8d29d3048166123dc5bc2c0f6f863cee235df82758ddbef90" autoupdate.strategy = "latest_github_tag" [resources.sources.ldap] diff --git a/scripts/_common.sh b/scripts/_common.sh index f5f821e..72acb3f 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -25,241 +25,3 @@ ynh_go_try_bash_extension() { } fi } - -goenv_install_dir="/opt/goenv" -go_version_path="$goenv_install_dir/versions" -# goenv_ROOT is the directory of goenv, it needs to be loaded as a environment variable. -export GOENV_ROOT="$goenv_install_dir" - -# Load the version of Go for an app, and set variables. -# -# ynh_use_go has to be used in any app scripts before using Go for the first time. -# This helper will provide alias and variables to use in your scripts. -# -# To use gem or Go, use the alias `ynh_gem` and `ynh_go` -# Those alias will use the correct version installed for the app -# For example: use `ynh_gem install` instead of `gem install` -# -# With `sudo` or `ynh_exec_as`, use instead the fallback variables `$ynh_gem` and `$ynh_go` -# And propagate $PATH to sudo with $ynh_go_load_path -# Exemple: `ynh_exec_as $app $ynh_go_load_path $ynh_gem install` -# -# $PATH contains the path of the requested version of Go. -# However, $PATH is duplicated into $go_path to outlast any manipulation of $PATH -# You can use the variable `$ynh_go_load_path` to quickly load your Go version -# in $PATH for an usage into a separate script. -# Exemple: $ynh_go_load_path $install_dir/script_that_use_gem.sh` -# -# -# Finally, to start a Go service with the correct version, 2 solutions -# Either the app is dependent of Go or gem, but does not called it directly. -# In such situation, you need to load PATH -# `Environment="__YNH_GO_LOAD_PATH__"` -# `ExecStart=__INSTALL_DIR__/my_app` -# You will replace __YNH_GO_LOAD_PATH__ with $ynh_go_load_path -# -# Or Go start the app directly, then you don't need to load the PATH variable -# `ExecStart=__YNH_GO__ my_app run` -# You will replace __YNH_GO__ with $ynh_go -# -# -# one other variable is also available -# - $go_path: The absolute path to Go binaries for the chosen version. -# -# usage: ynh_use_go -# -# Requires YunoHost version 3.2.2 or higher. -ynh_use_go () { - go_version=$(ynh_app_setting_get --app=$app --key=go_version) - - # Get the absolute path of this version of Go - go_path="$go_version_path/$go_version/bin" - - # Allow alias to be used into bash script - shopt -s expand_aliases - - # Create an alias for the specific version of Go and a variable as fallback - ynh_go="$go_path/go" - alias ynh_go="$ynh_go" - - # Load the path of this version of Go in $PATH - if [[ :$PATH: != *":$go_path"* ]]; then - PATH="$go_path:$PATH" - fi - # Create an alias to easily load the PATH - ynh_go_load_path="PATH=$PATH" - - # Sets the local application-specific Go version - pushd $install_dir - $goenv_install_dir/bin/goenv local $go_version - popd -} - -# Install a specific version of Go -# -# ynh_install_go will install the version of Go provided as argument by using goenv. -# -# This helper creates a /etc/profile.d/goenv.sh that configures PATH environment for goenv -# for every LOGIN user, hence your user must have a defined shell (as opposed to /usr/sbin/nologin) -# -# Don't forget to execute go-dependent command in a login environment -# (e.g. sudo --login option) -# When not possible (e.g. in systemd service definition), please use direct path -# to goenv shims (e.g. $goenv_ROOT/shims/bundle) -# -# usage: ynh_install_go --go_version=go_version -# | arg: -v, --go_version= - Version of go to install. -# -# Requires YunoHost version 3.2.2 or higher. -ynh_install_go () { - # Declare an array to define the options of this helper. - local legacy_args=v - local -A args_array=( [v]=go_version= ) - local go_version - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - - # Load goenv path in PATH - local CLEAR_PATH="$goenv_install_dir/bin:$PATH" - - # Remove /usr/local/bin in PATH in case of Go prior installation - PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') - - # Move an existing Go binary, to avoid to block goenv - test -x /usr/bin/go && mv /usr/bin/go /usr/bin/go_goenv - - # Install or update goenv - goenv="$(command -v goenv $goenv_install_dir/bin/goenv | head -1)" - if [ -n "$goenv" ]; then - ynh_print_info --message="goenv already seems installed in \`$goenv'." - pushd "${goenv%/*/*}" - if git remote -v 2>/dev/null | grep "https://github.com/syndbg/goenv.git"; then - echo "Trying to update with git..." - git pull -q --tags origin master - cd .. - ynh_go_try_bash_extension - fi - popd - else - #ynh_print_info --message="Installing goenv with Git..." - mkdir -p $goenv_install_dir - pushd $goenv_install_dir - git init -q - git remote add -f -t master origin https://github.com/syndbg/goenv.git > /dev/null 2>&1 - git checkout -q -b master origin/master - ynh_go_try_bash_extension - goenv=$goenv_install_dir/bin/goenv - popd - fi - - goenv_latest="$(command -v "$goenv_install_dir"/plugins/*/bin/goenv-latest goenv-latest | head -1)" - if [ -n "$goenv_latest" ]; then - ynh_print_info --message="\`goenv latest' command already available in \`$goenv_latest'." - pushd "${goenv_latest%/*/*}" - if git remote -v 2>/dev/null | grep "https://github.com/momo-lab/xxenv-latest.git"; then - ynh_print_info --message="Trying to update xxenv-latest with Git..." - git pull -q origin master - fi - popd - else - #ynh_print_info --message="Installing xxenv-latest with Git..." - mkdir -p "${goenv_install_dir}/plugins" - git clone -q https://github.com/momo-lab/xxenv-latest.git "${goenv_install_dir}/plugins/xxenv-latest" - fi - - # Enable caching - mkdir -p "${goenv_install_dir}/cache" - - # Create shims directory if needed - mkdir -p "${goenv_install_dir}/shims" - - # Restore /usr/local/bin in PATH - PATH=$CLEAR_PATH - - # And replace the old Go binary - test -x /usr/bin/go_goenv && mv /usr/bin/go_goenv /usr/bin/go - - # Install the requested version of Go - local final_go_version=$(goenv latest --print $go_version) - #ynh_print_info --message="Installation of Go-$final_go_version" - goenv install --skip-existing $final_go_version - - # Store go_version into the config of this app - ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=go_version --value=$final_go_version - - # Cleanup Go versions - ynh_cleanup_go - - # Set environment for Go users - echo "#goenv -export GOENV_ROOT=$goenv_install_dir -export PATH=\"$goenv_install_dir/bin:$PATH\" -eval \"\$(goenv init -)\" -#goenv" > /etc/profile.d/goenv.sh - - # Load the environment - eval "$(goenv init -)" -} - -# Remove the version of Go used by the app. -# -# This helper will also cleanup Go versions -# -# usage: ynh_remove_go -ynh_remove_go () { - local go_version=$(ynh_app_setting_get --app=$YNH_APP_INSTANCE_NAME --key=go_version) - - # Load goenv path in PATH - local CLEAR_PATH="$goenv_install_dir/bin:$PATH" - - # Remove /usr/local/bin in PATH in case of Go prior installation - PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') - - # Remove the line for this app - ynh_app_setting_delete --app=$YNH_APP_INSTANCE_NAME --key=go_version - - # Cleanup Go versions - ynh_cleanup_go -} - -# Remove no more needed versions of Go used by the app. -# -# This helper will check what Go version are no more required, -# and uninstall them -# If no app uses Go, goenv will be also removed. -# -# usage: ynh_cleanup_go -ynh_cleanup_go () { - - # List required Go versions - local installed_apps=$(yunohost app list --output-as json --quiet | jq -r .apps[].id) - local required_go_versions="" - for installed_app in $installed_apps - do - local installed_app_go_version=$(ynh_app_setting_get --app=$installed_app --key="go_version") - if [[ $installed_app_go_version ]] - then - required_go_versions="${installed_app_go_version}\n${required_go_versions}" - fi - done - - # Remove no more needed Go versions - local installed_go_versions=$(goenv versions --bare --skip-aliases | grep -Ev '/') - for installed_go_version in $installed_go_versions - do - if ! `echo ${required_go_versions} | grep "${installed_go_version}" 1>/dev/null 2>&1` - then - #ynh_print_info --message="Removing of Go-$installed_go_version" - $goenv_install_dir/bin/goenv uninstall --force $installed_go_version - fi - done - - # If none Go version is required - if [[ ! $required_go_versions ]] - then - # Remove goenv environment configuration - #ynh_print_info --message="Removing of goenv" - ynh_secure_remove --file="$goenv_install_dir" - ynh_secure_remove --file="/etc/profile.d/goenv.sh" - fi -} diff --git a/tests.toml b/tests.toml index 8626895..8e40990 100644 --- a/tests.toml +++ b/tests.toml @@ -19,5 +19,5 @@ test_format = 1.0 # Commits to test upgrade from # ------------------------------- - test_upgrade_from.212f4439.name = "Upgrade from 0.6.1~ynh2" + test_upgrade_from.a8bb33c7.name = "Upgrade from 0.8.2~ynh1" \ No newline at end of file