From 9739541a05fdc6bd681f165b0ef76f7a93296b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 29 Jul 2023 12:24:09 +0100 Subject: [PATCH] Testing (#23) * Update manifest.json * Auto-update README * Update manifest.json * Add metronome explicitly as dependency * Auto-update README * Auto-update README * Update manifest.json * Auto-update README * Version 2 (#22) * v2 * Auto-update README * v2 * Create tests.toml * Auto-update README --------- Co-authored-by: yunohost-bot * Auto-update README --------- Co-authored-by: yunohost-bot Co-authored-by: Alexandre Aubin --- README.md | 13 -------- README_fr.md | 15 +-------- check_process | 24 -------------- doc/{DISCLAIMER.md => ADMIN.md} | 0 doc/DESCRIPTION.md | 1 + manifest.json | 41 ------------------------ manifest.toml | 48 ++++++++++++++++++++++++++++ scripts/_common.sh | 3 -- scripts/backup | 16 ---------- scripts/install | 32 +------------------ scripts/remove | 15 --------- scripts/restore | 30 ------------------ scripts/upgrade | 55 --------------------------------- tests.toml | 3 ++ 14 files changed, 54 insertions(+), 242 deletions(-) delete mode 100644 check_process rename doc/{DISCLAIMER.md => ADMIN.md} (100%) create mode 100644 doc/DESCRIPTION.md delete mode 100644 manifest.json create mode 100644 manifest.toml create mode 100644 tests.toml diff --git a/README.md b/README.md index 0540589..325c45f 100644 --- a/README.md +++ b/README.md @@ -19,19 +19,6 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in XMPP gateway for the IRC network **Shipped version:** 8.3~ynh2 -## Disclaimers / important information - -Once biboumi_ynh is installed you can use any XMPP client software to join IRC channels. Any IRC channel is seen as a standard XMPP chatroom (aka MUC) with a special name. -The the name is formatted like this: `#channelname%ircservername@biboumi.yourdomain.tld`. - -For example, if you have a YunoHost server hosting domain *example.net* and you want to join the channel *#yunohost* on *irc.freenode.net* you simply need to join the MUC `#yunohost%irc.freenode.net@biboumi.example.net`. - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * Currently, Biboumi is only tested with one domain and it must be the main domain of your YunoHost server. - -* Other infos that people should be aware of, such as: - * You can configure Biboumi with the file `/etc/biboumi/biboumi.cfg`. - ## Documentation and resources * Official app website: diff --git a/README_fr.md b/README_fr.md index 0b0eb67..33061d4 100644 --- a/README_fr.md +++ b/README_fr.md @@ -16,22 +16,9 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po ## Vue d’ensemble -Passerelle XMPP pour le réseau IRC +XMPP gateway for the IRC network **Version incluse :** 8.3~ynh2 -## Avertissements / informations importantes - -Once biboumi_ynh is installed you can use any XMPP client software to join IRC channels. Any IRC channel is seen as a standard XMPP chatroom (aka MUC) with a special name. -The the name is formatted like this: `#channelname%ircservername@biboumi.yourdomain.tld`. - -For example, if you have a YunoHost server hosting domain *example.net* and you want to join the channel *#yunohost* on *irc.freenode.net* you simply need to join the MUC `#yunohost%irc.freenode.net@biboumi.example.net`. - -* Any known limitations, constrains or stuff not working, such as (but not limited to): - * Currently, Biboumi is only tested with one domain and it must be the main domain of your YunoHost server. - -* Other infos that people should be aware of, such as: - * You can configure Biboumi with the file `/etc/biboumi/biboumi.cfg`. - ## Documentations et ressources * Site officiel de l’app : diff --git a/check_process b/check_process deleted file mode 100644 index 55cb156..0000000 --- a/check_process +++ /dev/null @@ -1,24 +0,0 @@ -;; Test complet - ; Manifest - domain="domain.tld" - admin="john" - ; Checks - pkg_linter=1 - setup_sub_dir=0 - setup_root=0 - setup_nourl=1 - setup_private=0 - setup_public=0 - upgrade=1 - # 8.3~ynh1 - upgrade=1 from_commit=6596c7e12e17a2b9149b20739e916184e71fdfbd - backup_restore=1 - multi_instance=0 - port_already_use=1 (113) - change_url=0 -;;; Options -Email=pitchum@gramaton.org -Notification=none -;;; Upgrade options - ; commit=6596c7e12e17a2b9149b20739e916184e71fdfbd - name=8.3~ynh1. diff --git a/doc/DISCLAIMER.md b/doc/ADMIN.md similarity index 100% rename from doc/DISCLAIMER.md rename to doc/ADMIN.md diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..4f147e0 --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1 @@ +XMPP gateway for the IRC network \ No newline at end of file diff --git a/manifest.json b/manifest.json deleted file mode 100644 index ab356b0..0000000 --- a/manifest.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "Biboumi", - "id": "biboumi", - "packaging_format": 1, - "description": { - "en": "XMPP gateway for the IRC network", - "fr": "Passerelle XMPP pour le réseau IRC" - }, - "version": "8.3~ynh2", - "url": "https://biboumi.louiz.org/", - "upstream": { - "license": "Zlib", - "website": "https://biboumi.louiz.org/", - "admindoc": "https://lab.louiz.org/louiz/biboumi/blob/8.3/doc/biboumi.1.rst", - "code": "https://lab.louiz.org/louiz/biboumi" - }, - "license": "Zlib", - "maintainer": { - "name": "pitchum", - "email": "pitchum@yunohost.org" - }, - "requirements": { - "yunohost": ">= 11.0.9" - }, - "multi_instance": false, - "services": [ - "metronome" - ], - "arguments": { - "install" : [ - { - "name": "domain", - "type": "domain" - }, - { - "name": "admin", - "type": "user" - } - ] - } -} diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..966aca4 --- /dev/null +++ b/manifest.toml @@ -0,0 +1,48 @@ +packaging_format = 2 + +id = "biboumi" +name = "Biboumi" +description.en = "XMPP gateway for the IRC network" +description.fr = "Passerelle XMPP pour le réseau IRC" + +version = "8.3~ynh2" + +maintainers = ["pitchum"] + +[upstream] +license = "Zlib" +website = "https://biboumi.louiz.org/" +admindoc = "https://lab.louiz.org/louiz/biboumi/blob/8.3/doc/biboumi.1.rst" +code = "https://lab.louiz.org/louiz/biboumi" + +[integration] +yunohost = ">= 11.1.21" +architectures = "all" +multi_instance = false +ldap = false +sso = false +disk = "50M" +ram.build = "50M" +ram.runtime = "50M" + +[install] + [install.domain] + type = "domain" + full_domain = true + + [install.admin] + type = "user" + +[resources] + + [resources.ports] + main.default = 113 + + [resources.system_user] + + [resources.install_dir] + + [resources.permissions] + + [resources.apt] + packages = "metronome biboumi" diff --git a/scripts/_common.sh b/scripts/_common.sh index 1b60752..944a65e 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,9 +4,6 @@ # COMMON VARIABLES #================================================= -# dependencies used by the app -pkg_dependencies="metronome biboumi" - #================================================= # PERSONAL HELPERS #================================================= diff --git a/scripts/backup b/scripts/backup index 170a5e5..3d5ab08 100755 --- a/scripts/backup +++ b/scripts/backup @@ -10,22 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -# 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 - -domain=$(ynh_app_setting_get --app=$app --key=domain) - #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= diff --git a/scripts/install b/scripts/install index 188bd27..a7b1417 100755 --- a/scripts/install +++ b/scripts/install @@ -9,32 +9,17 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -domain=$YNH_APP_ARG_DOMAIN -admin=$YNH_APP_ARG_ADMIN - -app=$YNH_APP_INSTANCE_NAME - shared_secret="$(ynh_string_random 25)" admin_jid="${admin}@$app.${domain}" #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -ynh_script_progression --message="Validating installation parameters..." +#REMOVEME? ynh_script_progression --message="Validating installation parameters..." if dpkg --compare-versions "$(uname -r)" "<=" "4.0" then @@ -46,28 +31,13 @@ fi #================================================= ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=shared_secret --value=$shared_secret ynh_app_setting_set --app=$app --key=admin_jid --value=$admin_jid -#================================================= -# STANDARD MODIFICATIONS -#================================================= -# FIND AND OPEN A PORT -#================================================= -ynh_script_progression --message="Finding an available port..." - -# Find an available port -port=$(ynh_find_port --port=113) -ynh_app_setting_set --app=$app --key=port --value=$port - #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." -ynh_install_app_dependencies $pkg_dependencies ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" #================================================= diff --git a/scripts/remove b/scripts/remove index 929ad48..4120411 100755 --- a/scripts/remove +++ b/scripts/remove @@ -9,13 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - #================================================= # STANDARD REMOVE #================================================= @@ -46,14 +39,6 @@ ynh_script_progression --message="Removing logrotate configuration..." # Remove the app-specific logrotate config ynh_remove_logrotate -#================================================= -# REMOVE DEPENDENCIES -#================================================= -ynh_script_progression --message="Removing dependencies..." - -# Remove metapackage and its dependencies -ynh_remove_app_dependencies - #================================================= # SPECIFIC REMOVE #================================================= diff --git a/scripts/restore b/scripts/restore index 6d93fc1..b454958 100755 --- a/scripts/restore +++ b/scripts/restore @@ -10,25 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -domain=$(ynh_app_setting_get --app=$app --key=domain) - #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= @@ -39,17 +20,6 @@ then ynh_die "Upgrade your kernel first. Unsupported version: $(uname -r)" fi -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Reinstalling dependencies..." - -# Define and install dependencies -ynh_install_app_dependencies $pkg_dependencies -ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" - #================================================= # RESTORE VARIOUS FILES #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 6bb1980..8e2e370 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -9,41 +9,12 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -domain=$(ynh_app_setting_get --app=$app --key=domain) -admin=$(ynh_app_setting_get --app=$app --key=admin) -port=$(ynh_app_setting_get --app=$app --key=port) -shared_secret=$(ynh_app_setting_get --app=$app --key=shared_secret) -admin_jid=$(ynh_app_setting_get --app=$app --key=admin_jid) - #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_clean_check_starting - # Restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -53,32 +24,6 @@ ynh_script_progression --message="Stopping a systemd service..." ynh_systemd_action --service_name=$app --action="stop" --line_match="Stopped Biboumi" --log_path="systemd" -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." - -# Prevent conflict with other apps on the same domain -ynh_app_setting_set --app=$app --key=no_sso --value=1 - -if [ -z "$shared_secret" ]; then - shared_secret="$(grep password "/etc/biboumi/biboumi.cfg" | cut -d= -f2)" - ynh_app_setting_set --app=$app --key=shared_secret --value=$shared_secret -fi - -if [ -z "$admin_jid" ]; then - admin_jid="${admin}@$app.${domain}" - ynh_app_setting_set --app=$app --key=admin_jid --value=$admin_jid -fi - -#================================================= -# UPGRADE DEPENDENCIES -#================================================= -ynh_script_progression --message="Upgrading dependencies..." - -ynh_install_app_dependencies $pkg_dependencies -ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" - #================================================= # SPECIFIC UPGRADE #================================================= diff --git a/tests.toml b/tests.toml new file mode 100644 index 0000000..eb73b8d --- /dev/null +++ b/tests.toml @@ -0,0 +1,3 @@ +test_format = 1.0 + +[default] \ No newline at end of file