mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge branch 'YunoHost:dev' into dev
This commit is contained in:
commit
ce5d4ca637
54 changed files with 203 additions and 71 deletions
|
@ -44,5 +44,4 @@ black:
|
||||||
- git push -f origin "ci-format-${CI_COMMIT_REF_NAME}":"ci-format-${CI_COMMIT_REF_NAME}"
|
- git push -f origin "ci-format-${CI_COMMIT_REF_NAME}":"ci-format-${CI_COMMIT_REF_NAME}"
|
||||||
- hub pull-request -m "[CI] Format code with Black" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
- hub pull-request -m "[CI] Format code with Black" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||||
only:
|
only:
|
||||||
variables:
|
- tags
|
||||||
- $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ autofix-translated-strings:
|
||||||
- git checkout -b "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}" --no-track
|
- git checkout -b "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}" --no-track
|
||||||
- python3 maintenance/missing_i18n_keys.py --fix
|
- python3 maintenance/missing_i18n_keys.py --fix
|
||||||
- python3 maintenance/autofix_locale_format.py
|
- python3 maintenance/autofix_locale_format.py
|
||||||
- '[ $(git diff | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
- '[ $(git diff --ignore-blank-lines --ignore-all-space --ignore-space-at-eol --ignore-cr-at-eol | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
||||||
- git commit -am "[CI] Reformat / remove stale translated strings" || true
|
- git commit -am "[CI] Reformat / remove stale translated strings" || true
|
||||||
- git push -f origin "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}":"ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}"
|
- git push -f origin "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}":"ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}"
|
||||||
- hub pull-request -m "[CI] Reformat / remove stale translated strings" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
- hub pull-request -m "[CI] Reformat / remove stale translated strings" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||||
|
|
29
debian/changelog
vendored
29
debian/changelog
vendored
|
@ -1,3 +1,32 @@
|
||||||
|
yunohost (11.1.5.3) stable; urgency=low
|
||||||
|
|
||||||
|
- helpers/appsv2: replacement of __PHPVERSION__ should use the phpversion setting, not YNH_PHP_VERSION (13d4e16e)
|
||||||
|
- appv2 resources: document the fact that the apt resource may create a phpversion setting when the dependencies contain php packages (2107a848)
|
||||||
|
|
||||||
|
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 03 Feb 2023 03:05:11 +0100
|
||||||
|
|
||||||
|
yunohost (11.1.5.2) stable; urgency=low
|
||||||
|
|
||||||
|
- maintenance: new year, update copyright header (ba4f1925)
|
||||||
|
- helpers: fix remaining __FINALPATH__ in php template (note that this is backward compatible because ynh_add_config will replace __INSTALL_DIR__ by $finalpath if $finalpath exists... (9b7668da)
|
||||||
|
|
||||||
|
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 02 Feb 2023 23:58:29 +0100
|
||||||
|
|
||||||
|
yunohost (11.1.5.1) stable; urgency=low
|
||||||
|
|
||||||
|
- debian: Bump moulinette/ssowat requirement to 11.1 (0826a541)
|
||||||
|
- helpers: Fixes $app unbound when running ynh_secure_remove ([#1582](https://github.com/yunohost/yunohost/pull/1582))
|
||||||
|
- log/appv2: don't dump all settings in log metadata (a9ac55e4)
|
||||||
|
- appv2: resource upgrade will tweak settings, we have to re-update the env_dict after upgrading resources (3110460a)
|
||||||
|
- appv2: safety-backup-before-upgrade should only contain the app (1c95bcff)
|
||||||
|
- appv2: fix env not including vars for v1->v2 upgrade (2b2d49a5)
|
||||||
|
- backup: add name of the backup in create/delete message, otherwise that creates some spooky messages with 'Backup created' directly followed by 'Backup deleted' during safety-backup-before-upgrade in v2 apps (8090acb1)
|
||||||
|
- [i18n] Translations updated for Arabic, French, Galician, Polish
|
||||||
|
|
||||||
|
Thanks to all contributors <3 ! (ButterflyOfFire, Éric Gaspar, Eryk Michalak, Florent, José M, ppr)
|
||||||
|
|
||||||
|
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 02 Feb 2023 23:37:46 +0100
|
||||||
|
|
||||||
yunohost (11.1.5) stable; urgency=low
|
yunohost (11.1.5) stable; urgency=low
|
||||||
|
|
||||||
- Release as stable !
|
- Release as stable !
|
||||||
|
|
|
@ -156,7 +156,7 @@ ynh_add_fpm_config() {
|
||||||
user = __APP__
|
user = __APP__
|
||||||
group = __APP__
|
group = __APP__
|
||||||
|
|
||||||
chdir = __FINALPATH__
|
chdir = __INSTALL_DIR__
|
||||||
|
|
||||||
listen = /var/run/php/php__PHPVERSION__-fpm-__APP__.sock
|
listen = /var/run/php/php__PHPVERSION__-fpm-__APP__.sock
|
||||||
listen.owner = www-data
|
listen.owner = www-data
|
||||||
|
|
|
@ -348,7 +348,7 @@ ynh_local_curl() {
|
||||||
# __NAMETOCHANGE__ by $app
|
# __NAMETOCHANGE__ by $app
|
||||||
# __USER__ by $app
|
# __USER__ by $app
|
||||||
# __FINALPATH__ by $final_path
|
# __FINALPATH__ by $final_path
|
||||||
# __PHPVERSION__ by $YNH_PHP_VERSION
|
# __PHPVERSION__ by $YNH_PHP_VERSION (packaging v1 only, packaging v2 uses phpversion setting implicitly set by apt resource)
|
||||||
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
||||||
# ```
|
# ```
|
||||||
# And any dynamic variables that should be defined before calling this helper like:
|
# And any dynamic variables that should be defined before calling this helper like:
|
||||||
|
@ -417,7 +417,7 @@ ynh_add_config() {
|
||||||
# __NAMETOCHANGE__ by $app
|
# __NAMETOCHANGE__ by $app
|
||||||
# __USER__ by $app
|
# __USER__ by $app
|
||||||
# __FINALPATH__ by $final_path
|
# __FINALPATH__ by $final_path
|
||||||
# __PHPVERSION__ by $YNH_PHP_VERSION
|
# __PHPVERSION__ by $YNH_PHP_VERSION (packaging v1 only, packaging v2 uses phpversion setting implicitly set by apt resource)
|
||||||
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
||||||
#
|
#
|
||||||
# And any dynamic variables that should be defined before calling this helper like:
|
# And any dynamic variables that should be defined before calling this helper like:
|
||||||
|
@ -452,7 +452,8 @@ ynh_replace_vars() {
|
||||||
ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$file"
|
ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$file"
|
||||||
ynh_replace_string --match_string="__INSTALL_DIR__" --replace_string="$final_path" --target_file="$file"
|
ynh_replace_string --match_string="__INSTALL_DIR__" --replace_string="$final_path" --target_file="$file"
|
||||||
fi
|
fi
|
||||||
if test -n "${YNH_PHP_VERSION:-}"; then
|
# Legacy / Packaging v1 only
|
||||||
|
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2 && test -n "${YNH_PHP_VERSION:-}"; then
|
||||||
ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$YNH_PHP_VERSION" --target_file="$file"
|
ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$YNH_PHP_VERSION" --target_file="$file"
|
||||||
fi
|
fi
|
||||||
if test -n "${ynh_node_load_PATH:-}"; then
|
if test -n "${ynh_node_load_PATH:-}"; then
|
||||||
|
@ -718,7 +719,7 @@ _acceptable_path_to_delete() {
|
||||||
local forbidden_paths=$(ls -d / /* /{var,home,usr}/* /etc/{default,sudoers.d,yunohost,cron*})
|
local forbidden_paths=$(ls -d / /* /{var,home,usr}/* /etc/{default,sudoers.d,yunohost,cron*})
|
||||||
|
|
||||||
# Legacy : A couple apps still have data in /home/$app ...
|
# Legacy : A couple apps still have data in /home/$app ...
|
||||||
if [[ -n "$app" ]]
|
if [[ -n "${app:-}" ]]
|
||||||
then
|
then
|
||||||
forbidden_paths=$(echo "$forbidden_paths" | grep -v "/home/$app")
|
forbidden_paths=$(echo "$forbidden_paths" | grep -v "/home/$app")
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -209,5 +209,10 @@
|
||||||
"unbackup_app": "لن يتم حفظ التطبيق '{app}'",
|
"unbackup_app": "لن يتم حفظ التطبيق '{app}'",
|
||||||
"unrestore_app": "لن يتم استعادة التطبيق '{app}'",
|
"unrestore_app": "لن يتم استعادة التطبيق '{app}'",
|
||||||
"yunohost_already_installed": "إنّ YunoHost مُنصّب مِن قَبل",
|
"yunohost_already_installed": "إنّ YunoHost مُنصّب مِن قَبل",
|
||||||
"hook_name_unknown": "إسم الإجراء '{name}' غير معروف"
|
"hook_name_unknown": "إسم الإجراء '{name}' غير معروف",
|
||||||
|
"app_manifest_install_ask_admin": "اختر مستخدمًا إداريًا لهذا التطبيق",
|
||||||
|
"domain_config_cert_summary_abouttoexpire": "مدة صلاحية الشهادة الحالية على وشك الإنتهاء ومِن المفتَرض أن يتم تجديدها تلقائيا قريبا.",
|
||||||
|
"app_manifest_install_ask_path": "اختر مسار URL (بعد النطاق) حيث ينبغي تنصيب هذا التطبيق",
|
||||||
|
"app_manifest_install_ask_domain": "اختر اسم النطاق الذي ينبغي فيه تنصيب هذا التطبيق",
|
||||||
|
"app_manifest_install_ask_is_public": "هل يجب أن يكون هذا التطبيق ظاهرًا للزوار المجهولين؟"
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,14 +102,14 @@
|
||||||
"backup_copying_to_organize_the_archive": "Copying {size}MB to organize the archive",
|
"backup_copying_to_organize_the_archive": "Copying {size}MB to organize the archive",
|
||||||
"backup_couldnt_bind": "Could not bind {src} to {dest}.",
|
"backup_couldnt_bind": "Could not bind {src} to {dest}.",
|
||||||
"backup_create_size_estimation": "The archive will contain about {size} of data.",
|
"backup_create_size_estimation": "The archive will contain about {size} of data.",
|
||||||
"backup_created": "Backup created",
|
"backup_created": "Backup created: {name}",
|
||||||
"backup_creation_failed": "Could not create the backup archive",
|
"backup_creation_failed": "Could not create the backup archive",
|
||||||
"backup_csv_addition_failed": "Could not add files to backup into the CSV file",
|
"backup_csv_addition_failed": "Could not add files to backup into the CSV file",
|
||||||
"backup_csv_creation_failed": "Could not create the CSV file needed for restoration",
|
"backup_csv_creation_failed": "Could not create the CSV file needed for restoration",
|
||||||
"backup_custom_backup_error": "Custom backup method could not get past the 'backup' step",
|
"backup_custom_backup_error": "Custom backup method could not get past the 'backup' step",
|
||||||
"backup_custom_mount_error": "Custom backup method could not get past the 'mount' step",
|
"backup_custom_mount_error": "Custom backup method could not get past the 'mount' step",
|
||||||
"backup_delete_error": "Could not delete '{path}'",
|
"backup_delete_error": "Could not delete '{path}'",
|
||||||
"backup_deleted": "Backup deleted",
|
"backup_deleted": "Backup deleted: {name}",
|
||||||
"backup_hook_unknown": "The backup hook '{hook}' is unknown",
|
"backup_hook_unknown": "The backup hook '{hook}' is unknown",
|
||||||
"backup_method_copy_finished": "Backup copy finalized",
|
"backup_method_copy_finished": "Backup copy finalized",
|
||||||
"backup_method_custom_finished": "Custom backup method '{method}' finished",
|
"backup_method_custom_finished": "Custom backup method '{method}' finished",
|
||||||
|
@ -400,12 +400,12 @@
|
||||||
"firewall_reloaded": "Firewall reloaded",
|
"firewall_reloaded": "Firewall reloaded",
|
||||||
"firewall_rules_cmd_failed": "Some firewall rule commands have failed. More info in log.",
|
"firewall_rules_cmd_failed": "Some firewall rule commands have failed. More info in log.",
|
||||||
"global_settings_reset_success": "Reset global settings",
|
"global_settings_reset_success": "Reset global settings",
|
||||||
"global_settings_setting_dns_exposure": "IP versions to consider for DNS configuration and diagnosis",
|
|
||||||
"global_settings_setting_dns_exposure_help": "NB: This only affects the recommended DNS configuration and diagnosis checks. This does not affect system configurations.",
|
|
||||||
"global_settings_setting_admin_strength": "Admin password strength requirements",
|
"global_settings_setting_admin_strength": "Admin password strength requirements",
|
||||||
"global_settings_setting_admin_strength_help": "These requirements are only enforced when initializing or changing the password",
|
"global_settings_setting_admin_strength_help": "These requirements are only enforced when initializing or changing the password",
|
||||||
"global_settings_setting_backup_compress_tar_archives": "Compress backups",
|
"global_settings_setting_backup_compress_tar_archives": "Compress backups",
|
||||||
"global_settings_setting_backup_compress_tar_archives_help": "When creating new backups, compress the archives (.tar.gz) instead of uncompressed archives (.tar). N.B. : enabling this option means create lighter backup archives, but the initial backup procedure will be significantly longer and heavy on CPU.",
|
"global_settings_setting_backup_compress_tar_archives_help": "When creating new backups, compress the archives (.tar.gz) instead of uncompressed archives (.tar). N.B. : enabling this option means create lighter backup archives, but the initial backup procedure will be significantly longer and heavy on CPU.",
|
||||||
|
"global_settings_setting_dns_exposure": "IP versions to consider for DNS configuration and diagnosis",
|
||||||
|
"global_settings_setting_dns_exposure_help": "NB: This only affects the recommended DNS configuration and diagnosis checks. This does not affect system configurations.",
|
||||||
"global_settings_setting_nginx_compatibility": "NGINX Compatibility",
|
"global_settings_setting_nginx_compatibility": "NGINX Compatibility",
|
||||||
"global_settings_setting_nginx_compatibility_help": "Compatibility vs. security tradeoff for the web server NGINX. Affects the ciphers (and other security-related aspects)",
|
"global_settings_setting_nginx_compatibility_help": "Compatibility vs. security tradeoff for the web server NGINX. Affects the ciphers (and other security-related aspects)",
|
||||||
"global_settings_setting_nginx_redirect_to_https": "Force HTTPS",
|
"global_settings_setting_nginx_redirect_to_https": "Force HTTPS",
|
||||||
|
|
|
@ -652,7 +652,7 @@
|
||||||
"tools_upgrade_failed": "Impossible de mettre à jour les paquets : {packages_list}",
|
"tools_upgrade_failed": "Impossible de mettre à jour les paquets : {packages_list}",
|
||||||
"migration_0023_not_enough_space": "Prévoyez suffisamment d'espace disponible dans {path} pour exécuter la migration.",
|
"migration_0023_not_enough_space": "Prévoyez suffisamment d'espace disponible dans {path} pour exécuter la migration.",
|
||||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire.",
|
"migration_0023_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire.",
|
||||||
"global_settings_setting_backup_compress_tar_archives_help": "Lors de la création de nouvelles sauvegardes, compresser automatiquement les archives (.tar.gz) au lieu des archives non compressées (.tar). N.B. : activer cette option permet de créer des archives plus légères, mais la procédure de sauvegarde initiale sera significativement plus longues et plus gourmandes en CPU.",
|
"global_settings_setting_backup_compress_tar_archives_help": "Lors de la création de nouvelles sauvegardes, compresser automatiquement les archives (.tar.gz) au lieu des archives non compressées (.tar).\nN.B. : activer cette option permet de créer des archives plus légères, mais la procédure de sauvegarde initiale sera significativement plus longues et plus gourmandes en CPU.",
|
||||||
"global_settings_setting_security_experimental_enabled": "Fonctionnalités de sécurité expérimentales",
|
"global_settings_setting_security_experimental_enabled": "Fonctionnalités de sécurité expérimentales",
|
||||||
"global_settings_setting_security_experimental_enabled_help": "Activer les fonctionnalités de sécurité expérimentales (ne l'activez pas si vous ne savez pas ce que vous faites !)",
|
"global_settings_setting_security_experimental_enabled_help": "Activer les fonctionnalités de sécurité expérimentales (ne l'activez pas si vous ne savez pas ce que vous faites !)",
|
||||||
"global_settings_setting_nginx_compatibility_help": "Compromis 'compatibilité versus sécurité' pour le serveur web NGINX. Affecte les cryptogrammes utilisés (et d'autres aspects liés à la sécurité)",
|
"global_settings_setting_nginx_compatibility_help": "Compromis 'compatibilité versus sécurité' pour le serveur web NGINX. Affecte les cryptogrammes utilisés (et d'autres aspects liés à la sécurité)",
|
||||||
|
|
|
@ -5,5 +5,67 @@
|
||||||
"already_up_to_date": "Nic do zrobienia. Wszystko jest obecnie aktualne.",
|
"already_up_to_date": "Nic do zrobienia. Wszystko jest obecnie aktualne.",
|
||||||
"admin_password": "Hasło administratora",
|
"admin_password": "Hasło administratora",
|
||||||
"action_invalid": "Nieprawidłowe działanie '{action:s}'",
|
"action_invalid": "Nieprawidłowe działanie '{action:s}'",
|
||||||
"aborting": "Przerywanie."
|
"aborting": "Przerywanie.",
|
||||||
|
"domain_config_auth_consumer_key": "Klucz konsumenta",
|
||||||
|
"domain_config_cert_validity": "Ważność",
|
||||||
|
"visitors": "Odwiedzający",
|
||||||
|
"app_start_install": "Instalowanie {app}...",
|
||||||
|
"app_unknown": "Nieznana aplikacja",
|
||||||
|
"ask_main_domain": "Domena główna",
|
||||||
|
"backup_created": "Utworzono kopię zapasową",
|
||||||
|
"firewall_reloaded": "Przeładowano zaporę sieciową",
|
||||||
|
"user_created": "Utworzono użytkownika",
|
||||||
|
"yunohost_installing": "Instalowanie YunoHost...",
|
||||||
|
"global_settings_setting_smtp_allow_ipv6": "Zezwól na IPv6",
|
||||||
|
"user_deleted": "Usunięto użytkownika",
|
||||||
|
"domain_config_default_app": "Domyślna aplikacja",
|
||||||
|
"restore_complete": "Przywracanie zakończone",
|
||||||
|
"domain_deleted": "Usunięto domenę",
|
||||||
|
"domains_available": "Dostępne domeny:",
|
||||||
|
"domain_config_api_protocol": "API protokołu",
|
||||||
|
"domain_config_auth_application_key": "Klucz aplikacji",
|
||||||
|
"diagnosis_description_systemresources": "Zasoby systemu",
|
||||||
|
"log_user_import": "Importuj użytkowników",
|
||||||
|
"system_upgraded": "Zaktualizowano system",
|
||||||
|
"diagnosis_description_regenconf": "Konfiguracja systemu",
|
||||||
|
"diagnosis_description_apps": "Aplikacje",
|
||||||
|
"diagnosis_description_basesystem": "Podstawowy system",
|
||||||
|
"unlimit": "Brak limitu",
|
||||||
|
"global_settings_setting_pop3_enabled": "Włącz POP3",
|
||||||
|
"domain_created": "Utworzono domenę",
|
||||||
|
"ask_new_admin_password": "Nowe hasło administracyjne",
|
||||||
|
"ask_new_domain": "Nowa domena",
|
||||||
|
"ask_new_path": "Nowa ścieżka",
|
||||||
|
"downloading": "Pobieranie...",
|
||||||
|
"ask_password": "Hasło",
|
||||||
|
"backup_deleted": "Usunięto kopię zapasową",
|
||||||
|
"done": "Gotowe",
|
||||||
|
"diagnosis_description_dnsrecords": "Rekordy DNS",
|
||||||
|
"diagnosis_description_ip": "Połączenie z internetem",
|
||||||
|
"diagnosis_description_mail": "Email",
|
||||||
|
"diagnosis_mail_ehlo_could_not_diagnose_details": "Błąd: {error}",
|
||||||
|
"diagnosis_mail_queue_unavailable_details": "Błąd: {error}",
|
||||||
|
"diagnosis_http_could_not_diagnose_details": "Błąd: {error}",
|
||||||
|
"installation_complete": "Instalacja zakończona",
|
||||||
|
"app_start_remove": "Usuwanie {app}...",
|
||||||
|
"app_start_restore": "Przywracanie {app}...",
|
||||||
|
"app_upgraded": "Zaktualizowano {app}",
|
||||||
|
"extracting": "Rozpakowywanie...",
|
||||||
|
"app_removed": "Odinstalowano {app}",
|
||||||
|
"upgrade_complete": "Aktualizacja zakończona",
|
||||||
|
"global_settings_setting_backup_compress_tar_archives": "Kompresuj kopie zapasowe",
|
||||||
|
"global_settings_setting_nginx_compatibility": "Kompatybilność z NGINX",
|
||||||
|
"global_settings_setting_nginx_redirect_to_https": "Wymuszaj HTTPS",
|
||||||
|
"ask_admin_username": "Nazwa użytkownika administratora",
|
||||||
|
"ask_fullname": "Pełne imię i nazwisko",
|
||||||
|
"upgrading_packages": "Aktualizowanie paczek...",
|
||||||
|
"admins": "Administratorzy",
|
||||||
|
"diagnosis_ports_could_not_diagnose_details": "Błąd: {error}",
|
||||||
|
"log_settings_set": "Zastosuj ustawienia",
|
||||||
|
"domain_config_cert_issuer": "Organ certyfikacji",
|
||||||
|
"domain_config_cert_summary": "Status certyfikatu",
|
||||||
|
"global_settings_setting_ssh_compatibility": "Kompatybilność z SSH",
|
||||||
|
"global_settings_setting_ssh_port": "Port SSH",
|
||||||
|
"log_settings_reset": "Resetuj ustawienia",
|
||||||
|
"log_tools_migrations_migrate_forward": "Uruchom migracje"
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
#! /usr/bin/python
|
#! /usr/bin/python
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
40
src/app.py
40
src/app.py
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
@ -647,7 +647,9 @@ def app_upgrade(app=[], url=None, file=None, force=False, no_safety_backup=False
|
||||||
safety_backup_name = f"{app_instance_name}-pre-upgrade2"
|
safety_backup_name = f"{app_instance_name}-pre-upgrade2"
|
||||||
other_safety_backup_name = f"{app_instance_name}-pre-upgrade1"
|
other_safety_backup_name = f"{app_instance_name}-pre-upgrade1"
|
||||||
|
|
||||||
backup_create(name=safety_backup_name, apps=[app_instance_name])
|
backup_create(
|
||||||
|
name=safety_backup_name, apps=[app_instance_name], system=None
|
||||||
|
)
|
||||||
|
|
||||||
if safety_backup_name in backup_list()["archives"]:
|
if safety_backup_name in backup_list()["archives"]:
|
||||||
# if the backup suceeded, delete old safety backup to save space
|
# if the backup suceeded, delete old safety backup to save space
|
||||||
|
@ -677,11 +679,17 @@ def app_upgrade(app=[], url=None, file=None, force=False, no_safety_backup=False
|
||||||
env_dict = _make_environment_for_app_script(
|
env_dict = _make_environment_for_app_script(
|
||||||
app_instance_name, workdir=extracted_app_folder, action="upgrade"
|
app_instance_name, workdir=extracted_app_folder, action="upgrade"
|
||||||
)
|
)
|
||||||
env_dict["YNH_APP_UPGRADE_TYPE"] = upgrade_type
|
|
||||||
env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version)
|
env_dict_more = {
|
||||||
env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version)
|
"YNH_APP_UPGRADE_TYPE": upgrade_type,
|
||||||
|
"YNH_APP_MANIFEST_VERSION": str(app_new_version),
|
||||||
|
"YNH_APP_CURRENT_VERSION": str(app_current_version),
|
||||||
|
}
|
||||||
|
|
||||||
if manifest["packaging_format"] < 2:
|
if manifest["packaging_format"] < 2:
|
||||||
env_dict["NO_BACKUP_UPGRADE"] = "1" if no_safety_backup else "0"
|
env_dict_more["NO_BACKUP_UPGRADE"] = "1" if no_safety_backup else "0"
|
||||||
|
|
||||||
|
env_dict.update(env_dict_more)
|
||||||
|
|
||||||
# Start register change on system
|
# Start register change on system
|
||||||
related_to = [("app", app_instance_name)]
|
related_to = [("app", app_instance_name)]
|
||||||
|
@ -698,6 +706,17 @@ def app_upgrade(app=[], url=None, file=None, force=False, no_safety_backup=False
|
||||||
operation_logger=operation_logger,
|
operation_logger=operation_logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Boring stuff : the resource upgrade may have added/remove/updated setting
|
||||||
|
# so we need to reflect this in the env_dict used to call the actual upgrade script x_x
|
||||||
|
# Or: the old manifest may be in v1 and the new in v2, so force to add the setting in env
|
||||||
|
env_dict = _make_environment_for_app_script(
|
||||||
|
app_instance_name,
|
||||||
|
workdir=extracted_app_folder,
|
||||||
|
action="upgrade",
|
||||||
|
include_app_settings=True,
|
||||||
|
)
|
||||||
|
env_dict.update(env_dict_more)
|
||||||
|
|
||||||
# Execute the app upgrade script
|
# Execute the app upgrade script
|
||||||
upgrade_failed = True
|
upgrade_failed = True
|
||||||
try:
|
try:
|
||||||
|
@ -2718,7 +2737,12 @@ def _assert_no_conflicting_apps(domain, path, ignore_app=None, full_domain=False
|
||||||
|
|
||||||
|
|
||||||
def _make_environment_for_app_script(
|
def _make_environment_for_app_script(
|
||||||
app, args={}, args_prefix="APP_ARG_", workdir=None, action=None
|
app,
|
||||||
|
args={},
|
||||||
|
args_prefix="APP_ARG_",
|
||||||
|
workdir=None,
|
||||||
|
action=None,
|
||||||
|
include_app_settings=False,
|
||||||
):
|
):
|
||||||
app_setting_path = os.path.join(APPS_SETTING_PATH, app)
|
app_setting_path = os.path.join(APPS_SETTING_PATH, app)
|
||||||
|
|
||||||
|
@ -2745,7 +2769,7 @@ def _make_environment_for_app_script(
|
||||||
env_dict[f"YNH_{args_prefix}{arg_name_upper}"] = str(arg_value)
|
env_dict[f"YNH_{args_prefix}{arg_name_upper}"] = str(arg_value)
|
||||||
|
|
||||||
# If packaging format v2, load all settings
|
# If packaging format v2, load all settings
|
||||||
if manifest["packaging_format"] >= 2:
|
if manifest["packaging_format"] >= 2 or include_app_settings:
|
||||||
env_dict["app"] = app
|
env_dict["app"] = app
|
||||||
for setting_name, setting_value in _get_app_settings(app).items():
|
for setting_name, setting_value in _get_app_settings(app).items():
|
||||||
# Ignore special internal settings like checksum__
|
# Ignore special internal settings like checksum__
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
@ -2295,7 +2295,7 @@ def backup_create(
|
||||||
)
|
)
|
||||||
backup_manager.backup()
|
backup_manager.backup()
|
||||||
|
|
||||||
logger.success(m18n.n("backup_created"))
|
logger.success(m18n.n("backup_created", name=name))
|
||||||
operation_logger.success()
|
operation_logger.success()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -2622,7 +2622,7 @@ def backup_delete(name):
|
||||||
|
|
||||||
hook_callback("post_backup_delete", args=[name])
|
hook_callback("post_backup_delete", args=[name])
|
||||||
|
|
||||||
logger.success(m18n.n("backup_deleted"))
|
logger.success(m18n.n("backup_deleted", name=name))
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
13
src/log.py
13
src/log.py
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
import copy
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import yaml
|
import yaml
|
||||||
|
@ -594,6 +595,16 @@ class OperationLogger:
|
||||||
Write or rewrite the metadata file with all metadata known
|
Write or rewrite the metadata file with all metadata known
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
metadata = copy.copy(self.metadata)
|
||||||
|
|
||||||
|
# Remove lower-case keys ... this is because with the new v2 app packaging,
|
||||||
|
# all settings are included in the env but we probably don't want to dump all of these
|
||||||
|
# which may contain various secret/private data ...
|
||||||
|
if "env" in metadata:
|
||||||
|
metadata["env"] = {
|
||||||
|
k: v for k, v in metadata["env"].items() if k == k.upper()
|
||||||
|
}
|
||||||
|
|
||||||
dump = yaml.safe_dump(self.metadata, default_flow_style=False)
|
dump = yaml.safe_dump(self.metadata, default_flow_style=False)
|
||||||
for data in self.data_to_redact:
|
for data in self.data_to_redact:
|
||||||
# N.B. : we need quotes here, otherwise yaml isn't happy about loading the yml later
|
# N.B. : we need quotes here, otherwise yaml isn't happy about loading the yml later
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
@ -703,6 +703,7 @@ class AptDependenciesAppResource(AppResource):
|
||||||
|
|
||||||
##### Provision/Update:
|
##### Provision/Update:
|
||||||
- The code literally calls the bash helpers `ynh_install_app_dependencies` and `ynh_install_extra_app_dependencies`, similar to what happens in v1.
|
- The code literally calls the bash helpers `ynh_install_app_dependencies` and `ynh_install_extra_app_dependencies`, similar to what happens in v1.
|
||||||
|
- Note that when `packages` contains some phpX.Y-foobar dependencies, this will automagically define a `phpversion` setting equal to `X.Y` which can therefore be used in app scripts ($phpversion) or templates (`__PHPVERSION__`)
|
||||||
|
|
||||||
##### Deprovision:
|
##### Deprovision:
|
||||||
- The code literally calls the bash helper `ynh_remove_app_dependencies`
|
- The code literally calls the bash helper `ynh_remove_app_dependencies`
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 YunoHost Contributors
|
# Copyright (c) 2023 YunoHost Contributors
|
||||||
#
|
#
|
||||||
# This file is part of YunoHost (see https://yunohost.org)
|
# This file is part of YunoHost (see https://yunohost.org)
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Reference in a new issue