From 8cef37d704aed37d74254ee63f3498a2f1a697c1 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 8 Aug 2022 16:59:42 +0000 Subject: [PATCH 01/92] [CI] Format code with Black --- src/migrations/0021_migrate_to_bullseye.py | 23 +++---- src/migrations/0024_rebuild_python_venv.py | 74 +++++++++++++++------- src/tools.py | 4 +- src/user.py | 4 +- 4 files changed, 68 insertions(+), 37 deletions(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index f5e7f518c..7577c852c 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -35,19 +35,19 @@ VENV_REQUIREMENTS_SUFFIX = ".requirements_backup_for_bullseye_upgrade.txt" def _get_all_venvs(dir, level=0, maxlevel=3): """ - Returns the list of all python virtual env directories recursively + Returns the list of all python virtual env directories recursively - Arguments: - dir - the directory to scan in - maxlevel - the depth of the recursion - level - do not edit this, used as an iterator + Arguments: + dir - the directory to scan in + maxlevel - the depth of the recursion + level - do not edit this, used as an iterator """ # Using os functions instead of glob, because glob doesn't support hidden folders, and we need recursion with a fixed depth result = [] for file in os.listdir(dir): path = os.path.join(dir, file) if os.path.isdir(path): - activatepath = os.path.join(path,"bin", "activate") + activatepath = os.path.join(path, "bin", "activate") if os.path.isfile(activatepath): content = read_file(activatepath) if ("VIRTUAL_ENV" in content) and ("PYTHONHOME" in content): @@ -60,7 +60,7 @@ def _get_all_venvs(dir, level=0, maxlevel=3): def _backup_pip_freeze_for_python_app_venvs(): """ - Generate a requirements file for all python virtual env located inside /opt/ and /var/www/ + Generate a requirements file for all python virtual env located inside /opt/ and /var/www/ """ venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/") @@ -308,7 +308,6 @@ class MyMigration(Migration): tools_upgrade(target="system", postupgradecmds=postupgradecmds) - def debian_major_version(self): # The python module "platform" and lsb_release are not reliable because # on some setup, they may still return Release=9 even after upgrading to @@ -344,7 +343,9 @@ class MyMigration(Migration): # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... # which means maybe a previous upgrade crashed and we're re-running it) - if os.path.exists("/etc/apt/sources.list") and " bullseye " not in read_file("/etc/apt/sources.list"): + if os.path.exists("/etc/apt/sources.list") and " bullseye " not in read_file( + "/etc/apt/sources.list" + ): tools_update(target="system") upgradable_system_packages = list(_list_upgradable_apt_packages()) upgradable_system_packages = [ @@ -391,8 +392,8 @@ class MyMigration(Migration): message = m18n.n("migration_0021_general_warning") message = ( - "N.B.: This migration has been tested by the community over the last few months but has only been declared stable recently. If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read about remaining known issues and feedback from the community here: https://forum.yunohost.org/t/20590\n\n" - + message + "N.B.: This migration has been tested by the community over the last few months but has only been declared stable recently. If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read about remaining known issues and feedback from the community here: https://forum.yunohost.org/t/20590\n\n" + + message ) if problematic_apps: diff --git a/src/migrations/0024_rebuild_python_venv.py b/src/migrations/0024_rebuild_python_venv.py index b90a35f60..f39c27c49 100644 --- a/src/migrations/0024_rebuild_python_venv.py +++ b/src/migrations/0024_rebuild_python_venv.py @@ -23,12 +23,12 @@ def extract_app_from_venv_path(venv_path): def _get_all_venvs(dir, level=0, maxlevel=3): """ - Returns the list of all python virtual env directories recursively + Returns the list of all python virtual env directories recursively - Arguments: - dir - the directory to scan in - maxlevel - the depth of the recursion - level - do not edit this, used as an iterator + Arguments: + dir - the directory to scan in + maxlevel - the depth of the recursion + level - do not edit this, used as an iterator """ # Using os functions instead of glob, because glob doesn't support hidden # folders, and we need recursion with a fixed depth @@ -37,7 +37,9 @@ def _get_all_venvs(dir, level=0, maxlevel=3): path = os.path.join(dir, file) if os.path.isdir(path): activatepath = os.path.join(path, "bin", "activate") - if os.path.isfile(activatepath) and os.path.isfile(path + VENV_REQUIREMENTS_SUFFIX): + if os.path.isfile(activatepath) and os.path.isfile( + path + VENV_REQUIREMENTS_SUFFIX + ): result.append(path) continue if level < maxlevel: @@ -50,6 +52,7 @@ class MyMigration(Migration): After the update, recreate a python virtual env based on the previously generated requirements file """ + ignored_python_apps = [ "calibreweb", "django-for-runners", @@ -62,7 +65,7 @@ class MyMigration(Migration): "pgadmin", "tracim", "synapse", - "weblate" + "weblate", ] dependencies = ["migrate_to_bullseye"] @@ -70,7 +73,9 @@ class MyMigration(Migration): def is_pending(self): if not self.state: - self.state = tools_migrations_state()["migrations"].get("0024_rebuild_python_venv", "pending") + self.state = tools_migrations_state()["migrations"].get( + "0024_rebuild_python_venv", "pending" + ) return self.state == "pending" @property @@ -101,18 +106,25 @@ class MyMigration(Migration): app_corresponding_to_venv = extract_app_from_venv_path(venv) # Search for ignore apps - if any(app_corresponding_to_venv.startswith(app) for app in self.ignored_python_apps): + if any( + app_corresponding_to_venv.startswith(app) + for app in self.ignored_python_apps + ): ignored_apps.append(app_corresponding_to_venv) else: rebuild_apps.append(app_corresponding_to_venv) msg = m18n.n("migration_0024_rebuild_python_venv_disclaimer_base") if rebuild_apps: - msg += "\n\n" + m18n.n("migration_0024_rebuild_python_venv_disclaimer_rebuild", - rebuild_apps="\n - " + "\n - ".join(rebuild_apps)) + msg += "\n\n" + m18n.n( + "migration_0024_rebuild_python_venv_disclaimer_rebuild", + rebuild_apps="\n - " + "\n - ".join(rebuild_apps), + ) if ignored_apps: - msg += "\n\n" + m18n.n("migration_0024_rebuild_python_venv_disclaimer_ignored", - ignored_apps="\n - " + "\n - ".join(ignored_apps)) + msg += "\n\n" + m18n.n( + "migration_0024_rebuild_python_venv_disclaimer_ignored", + ignored_apps="\n - " + "\n - ".join(ignored_apps), + ) return msg @@ -124,25 +136,43 @@ class MyMigration(Migration): app_corresponding_to_venv = extract_app_from_venv_path(venv) # Search for ignore apps - if any(app_corresponding_to_venv.startswith(app) for app in self.ignored_python_apps): + if any( + app_corresponding_to_venv.startswith(app) + for app in self.ignored_python_apps + ): rm(venv + VENV_REQUIREMENTS_SUFFIX) - logger.info(m18n.n("migration_0024_rebuild_python_venv_broken_app", app=app_corresponding_to_venv)) + logger.info( + m18n.n( + "migration_0024_rebuild_python_venv_broken_app", + app=app_corresponding_to_venv, + ) + ) continue - logger.info(m18n.n("migration_0024_rebuild_python_venv_in_progress", app=app_corresponding_to_venv)) + logger.info( + m18n.n( + "migration_0024_rebuild_python_venv_in_progress", + app=app_corresponding_to_venv, + ) + ) # Recreate the venv rm(venv, recursive=True) callbacks = ( lambda l: logger.debug("+ " + l.rstrip() + "\r"), - lambda l: logger.warning(l.rstrip()) + lambda l: logger.warning(l.rstrip()), ) call_async_output(["python", "-m", "venv", venv], callbacks) - status = call_async_output([ - f"{venv}/bin/pip", "install", "-r", - venv + VENV_REQUIREMENTS_SUFFIX], callbacks) + status = call_async_output( + [f"{venv}/bin/pip", "install", "-r", venv + VENV_REQUIREMENTS_SUFFIX], + callbacks, + ) if status != 0: - logger.error(m18n.n("migration_0024_rebuild_python_venv_failed", - app=app_corresponding_to_venv)) + logger.error( + m18n.n( + "migration_0024_rebuild_python_venv_failed", + app=app_corresponding_to_venv, + ) + ) else: rm(venv + VENV_REQUIREMENTS_SUFFIX) diff --git a/src/tools.py b/src/tools.py index 844a2a3ba..abf224c1c 100644 --- a/src/tools.py +++ b/src/tools.py @@ -73,7 +73,7 @@ def tools_adminpw(new_password, check_strength=True): from yunohost.user import _hash_user_password from yunohost.utils.password import ( assert_password_is_strong_enough, - assert_password_is_compatible + assert_password_is_compatible, ) import spwd @@ -203,7 +203,7 @@ def tools_postinstall( from yunohost.utils.dns import is_yunohost_dyndns_domain from yunohost.utils.password import ( assert_password_is_strong_enough, - assert_password_is_compatible + assert_password_is_compatible, ) from yunohost.domain import domain_main_domain import psutil diff --git a/src/user.py b/src/user.py index ce0cea60d..0c5a577d7 100644 --- a/src/user.py +++ b/src/user.py @@ -145,7 +145,7 @@ def user_create( from yunohost.hook import hook_callback from yunohost.utils.password import ( assert_password_is_strong_enough, - assert_password_is_compatible + assert_password_is_compatible, ) from yunohost.utils.ldap import _get_ldap_interface @@ -371,7 +371,7 @@ def user_update( from yunohost.app import app_ssowatconf from yunohost.utils.password import ( assert_password_is_strong_enough, - assert_password_is_compatible + assert_password_is_compatible, ) from yunohost.utils.ldap import _get_ldap_interface from yunohost.hook import hook_callback From fa207ebaff48fde81d0ad091ae60b5a39461b80a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 9 Aug 2022 17:02:47 +0200 Subject: [PATCH 02/92] Update changelog for 4.4.2 --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index 10bf04dc3..e9e8b2d44 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +yunohost (4.4.2) stable; urgency=low + + - Release as stable + - [fix] bullseye migration: /etc/apt/sources.list may not exist (b928dd12) + - [fix] bullseye migration: Allow lime2 to upgrade even if kernel is hold (#1452) + - [fix] bullseye migration: Save python apps venv in a requirements file, in order to regenerate it in a follow-up migration ([#1479](https://github.com/YunoHost/yunohost/pull/1479)) + - [fix] bullseye migration: tweak message to prepare for stable release (80015a72) + + Thanks to all contributors <3 ! (ljf, theo-is-taken) + + -- Alexandre Aubin Tue, 09 Aug 2022 16:59:15 +0200 + yunohost (4.4.1) testing; urgency=low - [fix] php helpers: prevent epic catastrophies when the app changes php version (31d3719b) From 7403d4679ff09a72694d55b41bf86746e50919ec Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 11 Aug 2022 15:49:44 +0200 Subject: [PATCH 03/92] Unused vars, black --- .../0021_migrate_to_bullseye.py | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 3be8c9add..cb8a333f5 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -27,27 +27,24 @@ logger = getActionLogger("yunohost.migration") N_CURRENT_DEBIAN = 10 N_CURRENT_YUNOHOST = 4 -N_NEXT_DEBAN = 11 -N_NEXT_YUNOHOST = 11 - VENV_REQUIREMENTS_SUFFIX = ".requirements_backup_for_bullseye_upgrade.txt" def _get_all_venvs(dir, level=0, maxlevel=3): """ - Returns the list of all python virtual env directories recursively + Returns the list of all python virtual env directories recursively - Arguments: - dir - the directory to scan in - maxlevel - the depth of the recursion - level - do not edit this, used as an iterator + Arguments: + dir - the directory to scan in + maxlevel - the depth of the recursion + level - do not edit this, used as an iterator """ # Using os functions instead of glob, because glob doesn't support hidden folders, and we need recursion with a fixed depth result = [] for file in os.listdir(dir): path = os.path.join(dir, file) if os.path.isdir(path): - activatepath = os.path.join(path,"bin", "activate") + activatepath = os.path.join(path, "bin", "activate") if os.path.isfile(activatepath): content = read_file(activatepath) if ("VIRTUAL_ENV" in content) and ("PYTHONHOME" in content): @@ -60,7 +57,7 @@ def _get_all_venvs(dir, level=0, maxlevel=3): def _backup_pip_freeze_for_python_app_venvs(): """ - Generate a requirements file for all python virtual env located inside /opt/ and /var/www/ + Generate a requirements file for all python virtual env located inside /opt/ and /var/www/ """ venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/") @@ -308,7 +305,6 @@ class MyMigration(Migration): tools_upgrade(target="system", postupgradecmds=postupgradecmds) - def debian_major_version(self): # The python module "platform" and lsb_release are not reliable because # on some setup, they may still return Release=9 even after upgrading to @@ -344,21 +340,27 @@ class MyMigration(Migration): # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... # which means maybe a previous upgrade crashed and we're re-running it) - if os.path.exists("/etc/apt/sources.list") and " bullseye " not in read_file("/etc/apt/sources.list"): + if os.path.exists("/etc/apt/sources.list") and " bullseye " not in read_file( + "/etc/apt/sources.list" + ): tools_update(target="system") upgradable_system_packages = list(_list_upgradable_apt_packages()) - upgradable_system_packages = [package["name"] for package in upgradable_system_packages] + upgradable_system_packages = [ + package["name"] for package in upgradable_system_packages + ] upgradable_system_packages = set(upgradable_system_packages) # Lime2 have hold packages to avoid ethernet instability # See https://github.com/YunoHost/arm-images/commit/b4ef8c99554fd1a122a306db7abacc4e2f2942df - lime2_hold_packages = set([ - "armbian-firmware", - "armbian-bsp-cli-lime2", - "linux-dtb-current-sunxi", - "linux-image-current-sunxi", - "linux-u-boot-lime2-current", - "linux-image-next-sunxi" - ]) + lime2_hold_packages = set( + [ + "armbian-firmware", + "armbian-bsp-cli-lime2", + "linux-dtb-current-sunxi", + "linux-image-current-sunxi", + "linux-u-boot-lime2-current", + "linux-image-next-sunxi", + ] + ) if upgradable_system_packages - lime2_hold_packages: raise YunohostError("migration_0021_system_not_fully_up_to_date") @@ -387,8 +389,8 @@ class MyMigration(Migration): message = m18n.n("migration_0021_general_warning") message = ( - "N.B.: This migration has been tested by the community over the last few months but has only been declared stable recently. If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read about remaining known issues and feedback from the community here: https://forum.yunohost.org/t/20590\n\n" - + message + "N.B.: This migration has been tested by the community over the last few months but has only been declared stable recently. If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read about remaining known issues and feedback from the community here: https://forum.yunohost.org/t/20590\n\n" + + message ) if problematic_apps: From 5fd74577c401ffff08fb4cc382b378d92f5557c2 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 11 Aug 2022 15:51:03 +0200 Subject: [PATCH 04/92] /opt may not exist ... --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index cb8a333f5..162b8e376 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -39,8 +39,11 @@ def _get_all_venvs(dir, level=0, maxlevel=3): maxlevel - the depth of the recursion level - do not edit this, used as an iterator """ - # Using os functions instead of glob, because glob doesn't support hidden folders, and we need recursion with a fixed depth + if not os.path.exists(dir): + return [] + result = [] + # Using os functions instead of glob, because glob doesn't support hidden folders, and we need recursion with a fixed depth for file in os.listdir(dir): path = os.path.join(dir, file) if os.path.isdir(path): From 5d26fec9a54bc53141ed2bf1a8f87f13cb5bd817 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 11 Aug 2022 15:56:44 +0200 Subject: [PATCH 05/92] Update changelog for 4.4.2.1 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index e9e8b2d44..5582bb2ef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +yunohost (4.4.2.1) stable; urgency=low + + - [fix] bullseye migration: /opt may not exist ... (5fd74577) + + -- Alexandre Aubin Thu, 11 Aug 2022 15:56:16 +0200 + yunohost (4.4.2) stable; urgency=low - Release as stable From 18442b2449a65696c9abf47dbb57877a0fdee024 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 11 Aug 2022 15:59:48 +0200 Subject: [PATCH 06/92] /opt may not exist ... --- src/migrations/0024_rebuild_python_venv.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/migrations/0024_rebuild_python_venv.py b/src/migrations/0024_rebuild_python_venv.py index f39c27c49..10db7a34a 100644 --- a/src/migrations/0024_rebuild_python_venv.py +++ b/src/migrations/0024_rebuild_python_venv.py @@ -30,6 +30,9 @@ def _get_all_venvs(dir, level=0, maxlevel=3): maxlevel - the depth of the recursion level - do not edit this, used as an iterator """ + if not os.path.exists(dir): + return [] + # Using os functions instead of glob, because glob doesn't support hidden # folders, and we need recursion with a fixed depth result = [] From 016e0e105b9b916e256cf62e1936f8bbe2067599 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 11 Aug 2022 16:00:56 +0200 Subject: [PATCH 07/92] Update changelog for 11.0.9.1 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 05c91650c..3eb9a330b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +yunohost (11.0.9.1) stable; urgency=low + + - [fix] venv rebuild: /opt may not exist ... + + -- Alexandre Aubin Thu, 11 Aug 2022 16:00:40 +0200 + yunohost (11.0.9) stable; urgency=low - [fix] services: Skip php 7.3 which is most likely dead after buster->bullseye migration because users get spooked (51804925) From 5d90971b5859f460cf1ae8907fa3071bac5acd5d Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Fri, 12 Aug 2022 22:22:21 +0200 Subject: [PATCH 08/92] [fix] -f and --force are not thje same with yunohos app upgrade --- locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/en.json b/locales/en.json index c34cf0198..e78cc06d3 100644 --- a/locales/en.json +++ b/locales/en.json @@ -506,7 +506,7 @@ "migration_0024_rebuild_python_venv_broken_app": "Skipping {app} because virtualenv can't easily be rebuilt for this app. Instead, you should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", "migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}", - "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade -f APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade --force APP`: {ignored_apps}", "migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild python virtualenv for `{app}`", "migration_0024_rebuild_python_venv_failed": "Failed to rebuild the python virtual env for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", "migration_description_0021_migrate_to_bullseye": "Upgrade the system to Debian Bullseye and YunoHost 11.x", From 64e35815dbce0513f0070846351cd67600d50c04 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 03:57:34 +0200 Subject: [PATCH 09/92] apt helpers: simplify ynh_remove_app_dependencies, we don't need to care about removing php-fpm services from yunohost, because 'yunohost service' now dynamically check what relevant phpX.Y-fpm service exist on the system --- helpers/apt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/helpers/apt b/helpers/apt index 5ddcba381..02c3a0ab7 100644 --- a/helpers/apt +++ b/helpers/apt @@ -362,16 +362,6 @@ ynh_remove_app_dependencies() { fi ynh_package_autopurge ${dep_app}-ynh-deps # Remove the fake package and its dependencies if they not still used. - - # Check if this app used a specific php version ... in which case we check - # if the corresponding php-fpm is still there. Otherwise, we remove the - # service from yunohost as well - - local specific_php_version=$(echo $current_dependencies | tr '-' ' ' | grep -o -E "\" | sed 's/php//g' | sort | uniq) - [[ "$specific_php_version" != "$YNH_DEFAULT_PHP_VERSION" ]] || specific_php_version="" - if [[ -n "$specific_php_version" ]] && ! ynh_package_is_installed --package="php${specific_php_version}-fpm"; then - yunohost service remove php${specific_php_version}-fpm - fi } # Install packages from an extra repository properly. From 273f0fed77b88de5e157d31bf7cba68e6073dc1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 13 Aug 2022 08:34:33 +0200 Subject: [PATCH 10/92] Update en.json Capitalize Python --- locales/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/en.json b/locales/en.json index e78cc06d3..25568bbc8 100644 --- a/locales/en.json +++ b/locales/en.json @@ -507,12 +507,12 @@ "migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}", "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade --force APP`: {ignored_apps}", - "migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild python virtualenv for `{app}`", - "migration_0024_rebuild_python_venv_failed": "Failed to rebuild the python virtual env for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", + "migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild the Python virtualenv for `{app}`", + "migration_0024_rebuild_python_venv_failed": "Failed to rebuild the Python virtualenv for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", "migration_description_0021_migrate_to_bullseye": "Upgrade the system to Debian Bullseye and YunoHost 11.x", "migration_description_0022_php73_to_php74_pools": "Migrate php7.3-fpm 'pool' conf files to php7.4", "migration_description_0023_postgresql_11_to_13": "Migrate databases from PostgreSQL 11 to 13", - "migration_description_0024_rebuild_python_venv": "Repair python app after bullseye migration", + "migration_description_0024_rebuild_python_venv": "Repair Python app after bullseye migration", "migration_ldap_backup_before_migration": "Creating a backup of LDAP database and apps settings prior to the actual migration.", "migration_ldap_can_not_backup_before_migration": "The backup of the system could not be completed before the migration failed. Error: {error}", "migration_ldap_migration_failed_trying_to_rollback": "Could not migrate... trying to roll back the system.", From c7a907bdc998fca89d0bcf6234c292056c5ba462 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 13 Aug 2022 12:37:32 +0000 Subject: [PATCH 11/92] [CI] Reformat / remove stale translated strings --- locales/ar.json | 2 +- locales/de.json | 2 +- locales/en.json | 11 +++++------ locales/es.json | 4 ++-- locales/fr.json | 2 +- locales/kab.json | 2 +- locales/ru.json | 4 ++-- locales/sk.json | 6 +++--- locales/te.json | 4 ++-- 9 files changed, 18 insertions(+), 19 deletions(-) diff --git a/locales/ar.json b/locales/ar.json index e37cdbcc7..17603ba8f 100644 --- a/locales/ar.json +++ b/locales/ar.json @@ -160,4 +160,4 @@ "diagnosis_description_ip": "الإتصال بالإنترنت", "diagnosis_description_basesystem": "النظام الأساسي", "field_invalid": "الحقل غير صحيح : '{}'" -} +} \ No newline at end of file diff --git a/locales/de.json b/locales/de.json index 4aa75270b..674212637 100644 --- a/locales/de.json +++ b/locales/de.json @@ -685,4 +685,4 @@ "migration_description_0023_postgresql_11_to_13": "Migrieren von Datenbanken von PostgreSQL 11 nach 13", "service_description_postgresql": "Speichert Applikations-Daten (SQL Datenbank)", "migration_0023_not_enough_space": "Stelle sicher, dass unter {path} genug Speicherplatz zur Verfügung steht, um die Migration auszuführen." -} +} \ No newline at end of file diff --git a/locales/en.json b/locales/en.json index 25568bbc8..7f18c7863 100644 --- a/locales/en.json +++ b/locales/en.json @@ -487,7 +487,6 @@ "main_domain_change_failed": "Unable to change the main domain", "main_domain_changed": "The main domain has been changed", "migration_0021_cleaning_up": "Cleaning up cache and packages not useful anymore...", - "migration_0021_venv_regen_failed": "The virtual environment '{venv}' failed to regenerate, you probably need to run the command `yunohost app upgrade --force`", "migration_0021_general_warning": "Please note that this migration is a delicate operation. The YunoHost team did its best to review and test it, but the migration might still break parts of the system or its apps.\n\nTherefore, it is recommended to:\n - Perform a backup of any critical data or app. More info on https://yunohost.org/backup;\n - Be patient after launching the migration: Depending on your Internet connection and hardware, it might take up to a few hours for everything to upgrade.", "migration_0021_main_upgrade": "Starting main upgrade...", "migration_0021_modified_files": "Please note that the following files were found to be manually modified and might be overwritten following the upgrade: {manually_modified_files}", @@ -504,11 +503,11 @@ "migration_0023_postgresql_11_not_installed": "PostgreSQL was not installed on your system. Nothing to do.", "migration_0023_postgresql_13_not_installed": "PostgreSQL 11 is installed, but not PostgreSQL 13!? Something weird might have happened on your system :(...", "migration_0024_rebuild_python_venv_broken_app": "Skipping {app} because virtualenv can't easily be rebuilt for this app. Instead, you should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", - "migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.", - "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}", - "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade --force APP`: {ignored_apps}", - "migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild the Python virtualenv for `{app}`", + "migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade --force APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}", "migration_0024_rebuild_python_venv_failed": "Failed to rebuild the Python virtualenv for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.", + "migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild the Python virtualenv for `{app}`", "migration_description_0021_migrate_to_bullseye": "Upgrade the system to Debian Bullseye and YunoHost 11.x", "migration_description_0022_php73_to_php74_pools": "Migrate php7.3-fpm 'pool' conf files to php7.4", "migration_description_0023_postgresql_11_to_13": "Migrate databases from PostgreSQL 11 to 13", @@ -693,4 +692,4 @@ "yunohost_installing": "Installing YunoHost...", "yunohost_not_installed": "YunoHost is not correctly installed. Please run 'yunohost tools postinstall'", "yunohost_postinstall_end_tip": "The post-install completed! To finalize your setup, please consider:\n - adding a first user through the 'Users' section of the webadmin (or 'yunohost user create ' in command-line);\n - diagnose potential issues through the 'Diagnosis' section of the webadmin (or 'yunohost diagnosis run' in command-line);\n - reading the 'Finalizing your setup' and 'Getting to know YunoHost' parts in the admin documentation: https://yunohost.org/admindoc." -} +} \ No newline at end of file diff --git a/locales/es.json b/locales/es.json index aebb959a8..fe88c14d3 100644 --- a/locales/es.json +++ b/locales/es.json @@ -600,7 +600,7 @@ "domain_dns_push_success": "¡Registros DNS actualizados!", "domain_dns_push_failed_to_authenticate": "No se pudo autenticar en la API del registrador para el dominio '{domain}'. ¿Lo más probable es que las credenciales sean incorrectas? (Error: {error})", "domain_dns_registrar_experimental": "Hasta ahora, la comunidad de YunoHost no ha probado ni revisado correctamente la interfaz con la API de **{registrar}**. El soporte es **muy experimental**. ¡Ten cuidado!", - "domain_dns_push_record_failed": "No se pudo {acción} registrar {tipo}/{nombre}: {error}", + "domain_dns_push_record_failed": "No se pudo {action} registrar {type}/{name}: {error}", "domain_config_features_disclaimer": "Hasta ahora, habilitar/deshabilitar las funciones de correo o XMPP solo afecta la configuración de DNS recomendada y automática, ¡no las configuraciones del sistema!", "domain_config_mail_in": "Correos entrantes", "domain_config_mail_out": "Correos salientes", @@ -685,4 +685,4 @@ "show_tile_cant_be_enabled_for_regex": "No puede habilitar 'show_tile' en este momento porque la URL para el permiso '{permission}' es una expresión regular", "show_tile_cant_be_enabled_for_url_not_defined": "No puede habilitar 'show_tile' en este momento, porque primero debe definir una URL para el permiso '{permission}'", "regex_incompatible_with_tile": "/!\\ Empaquetadores! El permiso '{permission}' tiene show_tile establecido en 'true' y, por lo tanto, no puede definir una URL de expresión regular como la URL principal" -} +} \ No newline at end of file diff --git a/locales/fr.json b/locales/fr.json index 77f1ca9d1..1e9fcaa5e 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -685,4 +685,4 @@ "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_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire." -} +} \ No newline at end of file diff --git a/locales/kab.json b/locales/kab.json index 5daa7cef0..99edca7ad 100644 --- a/locales/kab.json +++ b/locales/kab.json @@ -11,4 +11,4 @@ "diagnosis_description_dnsrecords": "Ikalasen DNS", "diagnosis_description_web": "Réseau", "domain_created": "Taɣult tettwarna" -} +} \ No newline at end of file diff --git a/locales/ru.json b/locales/ru.json index 1546c4d6e..0077add44 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -332,7 +332,7 @@ "permission_already_up_to_date": "Разрешение не было обновлено, потому что запросы на добавление/удаление уже соответствуют текущему состоянию.", "group_cannot_edit_primary_group": "Группа '{group}' не может быть отредактирована вручную. Это основная группа, предназначенная для содержания только одного конкретного пользователя.", "log_app_remove": "Удалите приложение '{}'", - "not_enough_disk_space": "Недостаточно свободного места в '{путь}'", + "not_enough_disk_space": "Недостаточно свободного места в '{path}'", "pattern_email_forward": "Должен быть корректный адрес электронной почты, символ '+' допустим (например, someone+tag@example.com)", "permission_deletion_failed": "Не удалось удалить разрешение '{permission}': {error}" -} +} \ No newline at end of file diff --git a/locales/sk.json b/locales/sk.json index ac9d565bc..7ac7097f1 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -204,12 +204,12 @@ "diagnosis_everything_ok": "V kategórii {category} vyzerá byť všetko v poriadku!", "diagnosis_failed": "Nepodarilo sa získať výsledok diagnostiky pre kategóriu '{category}': {error}", "diagnosis_failed_for_category": "Diagnostika pre kategóriu '{category}' skončila s chybou: {error}", - "diagnosis_found_errors": "Bolo nájdených {error} závažných chýb týkajúcich sa {category}!", - "diagnosis_found_errors_and_warnings": "Bolo nájdených {error} závažných chýb (a {warnings} varovaní) týkajúcich sa {category}!", + "diagnosis_found_errors": "Bolo nájdených {errors} závažných chýb týkajúcich sa {category}!", + "diagnosis_found_errors_and_warnings": "Bolo nájdených {errors} závažných chýb (a {warnings} varovaní) týkajúcich sa {category}!", "diagnosis_found_warnings": "V kategórii {category} bolo nájdených {warnings} položiek, ktoré je možné opraviť.", "diagnosis_http_connection_error": "Chyba pripojenia: nepodarilo sa pripojiť k požadovanej doméne, podľa všetkého je nedostupná.", "diagnosis_http_could_not_diagnose": "Nepodarilo sa zistiť, či sú domény dostupné zvonka pomocou IPv{ipversion}.", "diagnosis_http_could_not_diagnose_details": "Chyba: {error}", "diagnosis_http_hairpinning_issue": "Zdá sa, že Vaša miestna sieť nemá zapnutý NAT hairpinning.", "diagnosis_high_number_auth_failures": "V poslednom čase bol zistený neobvykle vysoký počet neúspešných prihlásení. Uistite sa, či je služba fail2ban spustená a správne nastavená alebo použite vlastný port pre SSH ako je popísané na https://yunohost.org/security." -} +} \ No newline at end of file diff --git a/locales/te.json b/locales/te.json index fa6ac91c8..ca871c2ae 100644 --- a/locales/te.json +++ b/locales/te.json @@ -13,6 +13,6 @@ "admin_password_too_long": "దయచేసి 127 క్యారెక్టర్ల కంటే చిన్న పాస్వర్డ్ ఎంచుకోండి", "app_action_broke_system": "ఈ చర్య ఈ ముఖ్యమైన సేవలను విచ్ఛిన్నం చేసినట్లుగా కనిపిస్తోంది: {services}", "app_action_cannot_be_ran_because_required_services_down": "ఈ చర్యను అమలు చేయడానికి ఈ అవసరమైన సేవలు అమలు చేయబడాలి: {services}. కొనసాగడం కొరకు వాటిని పునఃప్రారంభించడానికి ప్రయత్నించండి (మరియు అవి ఎందుకు పనిచేయడం లేదో పరిశోధించవచ్చు).", - "app_argument_choice_invalid": "ఆర్గ్యుమెంట్ '{name}' కొరకు చెల్లుబాటు అయ్యే వైల్యూ ఎంచుకోండి: '{value}' అనేది లభ్యం అవుతున్న ఎంపికల్లో ({Choices}) లేదు", + "app_argument_choice_invalid": "ఆర్గ్యుమెంట్ '{name}' కొరకు చెల్లుబాటు అయ్యే వైల్యూ ఎంచుకోండి: '{value}' అనేది లభ్యం అవుతున్న ఎంపికల్లో ({choices}) లేదు", "app_argument_password_no_default": "పాస్వర్డ్ ఆర్గ్యుమెంట్ '{name}'ని పార్సింగ్ చేసేటప్పుడు దోషం: భద్రతా కారణం కొరకు పాస్వర్డ్ ఆర్గ్యుమెంట్ డిఫాల్ట్ విలువను కలిగి ఉండరాదు" -} +} \ No newline at end of file From 31aacb3361e482298f472e231b245b6fb2bc1a5d Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 17:38:47 +0200 Subject: [PATCH 12/92] diagnosis: add complains if some app installed are still requiring only yunohost 3.x --- src/diagnosers/80-apps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/diagnosers/80-apps.py b/src/diagnosers/80-apps.py index 56e45f831..353620cdc 100644 --- a/src/diagnosers/80-apps.py +++ b/src/diagnosers/80-apps.py @@ -64,7 +64,7 @@ class MyDiagnoser(Diagnoser): yunohost_version_req = ( app["manifest"].get("requirements", {}).get("yunohost", "").strip(">= ") ) - if yunohost_version_req.startswith("2."): + if yunohost_version_req.startswith("2.") or yunohost_version_req.startswith("3."): yield ("error", "diagnosis_apps_outdated_ynh_requirement") deprecated_helpers = [ From d2a6dcd41a44d1a87c8f0965e0338be995565291 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 18:41:52 +0200 Subject: [PATCH 13/92] venv rebuild: migration should have an empty disclaimer when in auto mode --- src/migrations/0024_rebuild_python_venv.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/migrations/0024_rebuild_python_venv.py b/src/migrations/0024_rebuild_python_venv.py index 10db7a34a..5ead78b19 100644 --- a/src/migrations/0024_rebuild_python_venv.py +++ b/src/migrations/0024_rebuild_python_venv.py @@ -98,6 +98,10 @@ class MyMigration(Migration): if not self.is_pending(): return None + # Disclaimer should be empty if in auto, otherwise it excepts the --accept-disclaimer option during debian postinst + if self.mode == "auto": + return None + ignored_apps = [] rebuild_apps = [] @@ -133,6 +137,9 @@ class MyMigration(Migration): def run(self): + if self.mode == "auto": + return + venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/") for venv in venvs: From 98506d6a735529f28403b26dc66b32cc98f3329e Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 19:04:54 +0200 Subject: [PATCH 14/92] bullseye migration: add critical fix for RPi failing to get network on reboot --- src/migrations/0021_migrate_to_bullseye.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 01b846573..6b23f8086 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -185,6 +185,17 @@ class MyMigration(Migration): del services["postgresql"] _save_services(services) + # + # Critical fix for RPI otherwise network is down after rebooting + # https://forum.yunohost.org/t/20652 + # + if os.system("systemctl | grep -q dhcpcd") == 0: + os.system("mkdir -p /etc/systemd/system/dhcpcd.service.d") + write_to_file( + "/etc/systemd/system/dhcpcd.service.d/wait.conf", + '[Service]\nExecStart=\nExecStart=/usr/sbin/dhcpcd -w' + ) + # # Main upgrade # From 3f0b19d17d8505a3359027dae89b25c8cb1b26ef Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 19:34:35 +0200 Subject: [PATCH 15/92] bullseye migration: add the patch for the build-essential / libc6-dev / libgcc-8-dev hell ... --- src/migrations/0021_migrate_to_bullseye.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 6b23f8086..ee83199d2 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -190,12 +190,26 @@ class MyMigration(Migration): # https://forum.yunohost.org/t/20652 # if os.system("systemctl | grep -q dhcpcd") == 0: + logger.info("Applying fix for DHCPCD ...") os.system("mkdir -p /etc/systemd/system/dhcpcd.service.d") write_to_file( "/etc/systemd/system/dhcpcd.service.d/wait.conf", '[Service]\nExecStart=\nExecStart=/usr/sbin/dhcpcd -w' ) + # + # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev + # https://forum.yunohost.org/t/20617 + # + if os.system("grep -A10 'ynh-deps' /var/lib/dpkg/status | grep -q 'Depends:.*build-essential'") == 0: + logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") + os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") + # This removes the dependency to build-essential from $app-ynh-deps + os.system("perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status") + self.apt("build-essential", verb="remove") + os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") + self.apt("gcc-8 libgcc-8-dev", verb="remove") + # # Main upgrade # @@ -288,7 +302,7 @@ class MyMigration(Migration): # Clean the mess logger.info(m18n.n("migration_0021_cleaning_up")) - os.system("apt autoremove --assume-yes") + os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") os.system("apt clean --assume-yes") # @@ -464,6 +478,9 @@ class MyMigration(Migration): os.system(f"apt-mark unhold {package}") def apt_install(self, cmd): + return self.apt(cmd, verb="install") + + def apt(self, cmd, verb="install"): def is_relevant(line): return "Reading database ..." not in line.rstrip() @@ -477,7 +494,7 @@ class MyMigration(Migration): ) cmd = ( - "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt install --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + f"LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt {verb} --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + cmd ) From 625eb79ca342f8d705eb2f59d6c44ca16c71d0ca Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 19:38:28 +0200 Subject: [PATCH 16/92] bullseye migration: add fix for stupid dnsmasq not picking new init script --- src/migrations/0021_migrate_to_bullseye.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index ee83199d2..ce7d25262 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -305,6 +305,14 @@ class MyMigration(Migration): os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") os.system("apt clean --assume-yes") + # + # Stupid hack for stupid dnsmasq not picking up its new init.d script then breaking everything ... + # https://forum.yunohost.org/t/20676 + # + if os.path.exists("/etc/init.d/dnsmasq.dpkg-dist"): + logger.info("Copying new version for /etc/init.d/dnsmasq ...") + os.system("cp /etc/init.d/dnsmasq.dpkg-dist /etc/init.d/dnsmasq") + # # Yunohost upgrade # From 61175392edeb593f6a26d8e64bf91004474152e7 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 19:50:35 +0200 Subject: [PATCH 17/92] bullseye migration: backport a bunch of fixes from the dev branch --- .../0021_migrate_to_bullseye.py | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 162b8e376..ce7d25262 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -185,6 +185,31 @@ class MyMigration(Migration): del services["postgresql"] _save_services(services) + # + # Critical fix for RPI otherwise network is down after rebooting + # https://forum.yunohost.org/t/20652 + # + if os.system("systemctl | grep -q dhcpcd") == 0: + logger.info("Applying fix for DHCPCD ...") + os.system("mkdir -p /etc/systemd/system/dhcpcd.service.d") + write_to_file( + "/etc/systemd/system/dhcpcd.service.d/wait.conf", + '[Service]\nExecStart=\nExecStart=/usr/sbin/dhcpcd -w' + ) + + # + # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev + # https://forum.yunohost.org/t/20617 + # + if os.system("grep -A10 'ynh-deps' /var/lib/dpkg/status | grep -q 'Depends:.*build-essential'") == 0: + logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") + os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") + # This removes the dependency to build-essential from $app-ynh-deps + os.system("perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status") + self.apt("build-essential", verb="remove") + os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") + self.apt("gcc-8 libgcc-8-dev", verb="remove") + # # Main upgrade # @@ -277,9 +302,17 @@ class MyMigration(Migration): # Clean the mess logger.info(m18n.n("migration_0021_cleaning_up")) - os.system("apt autoremove --assume-yes") + os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") os.system("apt clean --assume-yes") + # + # Stupid hack for stupid dnsmasq not picking up its new init.d script then breaking everything ... + # https://forum.yunohost.org/t/20676 + # + if os.path.exists("/etc/init.d/dnsmasq.dpkg-dist"): + logger.info("Copying new version for /etc/init.d/dnsmasq ...") + os.system("cp /etc/init.d/dnsmasq.dpkg-dist /etc/init.d/dnsmasq") + # # Yunohost upgrade # @@ -337,7 +370,7 @@ class MyMigration(Migration): raise YunohostError("migration_0021_not_buster") # Have > 1 Go free space on /var/ ? - if free_space_in_directory("/var/") / (1024 ** 3) < 1.0: + if free_space_in_directory("/var/") / (1024**3) < 1.0: raise YunohostError("migration_0021_not_enough_free_space") # Check system is up to date @@ -453,6 +486,9 @@ class MyMigration(Migration): os.system(f"apt-mark unhold {package}") def apt_install(self, cmd): + return self.apt(cmd, verb="install") + + def apt(self, cmd, verb="install"): def is_relevant(line): return "Reading database ..." not in line.rstrip() @@ -466,7 +502,7 @@ class MyMigration(Migration): ) cmd = ( - "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt install --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + f"LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt {verb} --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + cmd ) From f7fc609abe1cf8fa1dc0767f0c25a182fadd3ece Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 13 Aug 2022 17:54:50 +0000 Subject: [PATCH 18/92] [CI] Format code with Black --- src/diagnosers/80-apps.py | 4 +++- src/migrations/0021_migrate_to_bullseye.py | 25 ++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/diagnosers/80-apps.py b/src/diagnosers/80-apps.py index 353620cdc..c4c7f48eb 100644 --- a/src/diagnosers/80-apps.py +++ b/src/diagnosers/80-apps.py @@ -64,7 +64,9 @@ class MyDiagnoser(Diagnoser): yunohost_version_req = ( app["manifest"].get("requirements", {}).get("yunohost", "").strip(">= ") ) - if yunohost_version_req.startswith("2.") or yunohost_version_req.startswith("3."): + if yunohost_version_req.startswith("2.") or yunohost_version_req.startswith( + "3." + ): yield ("error", "diagnosis_apps_outdated_ynh_requirement") deprecated_helpers = [ diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index ce7d25262..5d624c01a 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -194,20 +194,31 @@ class MyMigration(Migration): os.system("mkdir -p /etc/systemd/system/dhcpcd.service.d") write_to_file( "/etc/systemd/system/dhcpcd.service.d/wait.conf", - '[Service]\nExecStart=\nExecStart=/usr/sbin/dhcpcd -w' + "[Service]\nExecStart=\nExecStart=/usr/sbin/dhcpcd -w", ) # # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev # https://forum.yunohost.org/t/20617 # - if os.system("grep -A10 'ynh-deps' /var/lib/dpkg/status | grep -q 'Depends:.*build-essential'") == 0: - logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") + if ( + os.system( + "grep -A10 'ynh-deps' /var/lib/dpkg/status | grep -q 'Depends:.*build-essential'" + ) + == 0 + ): + logger.info( + "Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ..." + ) os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps - os.system("perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status") + os.system( + "perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status" + ) self.apt("build-essential", verb="remove") - os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") + os.system( + "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes" + ) self.apt("gcc-8 libgcc-8-dev", verb="remove") # @@ -302,7 +313,9 @@ class MyMigration(Migration): # Clean the mess logger.info(m18n.n("migration_0021_cleaning_up")) - os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") + os.system( + "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes" + ) os.system("apt clean --assume-yes") # From 71ad719aafa90e0103d3e1347cb422adb6585f44 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 19:55:55 +0200 Subject: [PATCH 19/92] Update changelog for 4.4.2.2 --- debian/changelog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index 5582bb2ef..962455902 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +yunohost (4.4.2.2) stable; urgency=low + + - [fix] bullseye migration: add fix for stupid dnsmasq not picking new init script (origin/dev, origin/HEAD, dev) + - [fix] bullseye migration: add the patch for the build-essential / libc6-dev / libgcc-8-dev hell ... + - [fix] bullseye migration: add critical fix for RPi failing to get network on reboot + + -- Alexandre Aubin Sat, 13 Aug 2022 19:55:38 +0200 + yunohost (4.4.2.1) stable; urgency=low - [fix] bullseye migration: /opt may not exist ... (5fd74577) From d161da039aecc67ed8e18e66b0f1e60a54238fd3 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 20:02:33 +0200 Subject: [PATCH 20/92] postgresql 11->13 migration: skip if no yunohost app depend on postgresql --- src/migrations/0023_postgresql_11_to_13.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/migrations/0023_postgresql_11_to_13.py b/src/migrations/0023_postgresql_11_to_13.py index 8f03f8c5f..206143dbb 100644 --- a/src/migrations/0023_postgresql_11_to_13.py +++ b/src/migrations/0023_postgresql_11_to_13.py @@ -19,6 +19,10 @@ class MyMigration(Migration): def run(self): + if os.system('grep -A10 "ynh-deps" /var/lib/dpkg/status | grep "Package:\|Depends:" | grep -B1 postgresql') != 0: + logger.info("No YunoHost app seem to require postgresql... Skipping!") + return + if not self.package_is_installed("postgresql-11"): logger.warning(m18n.n("migration_0023_postgresql_11_not_installed")) return From 77c2f5dcd6d4e3c6cfa1864dcf1529887a703b80 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 20:05:40 +0200 Subject: [PATCH 21/92] bullseye migration: add ffsync to deprecated apps --- src/yunohost/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/yunohost/app.py b/src/yunohost/app.py index 997403a07..8d42225f7 100644 --- a/src/yunohost/app.py +++ b/src/yunohost/app.py @@ -2502,7 +2502,7 @@ def is_true(arg): def unstable_apps(): output = [] - deprecated_apps = ["mailman"] + deprecated_apps = ["mailman", "ffsync"] for infos in app_list(full=True)["apps"]: From b3d28bf85de7affc3f5a1ad6ae2af9051c84773c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 20:06:47 +0200 Subject: [PATCH 22/92] Update changelog for 4.4.2.3 --- debian/changelog | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 962455902..be9c07de5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,11 @@ -yunohost (4.4.2.2) stable; urgency=low +yunohost (4.4.2.3) stable; urgency=low - [fix] bullseye migration: add fix for stupid dnsmasq not picking new init script (origin/dev, origin/HEAD, dev) - [fix] bullseye migration: add the patch for the build-essential / libc6-dev / libgcc-8-dev hell ... - [fix] bullseye migration: add critical fix for RPi failing to get network on reboot + - [fix] bullseye migration: add ffsync to deprecated apps (77c2f5dc) - -- Alexandre Aubin Sat, 13 Aug 2022 19:55:38 +0200 + -- Alexandre Aubin Sat, 13 Aug 2022 20:06:00 +0200 yunohost (4.4.2.1) stable; urgency=low From 9ce2bf98ab7c72f9648afbe6e2e4c9a698c41743 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 20:10:10 +0200 Subject: [PATCH 23/92] Update changelog for 11.0.9.2 --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index ddbf63b1e..dc0a418fe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +yunohost (11.0.9.2) stable; urgency=low + + - [fix] venv rebuild: fix yunohost app force upgrade command (5d90971b) + - [fix] apt helpers: simplify ynh_remove_app_dependencies, we don't need to care about removing php-fpm services from yunohost, because 'yunohost service' now dynamically check what relevant phpX.Y-fpm service exist on the system (64e35815) + - [enh] diagnosis: add complains if some app installed are still requiring only yunohost 3.x (31aacb33) + - [fix] venv rebuild: migration should have an empty disclaimer when in auto mode (d2a6dcd4) + - [fix] postgresql 11->13 migration: skip if no yunohost app depend on postgresql (d161da03) + + Thanks to all contributors <3 ! (Éric Gaspar, ljf) + + -- Alexandre Aubin Sat, 13 Aug 2022 20:08:27 +0200 + yunohost (11.0.9.1) stable; urgency=low - [fix] venv rebuild: /opt may not exist ... From 42d893e1e73dc5afb873313a07218a1c42bec0b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M?= Date: Fri, 12 Aug 2022 04:56:20 +0000 Subject: [PATCH 24/92] Translated using Weblate (Galician) Currently translated at 99.1% (688 of 694 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/gl/ --- locales/gl.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/locales/gl.json b/locales/gl.json index 4a77645d6..b0876f368 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -684,5 +684,7 @@ "migration_description_0023_postgresql_11_to_13": "Migrar bases de datos de PostgreSQL 11 a 13", "service_description_postgresql": "Almacena datos da app (Base datos SQL)", "tools_upgrade": "Actualizando paquetes do sistema", - "domain_config_default_app": "App por defecto" -} \ No newline at end of file + "domain_config_default_app": "App por defecto", + "migration_0021_venv_regen_failed": "Fallou a rexeneración do entorno virtual '{venv}', probablemente teñas que executar o comando `yunohost app upgrade --force`", + "migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`." +} From af637362f73f56598bdd735ee4acdc2e4167a56b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M?= Date: Fri, 12 Aug 2022 05:44:06 +0000 Subject: [PATCH 25/92] Translated using Weblate (Galician) Currently translated at 100.0% (694 of 694 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/gl/ --- locales/gl.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/locales/gl.json b/locales/gl.json index b0876f368..c09a0412e 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -686,5 +686,11 @@ "tools_upgrade": "Actualizando paquetes do sistema", "domain_config_default_app": "App por defecto", "migration_0021_venv_regen_failed": "Fallou a rexeneración do entorno virtual '{venv}', probablemente teñas que executar o comando `yunohost app upgrade --force`", - "migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`." + "migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`.", + "migration_0024_rebuild_python_venv_disclaimer_base": "Após a actualización a Debian Bullseye, algunhas aplicacións de Python precisan ser reconstruídas para usar a nova versión de Python que inclúe Debian (técnicamente: recrear o `virtualenv`). Mentras tanto, algunhas aplicacións de Python poderían non funcionar. YunoHost pode intentar reconstruir o virtualenv para algunhas, como se indica abaixo. Para outras, ou se falla a reconstrución, pode que teñas que forzar a actualización desas apps.", + "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Vaise intentar a reconstrución de virtualenv para as seguintes apps (Nota: a operación podería tomar algún tempo!): {rebuild_apps}", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Non se puido reconstruir virtualenv para estas apps. Precisas forzar a súa actualización, pódelo facer desde a liña de comandos con: `yunohost app upgrade -f APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir python virtualenv para `{app}`", + "migration_description_0024_rebuild_python_venv": "Reparar app python após a migración a bullseye", + "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`." } From 27e5031ad7e41a1d65eb6a2adff78190341580b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= Date: Sat, 13 Aug 2022 06:43:49 +0000 Subject: [PATCH 26/92] Translated using Weblate (French) Currently translated at 100.0% (694 of 694 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/fr/ --- locales/fr.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/locales/fr.json b/locales/fr.json index 77f1ca9d1..f99af7dc1 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -546,7 +546,7 @@ "app_manifest_install_ask_domain": "Choisissez le domaine sur lequel vous souhaitez installer cette application", "global_settings_setting_smtp_relay_user": "Compte utilisateur du relais SMTP", "global_settings_setting_smtp_relay_port": "Port du relais SMTP", - "global_settings_setting_smtp_relay_host": "Un relais SMTP permet d'envoyer du courrier à la place de cette instance YunoHost. Cela est utile si vous êtes dans l'une de ces situations : le port 25 est bloqué par votre FAI ou par votre fournisseur VPS ; vous avez une IP résidentielle répertoriée sur DUHL ; vous ne pouvez pas configurer le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et vous voulez en utiliser un autre pour envoyer des mails.", + "global_settings_setting_smtp_relay_host": "Relais SMTP à utiliser pour pouvoir envoyer des mails au lieu d'utiliser cette instance YunoHost. Cela est utile si vous êtes dans l'une de ces situations : le port 25 est bloqué par votre FAI ou votre fournisseur VPS ; vous avez une IP résidentielle répertoriée sur DUHL ; vous ne pouvez pas configurer le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et vous voulez en utiliser un autre pour envoyer des mails.", "diagnosis_package_installed_from_sury_details": "Certains paquets ont été installés par inadvertance à partir d'un dépôt tiers appelé Sury. L'équipe YunoHost a amélioré la stratégie de gestion de ces paquets, mais on s'attend à ce que certaines configurations qui ont installé des applications PHP7.3 tout en étant toujours sur Stretch présentent des incohérences. Pour résoudre cette situation, vous devez essayer d'exécuter la commande suivante : {cmd_to_fix}", "app_argument_password_no_default": "Erreur lors de l'analyse de l'argument de mot de passe '{name}' : l'argument de mot de passe ne peut pas avoir de valeur par défaut pour des raisons de sécurité", "pattern_email_forward": "L'adresse électronique doit être valide, le symbole '+' étant accepté (par exemple : johndoe+yunohost@exemple.com)", @@ -684,5 +684,13 @@ "migration_0023_postgresql_13_not_installed": "PostgreSQL 11 est installé, mais pas PostgreSQL 13 ! ? Quelque chose d'anormal s'est peut-être produit sur votre système :(...", "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_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.", + "migration_0021_venv_regen_failed": "L'environnement virtuel '{venv}' n'a pas pu se régénérer, vous devez probablement exécuter la commande `yunohost app upgrade --force`", + "migration_0024_rebuild_python_venv_disclaimer_rebuild": "La reconstruction du virtualenv sera tentée pour les applications suivantes (NB : l'opération peut prendre un certain temps !) : {rebuild_apps}", + "migration_0024_rebuild_python_venv_in_progress": "Tentative de reconstruction du virtualenv Python pour `{app}`", + "migration_0024_rebuild_python_venv_failed": "Échec de la reconstruction de l'environnement virtuel Python pour {app}. L'application peut ne pas fonctionner tant que ce problème n'est pas résolu. Vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.", + "migration_description_0024_rebuild_python_venv": "Réparer l'application Python après la migration Bullseye", + "migration_0024_rebuild_python_venv_broken_app": "Ignorer {app} car virtualenv ne peut pas être facilement reconstruit pour cette application. Au lieu de cela, vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.", + "migration_0024_rebuild_python_venv_disclaimer_base": "Suite à la mise à niveau vers Debian Bullseye, certaines applications Python doivent être partiellement reconstruites pour être converties vers la nouvelle version Python livrée dans Debian (en termes techniques : ce qu'on appelle le \"virtualenv\" doit être recréé). En attendant, ces applications Python peuvent ne pas fonctionner. YunoHost peut tenter de reconstruire le virtualenv pour certains d'entre eux, comme détaillé ci-dessous. Pour les autres applications, ou si la tentative de reconstruction échoue, vous devrez forcer manuellement une mise à niveau pour ces applications.", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Les virtualenvs ne peuvent pas être reconstruits automatiquement pour ces applications. Vous devez forcer une mise à jour pour ceux-ci, ce qui peut être fait à partir de la ligne de commande : `yunohost app upgrade --force APP` : {ignored_apps}" } From 7684e219a97161cfcee5f7f18a96bd7e67cb7076 Mon Sep 17 00:00:00 2001 From: punkrockgirl Date: Sat, 13 Aug 2022 13:41:55 +0000 Subject: [PATCH 27/92] Translated using Weblate (Basque) Currently translated at 100.0% (694 of 694 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/eu/ --- locales/eu.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/locales/eu.json b/locales/eu.json index e0ce226d5..96d5d8c2e 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -684,5 +684,13 @@ "migration_0023_postgresql_11_not_installed": "PostgreSQL ez zegoen zure isteman instalatuta. Ez dago egitekorik.", "migration_0023_postgresql_13_not_installed": "PostgreSQL 11 dago instalatuta baina PostgreSQL 13 ez!? Zerbait arraroa gertatu omen zaio zure sistemari :( …", "migration_description_0022_php73_to_php74_pools": "Migratu php7.3-fpm 'pool' ezarpen-fitxategiak php7.4ra", - "migration_description_0023_postgresql_11_to_13": "Migratu datubaseak PostgreSQL 11tik 13ra" -} \ No newline at end of file + "migration_description_0023_postgresql_11_to_13": "Migratu datubaseak PostgreSQL 11tik 13ra", + "migration_0021_venv_regen_failed": "'{venv}' ingurune birtuala ezin izan da birsortu, ziurrenik `yunohost app upgrade --force` komandoa exekutatu behar duzu", + "migration_0024_rebuild_python_venv_broken_app": "{app} aplikazioari ez ikusiarena egin zaio ezin delako ingurune birtuala modu errazean birsortu. Horren ordez, aplikazioaren eguneraketa behartzen saia zaitezke `yunohost app upgrade --force {app}` arazoa konpontzeko.", + "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Ondorengo aplikazioen virtualenv-a birsortzeko saiakera egingo da (eragiketak luze jo dezake!): {rebuild_apps}", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenv-ak ezin dira birsortu aplikazio horientzat. Eguneraketa behartu behar duzu horientzat, ondorengo komandoa exekutatuz egin daiteke: `yunohost app upgrade --force APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_in_progress": "`{app}` aplikazioaren Python virtualenv-a birsortzeko lanetan", + "migration_0024_rebuild_python_venv_failed": "Kale egin du {app} aplikazioaren Python virtualenv-aren birsorkuntza saiakerak. Litekeena da aplikazioak ez funtzionatzea arazoa konpondu arte. Aplikazioaren eguneraketa behartu beharko zenuke ondorengo komandoarekin: `yunohost app upgrade --force {app}`.", + "migration_description_0024_rebuild_python_venv": "Konpondu Python aplikazioa Bullseye eguneraketa eta gero", + "migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu." +} From 46e36240a2d7adff11d98ec66b9add088414dd74 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 21:47:46 +0200 Subject: [PATCH 28/92] Update locales/fr.json --- locales/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/fr.json b/locales/fr.json index f99af7dc1..fcddbe9fc 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -546,7 +546,7 @@ "app_manifest_install_ask_domain": "Choisissez le domaine sur lequel vous souhaitez installer cette application", "global_settings_setting_smtp_relay_user": "Compte utilisateur du relais SMTP", "global_settings_setting_smtp_relay_port": "Port du relais SMTP", - "global_settings_setting_smtp_relay_host": "Relais SMTP à utiliser pour pouvoir envoyer des mails au lieu d'utiliser cette instance YunoHost. Cela est utile si vous êtes dans l'une de ces situations : le port 25 est bloqué par votre FAI ou votre fournisseur VPS ; vous avez une IP résidentielle répertoriée sur DUHL ; vous ne pouvez pas configurer le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et vous voulez en utiliser un autre pour envoyer des mails.", + "global_settings_setting_smtp_relay_host": "Relais SMTP à utiliser pour envoyer les mails au lieu de cette instance YunoHost. Cela est utile si vous êtes dans l'une de ces situations : le port 25 est bloqué par votre FAI ou votre fournisseur VPS ; vous avez une IP résidentielle répertoriée sur DUHL ; vous ne pouvez pas configurer le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et vous voulez en utiliser un autre pour envoyer des mails.", "diagnosis_package_installed_from_sury_details": "Certains paquets ont été installés par inadvertance à partir d'un dépôt tiers appelé Sury. L'équipe YunoHost a amélioré la stratégie de gestion de ces paquets, mais on s'attend à ce que certaines configurations qui ont installé des applications PHP7.3 tout en étant toujours sur Stretch présentent des incohérences. Pour résoudre cette situation, vous devez essayer d'exécuter la commande suivante : {cmd_to_fix}", "app_argument_password_no_default": "Erreur lors de l'analyse de l'argument de mot de passe '{name}' : l'argument de mot de passe ne peut pas avoir de valeur par défaut pour des raisons de sécurité", "pattern_email_forward": "L'adresse électronique doit être valide, le symbole '+' étant accepté (par exemple : johndoe+yunohost@exemple.com)", From 3cb1a41aa8acd352c95ecd94900b5ad9fec86aff Mon Sep 17 00:00:00 2001 From: Kay0u Date: Sat, 13 Aug 2022 22:28:27 +0200 Subject: [PATCH 29/92] fix linter in postgresql migration --- src/migrations/0023_postgresql_11_to_13.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/migrations/0023_postgresql_11_to_13.py b/src/migrations/0023_postgresql_11_to_13.py index 206143dbb..5c788584e 100644 --- a/src/migrations/0023_postgresql_11_to_13.py +++ b/src/migrations/0023_postgresql_11_to_13.py @@ -1,5 +1,6 @@ import subprocess import time +import os from moulinette import m18n from yunohost.utils.error import YunohostError, YunohostValidationError @@ -19,7 +20,7 @@ class MyMigration(Migration): def run(self): - if os.system('grep -A10 "ynh-deps" /var/lib/dpkg/status | grep "Package:\|Depends:" | grep -B1 postgresql') != 0: + if os.system('grep -A10 "ynh-deps" /var/lib/dpkg/status | grep -E "Package:|Depends:" | grep -B1 postgresql') != 0: logger.info("No YunoHost app seem to require postgresql... Skipping!") return From 8d84c91e03e9c7bbd4bd8fb6df81bf87e86dc52a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 13 Aug 2022 22:39:36 +0200 Subject: [PATCH 30/92] Update changelog for 11.0.9.3 --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index dc0a418fe..f19637b5d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +yunohost (11.0.9.3) stable; urgency=low + + - [fix] postgresql 11->13: Epic typo / missing import (3cb1a41a) + - [i18n] Translations updated for Basque, French, Galician + + Thanks to all contributors <3 ! (Éric Gaspar, José M, Kay0u, punkrockgirl) + + -- Alexandre Aubin Sat, 13 Aug 2022 22:37:05 +0200 + yunohost (11.0.9.2) stable; urgency=low - [fix] venv rebuild: fix yunohost app force upgrade command (5d90971b) From e68fc821cf02dd53cd18e608696f907f2d59272f Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:07:04 +0200 Subject: [PATCH 31/92] bullseye migration: trash pip freeze stderr because it's confusing users ... --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index ce7d25262..e8f664675 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -66,7 +66,7 @@ def _backup_pip_freeze_for_python_app_venvs(): venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/") for venv in venvs: # Generate a requirements file from venv - os.system(f"{venv}/bin/pip freeze > {venv}{VENV_REQUIREMENTS_SUFFIX}") + os.system(f"{venv}/bin/pip freeze > {venv}{VENV_REQUIREMENTS_SUFFIX} 2>/dev/null") class MyMigration(Migration): From 02fcbd9792f35b9edf9aa635779ae79fa6cc9345 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:10:10 +0200 Subject: [PATCH 32/92] bullseye migration: add a check that there's at least 70MB available in /boot ... --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index e8f664675..9b11f8084 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -373,6 +373,9 @@ class MyMigration(Migration): if free_space_in_directory("/var/") / (1024**3) < 1.0: raise YunohostError("migration_0021_not_enough_free_space") + if free_space_in_directory("/boot/") / (70**3) < 1.0: + raise YunohostError("/boot/ has less than 70MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old unused kernels to free some space in /boot/.", raw_msg=True) + # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... # which means maybe a previous upgrade crashed and we're re-running it) From 633a1fbffe5b374c30814f9152ed0f5883513804 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:17:24 +0200 Subject: [PATCH 33/92] bullseye migration: better detection mechanism for the libc6 / libgcc hell issue --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 9b11f8084..7a47941a1 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -201,7 +201,7 @@ class MyMigration(Migration): # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev # https://forum.yunohost.org/t/20617 # - if os.system("grep -A10 'ynh-deps' /var/lib/dpkg/status | grep -q 'Depends:.*build-essential'") == 0: + if os.sytem("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev '") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi"): logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps From 0a66d039c2b583d416f52e8230009491314a2933 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:18:55 +0200 Subject: [PATCH 34/92] Update changelog for 4.4.2.4 --- debian/changelog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian/changelog b/debian/changelog index be9c07de5..3ad7323d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +yunohost (4.4.2.4) stable; urgency=low + + - [fix] bullseye migration: trash pip freeze stderr because it's confusing users ... (e68fc821) + - [fix] bullseye migration: add a check that there's at least 70MB available in /boot ... (02fcbd97) + - [fix] bullseye migration: better detection mechanism for the libc6 / libgcc hell issue (633a1fbf) + + -- Alexandre Aubin Sun, 14 Aug 2022 18:18:13 +0200 + yunohost (4.4.2.3) stable; urgency=low - [fix] bullseye migration: add fix for stupid dnsmasq not picking new init script (origin/dev, origin/HEAD, dev) From c8031acee7500068b354f10f7a71fdb83c58de7a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:22:12 +0200 Subject: [PATCH 35/92] venv rebuild: synapse's folder is named matrix-synapse --- src/migrations/0024_rebuild_python_venv.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/migrations/0024_rebuild_python_venv.py b/src/migrations/0024_rebuild_python_venv.py index 5ead78b19..d5aa7fc10 100644 --- a/src/migrations/0024_rebuild_python_venv.py +++ b/src/migrations/0024_rebuild_python_venv.py @@ -68,6 +68,7 @@ class MyMigration(Migration): "pgadmin", "tracim", "synapse", + "matrix-synapse", "weblate", ] From 4e39c70123a918ae4235962c7471a0de43041b9d Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:28:25 +0200 Subject: [PATCH 36/92] Update changelog for 11.0.9.4 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 7584561bd..cbf60aa83 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +yunohost (11.0.9.4) stable; urgency=low + + - Propagate fixes in buster->bullseye migration + - [fix] venv rebuild: synapse's folder is named matrix-synapse (c8031ace) + + -- Alexandre Aubin Sun, 14 Aug 2022 18:22:30 +0200 + yunohost (11.0.9.3) stable; urgency=low - [fix] postgresql 11->13: Epic typo / missing import (3cb1a41a) From 1246fcf8f6c75bea7355acc13181a69337625739 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 18:56:20 +0200 Subject: [PATCH 37/92] nginx: I'm tired of people reporting the 'Report-Only' error message they see in the console. This is useless. Just get rid of it. --- conf/nginx/security.conf.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/nginx/security.conf.inc b/conf/nginx/security.conf.inc index a35bb566e..fe853155b 100644 --- a/conf/nginx/security.conf.inc +++ b/conf/nginx/security.conf.inc @@ -29,7 +29,6 @@ ssl_dhparam /usr/share/yunohost/ffdhe2048.pem; more_set_headers "Content-Security-Policy : upgrade-insecure-requests; default-src https: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'"; {% else %} more_set_headers "Content-Security-Policy : upgrade-insecure-requests"; -more_set_headers "Content-Security-Policy-Report-Only : default-src https: wss: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'"; {% endif %} more_set_headers "X-Content-Type-Options : nosniff"; more_set_headers "X-XSS-Protection : 1; mode=block"; From f6a80e118e44fded567cc06eb41cabcebbdc2f51 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 19:41:27 +0200 Subject: [PATCH 38/92] Stupid typo.. --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 7a47941a1..84227a475 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -201,7 +201,7 @@ class MyMigration(Migration): # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev # https://forum.yunohost.org/t/20617 # - if os.sytem("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev '") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi"): + if os.system("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev '") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi"): logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps From 415ed60227f708e4292832cc1333964a764c8e63 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 19:41:50 +0200 Subject: [PATCH 39/92] Update changelog for 4.4.2.5 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3ad7323d1..d2d08556b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -yunohost (4.4.2.4) stable; urgency=low +yunohost (4.4.2.5) stable; urgency=low - [fix] bullseye migration: trash pip freeze stderr because it's confusing users ... (e68fc821) - [fix] bullseye migration: add a check that there's at least 70MB available in /boot ... (02fcbd97) From 030927cf03991ae90df8ed1de3b8d220410da817 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 19:43:18 +0200 Subject: [PATCH 40/92] Update changelog for 11.0.9.5 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e5401224f..5405aba74 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -yunohost (11.0.9.4) stable; urgency=low +yunohost (11.0.9.5) stable; urgency=low - Propagate fixes in buster->bullseye migration - [fix] venv rebuild: synapse's folder is named matrix-synapse (c8031ace) From 8d1c75e732b59846f0799180217417cd3857fbf7 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 14 Aug 2022 21:34:50 +0200 Subject: [PATCH 41/92] helpers: fix logrotate shitty inconsistent handling of 'supposedly legacy' --non-append option ... --- helpers/logrotate | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/helpers/logrotate b/helpers/logrotate index 6f9726beb..d7ad4571f 100644 --- a/helpers/logrotate +++ b/helpers/logrotate @@ -16,10 +16,27 @@ # Requires YunoHost version 2.6.4 or higher. # Requires YunoHost version 3.2.0 or higher for the argument `--specific_user` ynh_use_logrotate() { + + # Stupid patch to remplace --non-append by --nonappend + # Because for some reason --non-append was supposed to be legacy + # (why is it legacy ? Idk maybe because getopts cant parse args with - in their names..) + # but there was no good communication about this, and now --non-append + # is still the most-used option, yet it was parsed with batshit stupid code + # So instead this loops over the positional args, and replace --non-append + # with --nonappend so it's transperent for the rest of the function... + local all_args=( ${@} ) + for I in $(seq 0 $#) + do + if [[ "${all_args[$I]}" == "--non-append" ]] + then + all_args[$I]="--nonappend" + fi + done + set -- "${all_args[@]}" + # Declare an array to define the options of this helper. local legacy_args=lnuya - local -A args_array=([l]=logfile= [n]=nonappend [u]=specific_user= [y]=non [a]=append) - # [y]=non [a]=append are only for legacy purpose, to not fail on the old option '--non-append' + local -A args_array=([l]=logfile= [n]=nonappend [u]=specific_user=) local logfile local nonappend local specific_user @@ -30,14 +47,6 @@ ynh_use_logrotate() { specific_user="${specific_user:-}" # LEGACY CODE - PRE GETOPTS - if [ $# -gt 0 ] && [ "$1" == "--non-append" ]; then - nonappend=1 - # Destroy this argument for the next command. - shift - elif [ $# -gt 1 ] && [ "$2" == "--non-append" ]; then - nonappend=1 - fi - if [ $# -gt 0 ] && [ "$(echo ${1:0:1})" != "-" ]; then # If the given logfile parameter already exists as a file, or if it ends up with ".log", # we just want to manage a single file From 18ea57a8cc3c1a5d7b9bcf4c68fd476563b58757 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 15 Aug 2022 15:47:47 +0200 Subject: [PATCH 42/92] Aleks made a gazillion typos again --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 84227a475..68f79bacf 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -201,7 +201,7 @@ class MyMigration(Migration): # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev # https://forum.yunohost.org/t/20617 # - if os.system("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev '") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi"): + if os.system("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev'") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi") == 0: logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps From d03abcc73c29bc74faad32b73d687579d112a1f5 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 15 Aug 2022 15:49:43 +0200 Subject: [PATCH 43/92] bullseye migration: simplify code, we can suffix packages with '-' to mean that we want to remove them during apt install call --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 68f79bacf..4734c1d10 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -206,9 +206,9 @@ class MyMigration(Migration): os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps os.system("perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status") - self.apt("build-essential", verb="remove") + self.apt_install("build-essential-") # Note the '-' suffix to mean that we actually want to remove the packages os.system("LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes") - self.apt("gcc-8 libgcc-8-dev", verb="remove") + self.apt_install("gcc-8- libgcc-8-dev-") # Note the '-' suffix to mean that we actually want to remove the packages # # Main upgrade @@ -489,9 +489,6 @@ class MyMigration(Migration): os.system(f"apt-mark unhold {package}") def apt_install(self, cmd): - return self.apt(cmd, verb="install") - - def apt(self, cmd, verb="install"): def is_relevant(line): return "Reading database ..." not in line.rstrip() @@ -505,7 +502,7 @@ class MyMigration(Migration): ) cmd = ( - f"LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt {verb} --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + f"LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt install --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + cmd ) From 75e96a42ff28a0c4a92f09da6130b17e3010bcef Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 15 Aug 2022 15:50:16 +0200 Subject: [PATCH 44/92] Update changelog for 4.4.2.6 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index d2d08556b..ff0859878 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -yunohost (4.4.2.5) stable; urgency=low +yunohost (4.4.2.6) stable; urgency=low - [fix] bullseye migration: trash pip freeze stderr because it's confusing users ... (e68fc821) - [fix] bullseye migration: add a check that there's at least 70MB available in /boot ... (02fcbd97) From 87f0eff9558667980aed96d9501d933d9c40221b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 15 Aug 2022 16:42:56 +0200 Subject: [PATCH 45/92] upgrades: ignore boring insserv warnings during apt commands --- src/yunohost/tools.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/yunohost/tools.py b/src/yunohost/tools.py index dbd3af5f5..d39a48f54 100644 --- a/src/yunohost/tools.py +++ b/src/yunohost/tools.py @@ -698,6 +698,8 @@ def _apt_log_line_is_relevant(line): "==> Keeping old config file as default.", "is a disabled or a static unit", " update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults", + "insserv: warning: current stop runlevel", + "insserv: warning: current start runlevel", ] return line.rstrip() and all(i not in line.rstrip() for i in irrelevants) From 9eb123f8b1ff43ede55969244b92a0cc5391d0bb Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 16 Aug 2022 23:01:11 +0200 Subject: [PATCH 46/92] [fix] Better handling of super shitty edge case where an app settings.yml is empty for some unexpected mystic reason ... --- src/app.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/app.py b/src/app.py index be36a4561..2585a5080 100644 --- a/src/app.py +++ b/src/app.py @@ -1345,7 +1345,7 @@ def app_ssowatconf(): for app in _installed_apps(): - app_settings = read_yaml(APPS_SETTING_PATH + app + "/settings.yml") + app_settings = read_yaml(APPS_SETTING_PATH + app + "/settings.yml") or {} # Redirected redirected_urls.update(app_settings.get("redirected_urls", {})) @@ -1713,11 +1713,18 @@ def _get_app_settings(app): ) try: with open(os.path.join(APPS_SETTING_PATH, app, "settings.yml")) as f: - settings = yaml.safe_load(f) + settings = yaml.safe_load(f) or {} # If label contains unicode char, this may later trigger issues when building strings... # FIXME: this should be propagated to read_yaml so that this fix applies everywhere I think... settings = {k: v for k, v in settings.items()} + # App settings should never be empty, there should always be at least some standard, internal keys like id, install_time etc. + # Otherwise, this probably means that the app settings disappeared somehow... + if not settings: + logger.error(f"It looks like settings.yml for {app} is empty ... This should not happen ...") + logger.error(m18n.n("app_not_correctly_installed", app=app)) + return {} + # Stupid fix for legacy bullshit # In the past, some setups did not have proper normalization for app domain/path # Meaning some setups (as of January 2021) still have path=/foobar/ (with a trailing slash) From d283c900f473e6a690a12e064a0faabb37b2a8e1 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 01:21:12 +0200 Subject: [PATCH 47/92] bullseye migration: higher treshold for low space detection in /boot/ because some people still experience the issue on 4.4.2.6 --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 4734c1d10..82187fb88 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -373,8 +373,8 @@ class MyMigration(Migration): if free_space_in_directory("/var/") / (1024**3) < 1.0: raise YunohostError("migration_0021_not_enough_free_space") - if free_space_in_directory("/boot/") / (70**3) < 1.0: - raise YunohostError("/boot/ has less than 70MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old unused kernels to free some space in /boot/.", raw_msg=True) + if free_space_in_directory("/boot/") / (120**3) < 1.0: + raise YunohostError("/boot/ has less than 120MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old, unused kernels to free up some space in /boot/.", raw_msg=True) # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... From b08a31caeeee806949d21f50e824a28306e22e22 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 01:22:11 +0200 Subject: [PATCH 48/92] Update changelog for 4.4.2.7 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index ff0859878..d8a8b1c19 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +yunohost (4.4.2.7) stable; urgency=low + + - upgrades: ignore boring insserv warnings during apt commands (87f0eff9) + - bullseye migration: higher treshold for low space detection in /boot/ because some people still experience the issue on 4.4.2.6 (d283c900) + + -- Alexandre Aubin Wed, 17 Aug 2022 01:21:36 +0200 + yunohost (4.4.2.6) stable; urgency=low - [fix] bullseye migration: trash pip freeze stderr because it's confusing users ... (e68fc821) From f4436312926b7eb397c5cd5060b4ca754a2da226 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 01:27:38 +0200 Subject: [PATCH 49/92] Update changelog for 11.0.9.6 --- debian/changelog | 8 ++++++++ maintenance/make_changelog.sh | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index aac543676..2e775bbc4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +yunohost (11.0.9.6) stable; urgency=low + + - Sync with Buster branch + - [fix] helpers: logrotate shitty inconsistent handling of 'supposedly legacy' --non-append option ... (8d1c75e7) + - [fix] apps: Better handling of super shitty edge case where an app settings.yml is empty for some unexpected mystic reason ... (9eb123f8) + + -- Alexandre Aubin Wed, 17 Aug 2022 01:26:28 +0200 + yunohost (11.0.9.5) stable; urgency=low - Propagate fixes in buster->bullseye migration diff --git a/maintenance/make_changelog.sh b/maintenance/make_changelog.sh index 44171c5b6..a255f69b4 100644 --- a/maintenance/make_changelog.sh +++ b/maintenance/make_changelog.sh @@ -11,7 +11,7 @@ echo "$REPO ($VERSION) $RELEASE; urgency=low" echo "" git log $LAST_RELEASE.. -n 10000 --first-parent --pretty=tformat:' - %b%s (%h)' \ -| sed -E "s@Merge .*#([0-9]+).*\$@ \([#\1]\($REPO_URL/pull/\1\)\)@g" \ +| sed -E "s&Merge .*#([0-9]+).*\$& \([#\1]\($REPO_URL/pull/\1\)\)&g" \ | grep -v "Update from Weblate" \ | tac From 26665b231af6a6375ac04f5b8de2275d9932f96f Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Wed, 17 Aug 2022 00:34:05 +0000 Subject: [PATCH 50/92] [CI] Format code with Black --- src/app.py | 4 ++- src/migrations/0021_migrate_to_bullseye.py | 29 +++++++++++++++++----- src/migrations/0023_postgresql_11_to_13.py | 7 +++++- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/app.py b/src/app.py index 2585a5080..fd70e883e 100644 --- a/src/app.py +++ b/src/app.py @@ -1721,7 +1721,9 @@ def _get_app_settings(app): # App settings should never be empty, there should always be at least some standard, internal keys like id, install_time etc. # Otherwise, this probably means that the app settings disappeared somehow... if not settings: - logger.error(f"It looks like settings.yml for {app} is empty ... This should not happen ...") + logger.error( + f"It looks like settings.yml for {app} is empty ... This should not happen ..." + ) logger.error(m18n.n("app_not_correctly_installed", app=app)) return {} diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 44d88b5d4..f17855913 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -66,7 +66,9 @@ def _backup_pip_freeze_for_python_app_venvs(): venvs = _get_all_venvs("/opt/") + _get_all_venvs("/var/www/") for venv in venvs: # Generate a requirements file from venv - os.system(f"{venv}/bin/pip freeze > {venv}{VENV_REQUIREMENTS_SUFFIX} 2>/dev/null") + os.system( + f"{venv}/bin/pip freeze > {venv}{VENV_REQUIREMENTS_SUFFIX} 2>/dev/null" + ) class MyMigration(Migration): @@ -201,18 +203,30 @@ class MyMigration(Migration): # Another boring fix for the super annoying libc6-dev: Breaks libgcc-8-dev # https://forum.yunohost.org/t/20617 # - if os.system("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev'") == 0 and os.system("LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi") == 0: - logger.info("Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ...") + if ( + os.system("dpkg --list | grep '^ii' | grep -q ' libgcc-8-dev'") == 0 + and os.system( + "LC_ALL=C apt policy libgcc-8-dev | grep Candidate | grep -q rpi" + ) + == 0 + ): + logger.info( + "Attempting to fix the build-essential / libc6-dev / libgcc-8-dev hell ..." + ) os.system("cp /var/lib/dpkg/status /root/dpkg_status.bkp") # This removes the dependency to build-essential from $app-ynh-deps os.system( "perl -i~ -0777 -pe 's/(Package: .*-ynh-deps\\n(.+:.+\\n)+Depends:.*)(build-essential, ?)(.*)/$1$4/g' /var/lib/dpkg/status" ) - self.apt_install("build-essential-") # Note the '-' suffix to mean that we actually want to remove the packages + self.apt_install( + "build-essential-" + ) # Note the '-' suffix to mean that we actually want to remove the packages os.system( "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt autoremove --assume-yes" ) - self.apt_install("gcc-8- libgcc-8-dev-") # Note the '-' suffix to mean that we actually want to remove the packages + self.apt_install( + "gcc-8- libgcc-8-dev-" + ) # Note the '-' suffix to mean that we actually want to remove the packages # # Main upgrade @@ -380,7 +394,10 @@ class MyMigration(Migration): raise YunohostError("migration_0021_not_enough_free_space") if free_space_in_directory("/boot/") / (120**3) < 1.0: - raise YunohostError("/boot/ has less than 120MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old, unused kernels to free up some space in /boot/.", raw_msg=True) + raise YunohostError( + "/boot/ has less than 120MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old, unused kernels to free up some space in /boot/.", + raw_msg=True, + ) # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... diff --git a/src/migrations/0023_postgresql_11_to_13.py b/src/migrations/0023_postgresql_11_to_13.py index 5c788584e..981dc1a99 100644 --- a/src/migrations/0023_postgresql_11_to_13.py +++ b/src/migrations/0023_postgresql_11_to_13.py @@ -20,7 +20,12 @@ class MyMigration(Migration): def run(self): - if os.system('grep -A10 "ynh-deps" /var/lib/dpkg/status | grep -E "Package:|Depends:" | grep -B1 postgresql') != 0: + if ( + os.system( + 'grep -A10 "ynh-deps" /var/lib/dpkg/status | grep -E "Package:|Depends:" | grep -B1 postgresql' + ) + != 0 + ): logger.info("No YunoHost app seem to require postgresql... Skipping!") return From efa80304d265425c4013b645a51ce1cff9be1070 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 19:18:49 +0200 Subject: [PATCH 51/92] =?UTF-8?q?Fix=20broken=20logrotate=20helper=20?= =?UTF-8?q?=C3=A9=5F=C3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- helpers/logrotate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/logrotate b/helpers/logrotate index d7ad4571f..6696632d5 100644 --- a/helpers/logrotate +++ b/helpers/logrotate @@ -25,7 +25,7 @@ ynh_use_logrotate() { # So instead this loops over the positional args, and replace --non-append # with --nonappend so it's transperent for the rest of the function... local all_args=( ${@} ) - for I in $(seq 0 $#) + for I in $(seq 0 $(($# - 1))) do if [[ "${all_args[$I]}" == "--non-append" ]] then From ddf2f36166a39e75b00a3942c5d51ccb51839038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= Date: Sun, 14 Aug 2022 12:41:15 +0000 Subject: [PATCH 52/92] Translated using Weblate (French) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/fr/ --- locales/fr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locales/fr.json b/locales/fr.json index 0a72e0731..fcddbe9fc 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -684,7 +684,7 @@ "migration_0023_postgresql_13_not_installed": "PostgreSQL 11 est installé, mais pas PostgreSQL 13 ! ? Quelque chose d'anormal s'est peut-être produit sur votre système :(...", "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_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.", "migration_0021_venv_regen_failed": "L'environnement virtuel '{venv}' n'a pas pu se régénérer, vous devez probablement exécuter la commande `yunohost app upgrade --force`", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "La reconstruction du virtualenv sera tentée pour les applications suivantes (NB : l'opération peut prendre un certain temps !) : {rebuild_apps}", "migration_0024_rebuild_python_venv_in_progress": "Tentative de reconstruction du virtualenv Python pour `{app}`", @@ -693,4 +693,4 @@ "migration_0024_rebuild_python_venv_broken_app": "Ignorer {app} car virtualenv ne peut pas être facilement reconstruit pour cette application. Au lieu de cela, vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.", "migration_0024_rebuild_python_venv_disclaimer_base": "Suite à la mise à niveau vers Debian Bullseye, certaines applications Python doivent être partiellement reconstruites pour être converties vers la nouvelle version Python livrée dans Debian (en termes techniques : ce qu'on appelle le \"virtualenv\" doit être recréé). En attendant, ces applications Python peuvent ne pas fonctionner. YunoHost peut tenter de reconstruire le virtualenv pour certains d'entre eux, comme détaillé ci-dessous. Pour les autres applications, ou si la tentative de reconstruction échoue, vous devrez forcer manuellement une mise à niveau pour ces applications.", "migration_0024_rebuild_python_venv_disclaimer_ignored": "Les virtualenvs ne peuvent pas être reconstruits automatiquement pour ces applications. Vous devez forcer une mise à jour pour ceux-ci, ce qui peut être fait à partir de la ligne de commande : `yunohost app upgrade --force APP` : {ignored_apps}" -} \ No newline at end of file +} From d9446d125e826d413925c3455e116c350a485daf Mon Sep 17 00:00:00 2001 From: Tymofii-Lytvynenko Date: Mon, 15 Aug 2022 15:37:53 +0000 Subject: [PATCH 53/92] Translated using Weblate (Ukrainian) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/uk/ --- locales/uk.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/locales/uk.json b/locales/uk.json index 9a32a597b..2eab3d5a6 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -684,5 +684,12 @@ "tools_upgrade_failed": "Не вдалося оновити наступні пакети: {packages_list}", "migration_0023_not_enough_space": "Звільніть достатньо місця в {path} для виконання міграції.", "migration_0023_postgresql_11_not_installed": "PostgreSQL не було встановлено у вашій системі. Нічого робити.", - "migration_description_0022_php73_to_php74_pools": "Перенесення конфігураційних файлів php7.3-fpm 'pool' на php7.4" -} \ No newline at end of file + "migration_description_0022_php73_to_php74_pools": "Перенесення конфігураційних файлів php7.3-fpm 'pool' на php7.4", + "migration_0024_rebuild_python_venv_disclaimer_base": "Після оновлення до Debian Bullseye деякі застосунки Python потрібно частково перебудувати, щоб їх було перетворено на нову версію Python, яка постачається в Debian (з технічної точки зору: те, що називається «virtualenv», потрібно створити заново). Тим часом ці застосунки Python можуть не працювати. YunoHost може спробувати перебудувати virtualenv для деяких із них, як описано нижче. Для інших застосунків або якщо спроба відновлення не вдається, вам потрібно буде вручну примусово оновити їх.", + "migration_0024_rebuild_python_venv_broken_app": "Пропущено {app}, бо virtualenv не можна легко перебудувати для цього застосунку. Натомість вам слід виправити ситуацію, примусово оновивши застосунок за допомогою `yunohost app upgrade --force {app}`.", + "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Буде зроблена спроба перебудувати virtualenv для таких застосунків (Примітка: операція може зайняти деякий час!): {rebuild_apps}", + "migration_0024_rebuild_python_venv_in_progress": "Намагаємося перебудувати Python virtualenv для `{app}`", + "migration_description_0024_rebuild_python_venv": "Відновлення застосунку Python після міграції до bullseye", + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs не можна автоматично перебудувати для цих застосунків. Вам потрібно примусово оновити його для них, що можна зробити з командного рядка за допомогою: `yunohost app upgrade --force APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_failed": "Не вдалося перебудувати Python virtualenv для {app}. Застосунок може не працювати, доки це не вирішено. Ви повинні виправити ситуацію, примусово оновивши його за допомогою `yunohost app upgrade --force {app}`." +} From 016f5a418cc5eb609c0e679c7049f99685825db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M?= Date: Tue, 16 Aug 2022 07:22:07 +0000 Subject: [PATCH 54/92] Translated using Weblate (Galician) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/gl/ --- locales/gl.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/locales/gl.json b/locales/gl.json index c09a0412e..5b1864e13 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -689,8 +689,8 @@ "migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`.", "migration_0024_rebuild_python_venv_disclaimer_base": "Após a actualización a Debian Bullseye, algunhas aplicacións de Python precisan ser reconstruídas para usar a nova versión de Python que inclúe Debian (técnicamente: recrear o `virtualenv`). Mentras tanto, algunhas aplicacións de Python poderían non funcionar. YunoHost pode intentar reconstruir o virtualenv para algunhas, como se indica abaixo. Para outras, ou se falla a reconstrución, pode que teñas que forzar a actualización desas apps.", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Vaise intentar a reconstrución de virtualenv para as seguintes apps (Nota: a operación podería tomar algún tempo!): {rebuild_apps}", - "migration_0024_rebuild_python_venv_disclaimer_ignored": "Non se puido reconstruir virtualenv para estas apps. Precisas forzar a súa actualización, pódelo facer desde a liña de comandos con: `yunohost app upgrade -f APP`: {ignored_apps}", - "migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir python virtualenv para `{app}`", - "migration_description_0024_rebuild_python_venv": "Reparar app python após a migración a bullseye", - "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`." + "migration_0024_rebuild_python_venv_disclaimer_ignored": "Non se puido reconstruir virtualenv para estas apps. Precisas forzar a súa actualización, pódelo facer desde a liña de comandos con: `yunohost app upgrade --force APP`: {ignored_apps}", + "migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir o Python virtualenv para `{app}`", + "migration_description_0024_rebuild_python_venv": "Reparar app Python após a migración a bullseye", + "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de Python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`." } From a2dfec499d937f016e835c2457376cef45246ca3 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 19:23:49 +0200 Subject: [PATCH 55/92] lint: F541 f-string is missing placeholders --- src/migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index f17855913..6b1d7c30b 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -525,7 +525,7 @@ class MyMigration(Migration): ) cmd = ( - f"LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt install --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + "LC_ALL=C DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none apt install --quiet -o=Dpkg::Use-Pty=0 --fix-broken --assume-yes " + cmd ) From ec271043cdcf28ba74acc87d4ae854d8c2852695 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 17 Aug 2022 19:25:18 +0200 Subject: [PATCH 56/92] Update changelog for 11.0.9.7 --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index 2e775bbc4..b911ccb38 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +yunohost (11.0.9.7) stable; urgency=low + + - [fix] logorate helper: was broken because wrong index é_è (efa80304) + - [i18n] Translations updated for French, Galician, Ukrainian + + Thanks to all contributors <3 ! (Éric Gaspar, José M, Tymofii-Lytvynenko) + + -- Alexandre Aubin Wed, 17 Aug 2022 19:24:11 +0200 + yunohost (11.0.9.6) stable; urgency=low - Sync with Buster branch From b306df2c3bed9343c869d5ea19631f321f935375 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 18 Aug 2022 19:17:48 +0200 Subject: [PATCH 57/92] apt helper: fix edge case with equivs package being flagged hold because of buster->bullseye migration --- data/helpers.d/apt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/data/helpers.d/apt b/data/helpers.d/apt index 490a59f24..10edf23d4 100644 --- a/data/helpers.d/apt +++ b/data/helpers.d/apt @@ -394,6 +394,13 @@ ynh_remove_app_dependencies() { current_dependencies=${current_dependencies// | /|} fi + # Edge case where the app dep may be on hold, + # cf https://forum.yunohost.org/t/migration-error-cause-of-ffsync/20675/4 + if apt-mark showhold | grep -q -w ${dep_app}-ynh-deps + do + apt-mark unhold ${dep_app}-ynh-deps + done + ynh_package_autopurge ${dep_app}-ynh-deps # Remove the fake package and its dependencies if they not still used. # Check if this app used a specific php version ... in which case we check From a2d4abc1f8ef8b3033dcbf472faf2d731aa71681 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 18 Aug 2022 19:24:34 +0200 Subject: [PATCH 58/92] bullseye migration: fix check about free space in /boot/ ... --- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 82187fb88..6aa9616ac 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -373,8 +373,9 @@ class MyMigration(Migration): if free_space_in_directory("/var/") / (1024**3) < 1.0: raise YunohostError("migration_0021_not_enough_free_space") - if free_space_in_directory("/boot/") / (120**3) < 1.0: - raise YunohostError("/boot/ has less than 120MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old, unused kernels to free up some space in /boot/.", raw_msg=True) + # Have > 70 MB free space on /var/ ? + if free_space_in_directory("/boot/") / (1024**2) < 70.0: + raise YunohostError("/boot/ has less than 70MB available. This will probably trigger a crash during the upgrade because a new kernel needs to be installed. Please look for advice on the forum on how to remove old, unused kernels to free up some space in /boot/.", raw_msg=True) # Check system is up to date # (but we don't if 'bullseye' is already in the sources.list ... From 4a1b31bac4a21c5e1d6e304bddb47015149513a9 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 18 Aug 2022 19:25:31 +0200 Subject: [PATCH 59/92] Update changelog for 4.4.2.8 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index d8a8b1c19..5e5a608c2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +yunohost (4.4.2.8) stable; urgency=low + + - apt helper: fix edge case with equivs package being flagged hold because of buster->bullseye migration (b306df2c) + - bullseye migration: fix check about free space in /boot/ ... (a2d4abc1) + + -- Alexandre Aubin Thu, 18 Aug 2022 19:24:47 +0200 + yunohost (4.4.2.7) stable; urgency=low - upgrades: ignore boring insserv warnings during apt commands (87f0eff9) From 3706ba3121b815a8e442b7f17ff7fa9e52b8219d Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 19 Aug 2022 18:30:23 +0200 Subject: [PATCH 60/92] Hmpf --- data/helpers.d/apt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/helpers.d/apt b/data/helpers.d/apt index 10edf23d4..0a1d70004 100644 --- a/data/helpers.d/apt +++ b/data/helpers.d/apt @@ -397,9 +397,9 @@ ynh_remove_app_dependencies() { # Edge case where the app dep may be on hold, # cf https://forum.yunohost.org/t/migration-error-cause-of-ffsync/20675/4 if apt-mark showhold | grep -q -w ${dep_app}-ynh-deps - do + then apt-mark unhold ${dep_app}-ynh-deps - done + fi ynh_package_autopurge ${dep_app}-ynh-deps # Remove the fake package and its dependencies if they not still used. From 9ef7ac7117bcfd1b50628ad493f22e5ba9b4f0c4 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 19 Aug 2022 18:30:53 +0200 Subject: [PATCH 61/92] Update changelog for 4.4.2.9 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 5e5a608c2..3f0189ad1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -yunohost (4.4.2.8) stable; urgency=low +yunohost (4.4.2.9) stable; urgency=low - apt helper: fix edge case with equivs package being flagged hold because of buster->bullseye migration (b306df2c) - bullseye migration: fix check about free space in /boot/ ... (a2d4abc1) From 18e041c4059af2532f467bb1a63153a4851abad3 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 19 Aug 2022 20:45:17 +0200 Subject: [PATCH 62/92] php7.3->7.4: autopatch nginx configs during restore --- helpers/backup | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/helpers/backup b/helpers/backup index 01b51d5a1..22737ff86 100644 --- a/helpers/backup +++ b/helpers/backup @@ -285,6 +285,14 @@ ynh_restore_file() { else mv "$archive_path" "${dest_path}" fi + + # Boring hack for nginx conf file mapped to php7.3 + # Note that there's no need to patch the fpm config because most php apps + # will call "ynh_add_fpm_config" during restore, effectively recreating the file from scratch + if [[ "${dest_path}" == "/etc/nginx/conf.d/"* ]] && grep 'php7.3.*sock' "${dest_path}" + then + sed -i 's/php7.3/php7.4/g' "${dest_path}" + fi } # Calculate and store a file checksum into the app settings From 2469b675151f3b56661e027f2defdbf6d554f2f4 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 19 Aug 2022 20:51:30 +0200 Subject: [PATCH 63/92] Update changelog for 11.0.9.8 --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 6f79734eb..96ca84faa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +yunohost (11.0.9.8) stable; urgency=low + + - Sync with Buster branch + - [fix] php7.3->7.4: autopatch nginx configs during restore (18e041c4) + + -- Alexandre Aubin Fri, 19 Aug 2022 20:50:52 +0200 + yunohost (11.0.9.7) stable; urgency=low - [fix] logorate helper: was broken because wrong index é_è (efa80304) From 6a594d0e1d2ba65d7ed411262b71bb9a61eee54b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 22 Aug 2022 10:25:27 +0200 Subject: [PATCH 64/92] bullseye migration: add proper explanations and advices after the damn 'The distribution is not Buster' message ... --- locales/en.json | 2 +- locales/fr.json | 2 +- src/yunohost/data_migrations/0021_migrate_to_bullseye.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/en.json b/locales/en.json index cfb8a01f9..edce0545f 100644 --- a/locales/en.json +++ b/locales/en.json @@ -513,7 +513,7 @@ "migration_0021_main_upgrade": "Starting main upgrade...", "migration_0021_still_on_buster_after_main_upgrade": "Something went wrong during the main upgrade, the system appears to still be on Debian Buster", "migration_0021_yunohost_upgrade" : "Starting YunoHost core upgrade...", - "migration_0021_not_buster" : "The current Debian distribution is not Buster!", + "migration_0021_not_buster2": "The current Debian distribution is not Buster! If you already ran the Buster->Bullseye migration, then this error is symptomatic of the fact that the migration procedure was not 100% succesful (otherwise YunoHost would have flagged it as completed). It is recommended to investigate what happened with the support team, who will need the **full** log of the `migration, which can be found in Tools > Logs in the webadmin.", "migration_0021_not_enough_free_space" : "Free space is pretty low in /var/! You should have at least 1GB free to run this migration.", "migration_0021_system_not_fully_up_to_date": "Your system is not fully up-to-date. Please perform a regular upgrade before running the migration to Bullseye.", "migration_0021_general_warning": "Please note that this migration is a delicate operation. The YunoHost team did its best to review and test it, but the migration might still break parts of the system or its apps.\n\nTherefore, it is recommended to:\n - Perform a backup of any critical data or app. More info on https://yunohost.org/backup;\n - Be patient after launching the migration: Depending on your Internet connection and hardware, it might take up to a few hours for everything to upgrade.", diff --git a/locales/fr.json b/locales/fr.json index 92dc4b68a..bca5c16bb 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -716,7 +716,7 @@ "migration_0021_modified_files": "Veuillez noter que les fichiers suivants ont été modifiés manuellement et pourraient être écrasés à la suite de la mise à niveau : {manually_modified_files}", "migration_0021_cleaning_up": "Nettoyage du cache et des paquets qui ne sont plus nécessaires...", "migration_0021_patch_yunohost_conflicts": "Application du correctif pour contourner le problème de conflit...", - "migration_0021_not_buster": "La distribution Debian actuelle n'est pas Buster !", + "migration_0021_not_buster2": "La distribution Debian actuelle n'est pas Buster ! Si vous avez déjà effectué la migration Buster->Bullseye, alors cette erreur est symptomatique du fait que la migration n'a pas été terminée correctement à 100% (sinon YunoHost aurait marqué la migration comme terminée). Il est recommandé d'étudier ce qu'il s'est passé avec l'équipe de support, qui aura besoin du log **complet** de la migration, qui peut être retrouvé dans Outils > Journaux dans la webadmin.", "migration_description_0021_migrate_to_bullseye": "Mise à niveau du système vers Debian Bullseye et YunoHost 11.x", "global_settings_setting_security_ssh_password_authentication": "Autoriser l'authentification par mot de passe pour SSH" } diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 6aa9616ac..8c3ba8ecf 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -367,7 +367,7 @@ class MyMigration(Migration): not self.debian_major_version() == N_CURRENT_DEBIAN and not self.yunohost_major_version() == N_CURRENT_YUNOHOST ): - raise YunohostError("migration_0021_not_buster") + raise YunohostError("migration_0021_not_buster2") # Have > 1 Go free space on /var/ ? if free_space_in_directory("/var/") / (1024**3) < 1.0: From 97fd8f0c9b53b6a267114d9358ca81ef73904149 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 22 Aug 2022 10:29:30 +0200 Subject: [PATCH 65/92] Update changelog for 4.4.2.10 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 3f0189ad1..59cda2aba 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +yunohost (4.4.2.10) stable; urgency=low + + - bullseye migration: add proper explanations and advices after the damn 'The distribution is not Buster' message ... (6a594d0e) + + -- Alexandre Aubin Mon, 22 Aug 2022 10:28:50 +0200 + yunohost (4.4.2.9) stable; urgency=low - apt helper: fix edge case with equivs package being flagged hold because of buster->bullseye migration (b306df2c) From c88af25949cb1eb33ff7ab73005ce4241b88ea66 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 22 Aug 2022 10:33:11 +0200 Subject: [PATCH 66/92] Update changelog for 11.0.9.9 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 1f2318aaa..61143d17b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -yunohost (11.0.9.8) stable; urgency=low +yunohost (11.0.9.9) stable; urgency=low - Sync with Buster branch - [fix] php7.3->7.4: autopatch nginx configs during restore (18e041c4) From ae92a0b8eae0f5e8bf9e546f4f86cf5b087b693a Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 24 Aug 2022 10:28:58 +0200 Subject: [PATCH 67/92] diagnosis: fix inaccurate message --- locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/en.json b/locales/en.json index 4c7636499..620616748 100644 --- a/locales/en.json +++ b/locales/en.json @@ -161,7 +161,7 @@ "diagnosis_apps_deprecated_practices": "This app's installed version still uses some super-old deprecated packaging practices. You should really consider upgrading it.", "diagnosis_apps_issue": "An issue was found for app {app}", "diagnosis_apps_not_in_app_catalog": "This application is not in YunoHost's application catalog. If it was in the past and got removed, you should consider uninstalling this app as it won't receive upgrade, and may compromise the integrity and security of your system.", - "diagnosis_apps_outdated_ynh_requirement": "This app's installed version only requires yunohost >= 2.x, which tends to indicate that it's not up to date with recommended packaging practices and helpers. You should really consider upgrading it.", + "diagnosis_apps_outdated_ynh_requirement": "This app's installed version only requires yunohost >= 2.x or 3.x, which tends to indicate that it's not up to date with recommended packaging practices and helpers. You should really consider upgrading it.", "diagnosis_backports_in_sources_list": "It looks like apt (the package manager) is configured to use the backports repository. Unless you really know what you are doing, we strongly discourage from installing packages from backports, because it's likely to create unstabilities or conflicts on your system.", "diagnosis_basesystem_hardware": "Server hardware architecture is {virt} {arch}", "diagnosis_basesystem_hardware_model": "Server model is {model}", From 530bf04af5bead567e47df485ccf6d54da403f27 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 16:24:44 +0200 Subject: [PATCH 68/92] [fix] logrotate helpers: getopts miserably explodes if 'legacy_args' is inconsistent with 'args_array' ... --- helpers/logrotate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/logrotate b/helpers/logrotate index 6696632d5..45f66d443 100644 --- a/helpers/logrotate +++ b/helpers/logrotate @@ -35,7 +35,7 @@ ynh_use_logrotate() { set -- "${all_args[@]}" # Declare an array to define the options of this helper. - local legacy_args=lnuya + local legacy_args=lnu local -A args_array=([l]=logfile= [n]=nonappend [u]=specific_user=) local logfile local nonappend From 1aeb3da962ecf6b66fadf87732138963f72276ab Mon Sep 17 00:00:00 2001 From: liimee Date: Fri, 19 Aug 2022 10:07:36 +0000 Subject: [PATCH 69/92] Translated using Weblate (Indonesian) Currently translated at 9.6% (67 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/id/ --- locales/id.json | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/locales/id.json b/locales/id.json index 47aff8b2e..7e67503be 100644 --- a/locales/id.json +++ b/locales/id.json @@ -11,7 +11,7 @@ "app_change_url_identical_domains": "Domain)url_path yang lama dan baru identik ('{domain}{path}'), tak ada yang perlu dilakukan.", "app_change_url_no_script": "Aplikasi '{app_name}' belum mendukung pengubahan URL. Mungkin Anda harus memperbaruinya.", "app_change_url_success": "URL {app} sekarang adalah {domain}{path}", - "app_id_invalid": "ID aplikasi tidak valid", + "app_id_invalid": "ID aplikasi tidak sah", "app_install_failed": "Tidak dapat memasang {app}: {error}", "app_install_files_invalid": "Berkas-berkas ini tidak dapat dipasang", "app_install_script_failed": "Sebuah kesalahan terjadi pada script pemasangan aplikasi", @@ -54,5 +54,16 @@ "backup_method_tar_finished": "Arsip TAR cadanagan dibuat", "backup_nothings_done": "Tak ada yang harus disimpan", "certmanager_cert_install_success": "Sertifikat Let's Encrypt sekarang sudah terpasang pada domain '{domain}'", - "backup_mount_archive_for_restore": "Menyiapkan arsip untuk pemulihan..." -} \ No newline at end of file + "backup_mount_archive_for_restore": "Menyiapkan arsip untuk pemulihan...", + "aborting": "Membatalkan.", + "action_invalid": "Tindakan tidak sah '{action}'", + "app_action_cannot_be_ran_because_required_services_down": "Layanan yang dibutuhkan ini harus aktif untuk menjalankan tindakan ini: {services}. Coba memulai ulang layanan tersebut untuk melanjutkan (dan mungkin melakukan penyelidikan mengapa layanan tersebut nonaktif).", + "app_argument_choice_invalid": "Pilih nilai yang sah untuk argumen '{name}': '{value}' tidak termasuk pada pilihan yang tersedia ({choices})", + "app_argument_invalid": "Pilih nilai yang sah untuk argumen '{name}': {error}", + "app_extraction_failed": "Tidak dapat mengekstrak berkas pemasangan", + "app_full_domain_unavailable": "Maaf, aplikasi ini harus dipasang pada domain sendiri, namun aplikasi lain sudah terpasang pada domain '{domain}'. Anda dapat menggunakan subdomain hanya untuk aplikasi ini.", + "app_location_unavailable": "URL ini mungkin tidak tersedia, atau terjadi konflik dengan aplikasi yang telah terpasang:\n{apps}", + "app_not_upgraded": "Aplikasi '{failed_app}' gagal diperbarui, oleh karena itu aplikasi-aplikasi berikut juga dibatalkan: {apps}", + "app_config_unable_to_apply": "Gagal menerapkan nilai-nilai panel konfigurasi.", + "app_config_unable_to_read": "Gagal membaca nilai-nilai panel konfigurasi." +} From b5a2e9f2b956404a86b3c97d4c6d1658ba93a201 Mon Sep 17 00:00:00 2001 From: Leandro Noferini Date: Sat, 20 Aug 2022 18:18:34 +0000 Subject: [PATCH 70/92] Translated using Weblate (Italian) Currently translated at 95.5% (662 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/it/ --- locales/it.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/locales/it.json b/locales/it.json index 844b756ea..6d6aedd5b 100644 --- a/locales/it.json +++ b/locales/it.json @@ -659,5 +659,6 @@ "user_import_bad_line": "Linea errata {line}: {details}", "config_validate_url": "È necessario inserire un URL web valido", "ldap_server_down": "Impossibile raggiungere il server LDAP", - "ldap_server_is_down_restart_it": "Il servizio LDAP è down, prova a riavviarlo…" -} \ No newline at end of file + "ldap_server_is_down_restart_it": "Il servizio LDAP è down, prova a riavviarlo…", + "domain_config_default_app": "Applicazione di default" +} From a3cd1d11218c178392b5e06dcd2ad8ea92a42001 Mon Sep 17 00:00:00 2001 From: xabirequejo Date: Mon, 22 Aug 2022 15:14:54 +0000 Subject: [PATCH 71/92] Translated using Weblate (Basque) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/eu/ --- locales/eu.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/locales/eu.json b/locales/eu.json index 96d5d8c2e..6ebe8b061 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -332,7 +332,7 @@ "domain_registrar_is_not_configured": "Oraindik ez da {domain} domeinurako erregistro-enpresa ezarri.", "domain_dns_push_not_applicable": "Ezin da {domain} domeinurako DNS konfigurazio automatiko funtzioa erabili. DNS erregistroak eskuz ezarri beharko zenituzke gidaorriei erreparatuz: https://yunohost.org/dns_config.", "domain_dns_push_managed_in_parent_domain": "DNS ezarpenak automatikoki konfiguratzeko funtzioa {parent_domain} domeinu nagusian kudeatzen da.", - "domain_dns_registrar_managed_in_parent_domain": "Domeinu hau {parent_domain_link} (r)en azpidomeinua da. DNS ezarpenak {parent_domain}(r)en konfigurazio atalean kudeatu behar dira.", + "domain_dns_registrar_managed_in_parent_domain": "Domeinu hau {parent_domain_link}(r)en azpidomeinua da. DNS ezarpenak {parent_domain}(r)en konfigurazio atalean kudeatu behar dira.", "domain_dns_registrar_yunohost": "Hau nohost.me / nohost.st / ynh.fr domeinu bat da eta, beraz, DNS ezarpenak automatikoki kudeatzen ditu YunoHostek, bestelako ezer konfiguratu beharrik gabe. (ikus 'yunohost dyndns update' komandoa)", "domain_dns_registrar_not_supported": "YunoHostek ezin izan du domeinu honen erregistro-enpresa automatikoki antzeman. Eskuz konfiguratu beharko dituzu DNS ezarpenak gidalerroei erreparatuz: https://yunohost.org/dns.", "domain_dns_registrar_experimental": "Oraingoz, YunoHosten kideek ez dute **{registrar}** erregistro-enpresaren APIa nahi beste probatu eta aztertu. Funtzioa **oso esperimentala** da — kontuz!", @@ -692,5 +692,6 @@ "migration_0024_rebuild_python_venv_in_progress": "`{app}` aplikazioaren Python virtualenv-a birsortzeko lanetan", "migration_0024_rebuild_python_venv_failed": "Kale egin du {app} aplikazioaren Python virtualenv-aren birsorkuntza saiakerak. Litekeena da aplikazioak ez funtzionatzea arazoa konpondu arte. Aplikazioaren eguneraketa behartu beharko zenuke ondorengo komandoarekin: `yunohost app upgrade --force {app}`.", "migration_description_0024_rebuild_python_venv": "Konpondu Python aplikazioa Bullseye eguneraketa eta gero", - "migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu." + "migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu.", + "migration_0021_not_buster2": "Zerbitzariak darabilen Debian bertsioa ez da Buster! Dagoeneko Buster -> Bullseye migrazioa exekutatu baduzu, errore honek migrazioa erabat arrakastatsua izan ez zela esan nahi du (bestela YunoHostek amaitutzat markatuko luke). Komenigarria izango litzateke, laguntza taldearekin batera, zer gertatu zen aztertzea. Horretarako `migrazioaren erregistro **osoa** beharko duzue, Erramintak > Erregistroak atalean eskuragarri dagoena." } From 3f8982b75a286a9aa54d52bfe28d3ff34c7ba461 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 25 Aug 2022 05:29:31 +0000 Subject: [PATCH 72/92] Translated using Weblate (Slovak) Currently translated at 32.1% (223 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/locales/sk.json b/locales/sk.json index 7ac7097f1..875d23a98 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -160,7 +160,7 @@ "diagnosis_apps_broken": "Táto aplikácia je v katalógu aplikácií YunoHost momentálne označená ako rozbitá. Toto môže byť dočasný problém do momentu, kedy jej správcovia danú chybu neopravia. Kým sa tak stane sú aktualizácie tejto aplikácie vypnuté.", "diagnosis_apps_deprecated_practices": "Táto verzia nainštalovanej aplikácie používa niektoré prehistorické a zastaralé zásady balíčkovania. Naozaj by ste mali zvážiť jej aktualizovanie.", "diagnosis_apps_issue": "V aplikácií {app} sa našla chyba", - "diagnosis_apps_outdated_ynh_requirement": "Tejto verzii nainštalovanej aplikácie stačí yunohost vo verzii 2.x, čo naznačuje, že neobsahuje aktuálne odporúčané zásady balíčkovania a pomocné skripty. Naozaj by ste mali zvážiť jej aktualizáciu.", + "diagnosis_apps_outdated_ynh_requirement": "Táto verzia nainštalovanej aplikácie vyžaduje yunohost iba vo verzii 2.x alebo 3.x, čo naznačuje, že neobsahuje aktuálne odporúčané zásady balíčkovania a pomocné skripty. Naozaj by ste mali zvážiť jej aktualizáciu.", "diagnosis_basesystem_hardware": "Hardvérová architektúra servera je {virt} {arch}", "diagnosis_basesystem_hardware_model": "Model servera je {model}", "diagnosis_basesystem_host": "Server beží na Debiane {debian_version}", @@ -211,5 +211,15 @@ "diagnosis_http_could_not_diagnose": "Nepodarilo sa zistiť, či sú domény dostupné zvonka pomocou IPv{ipversion}.", "diagnosis_http_could_not_diagnose_details": "Chyba: {error}", "diagnosis_http_hairpinning_issue": "Zdá sa, že Vaša miestna sieť nemá zapnutý NAT hairpinning.", - "diagnosis_high_number_auth_failures": "V poslednom čase bol zistený neobvykle vysoký počet neúspešných prihlásení. Uistite sa, či je služba fail2ban spustená a správne nastavená alebo použite vlastný port pre SSH ako je popísané na https://yunohost.org/security." -} \ No newline at end of file + "diagnosis_high_number_auth_failures": "V poslednom čase bol zistený neobvykle vysoký počet neúspešných prihlásení. Uistite sa, či je služba fail2ban spustená a správne nastavená alebo použite vlastný port pre SSH ako je popísané na https://yunohost.org/security.", + "diagnosis_http_nginx_conf_not_up_to_date_details": "Pre opravu tohto problému preskúmajte rozdiely medzi konfiguráciami v termináli príkazom yunohost tools regen-conf nginx --dry-run --with-diff a ak so zmenami súhlasíte, aplikujte ich príkazom yunohost tools regen-conf nginx --force.", + "diagnosis_http_timeout": "Pri pokuse o kontaktovanie servera zvonku vypršal časový limit. Vyzerá byť nedostupný.
1. Najčastejšou príčinou tohto problému zvykne byť nesprávne nastavenie presmerovania portu 80 (a 443) na váš server.
2. Mali by ste skontrolovať, či je služba nginx spustená.
3. Pri komplexnejších inštaláciach: ubezpečte sa, že problém nie je spôsobený bránou firewall alebo reverznou proxy.", + "diagnosis_http_bad_status_code": "Zdá sa, že miesto vášho servera na vašu požiadavku zareagoval iný počítač (možno váš router).
1. Najčastejšou príčinou tohto problému zvykne byť nesprávne nastavenie presmerovania portu 80 (a 443) na váš server.
2. Pri komplexnejších inštaláciach: ubezpečte sa, že problém nie je spôsobený bránou firewall alebo reverznou proxy.", + "diagnosis_http_hairpinning_issue_details": "Toto pravdepodobne spôsobuje zariadenia od vášho poskytovateľa internetu / router. Vo výsledku pre používateľov mimo vašej miestnej siete (zvonku) funguje pripojenie na server normálne, to však neplatí pre používateľov v rámci miestnej siete (ako ste možno aj vy?) pri použití doménového mena alebo globálnej IP adresy. Túto situáciu sa vám možno podarí vyriešiť po prečítaní ", + "diagnosis_http_nginx_conf_not_up_to_date": "Nginx konfigurácia tejto domény sa zdá byť upravená ručne a znemožňuje YunoHost-u zistiť, či je dostupná na HTTP.", + "diagnosis_http_ok": "Doména {domain} je dostupná prostredníctvom HTTP mimo miestnej siete.", + "diagnosis_http_partially_unreachable": "Doména {domain} sa zdá byť nedostupná prostredníctvom HTTP mimo miestnej siete pri použití IPv{failed}, hoci funguje pri IPv{passed}.", + "diagnosis_http_special_use_tld": "Doména {domain} je založená na top-level doméne (TLD) pre zvláštne určenie ako je .local alebo .test a preto sa neočakáva, aby bola dostupná mimo miestnej siete.", + "diagnosis_http_unreachable": "Doména {domain} sa zdá byť nedostupná prostredníctvom HTTP mimo miestnej siete.", + "diagnosis_ignored_issues": "(+ {nb_ignored} ignorovaný(ch) problém(ov))" +} From ef5e2beb770a4fac1cba41fc1cd2d12d8030c0f1 Mon Sep 17 00:00:00 2001 From: Stephan Klein Date: Fri, 26 Aug 2022 09:01:49 +0000 Subject: [PATCH 73/92] Translated using Weblate (French) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/fr/ --- locales/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/fr.json b/locales/fr.json index c6803cd39..ec9a6b59a 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -591,7 +591,7 @@ "ldap_server_down": "Impossible d'atteindre le serveur LDAP", "global_settings_setting_security_experimental_enabled": "Activer les fonctionnalités de sécurité expérimentales (ne l'activez pas si vous ne savez pas ce que vous faites !)", "diagnosis_apps_deprecated_practices": "La version installée de cette application utilise toujours certaines pratiques de packaging obsolètes. Vous devriez vraiment envisager de mettre l'application à jour.", - "diagnosis_apps_outdated_ynh_requirement": "La version installée de cette application nécessite uniquement YunoHost >= 2.x, cela indique que l'application n'est pas à jour avec les bonnes pratiques de packaging et les helpers recommandées. Vous devriez vraiment envisager de mettre l'application à jour.", + "diagnosis_apps_outdated_ynh_requirement": "La version installée de cette application nécessite uniquement YunoHost >= 2.x ou 3.x, ce qui tend à indiquer qu'elle n'est pas à jour avec les pratiques recommandées de packaging et des helpers . Vous devriez vraiment envisager de la mettre à jour.", "diagnosis_apps_bad_quality": "Cette application est actuellement signalée comme cassée dans le catalogue d'applications de YunoHost. Cela peut être un problème temporaire. En attendant que les mainteneurs tentent de résoudre le problème, la mise à jour de cette application est désactivée.", "diagnosis_apps_broken": "Cette application est actuellement signalée comme cassée dans le catalogue d'applications de YunoHost. Cela peut être un problème temporaire. En attendant que les mainteneurs tentent de résoudre le problème, la mise à jour de cette application est désactivée.", "diagnosis_apps_not_in_app_catalog": "Cette application est absente ou ne figure plus dans le catalogue d'applications de YunoHost. Vous devriez envisager de la désinstaller car elle ne recevra pas de mise à jour et pourrait compromettre l'intégrité et la sécurité de votre système.", From d87a0e3c8366dc8b5656b9c0c9cc686f920b848d Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 16:33:30 +0200 Subject: [PATCH 74/92] Fix make_changelog script having irrelevant entrie about i18n (weblate commit message changed at some point) --- maintenance/make_changelog.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maintenance/make_changelog.sh b/maintenance/make_changelog.sh index a255f69b4..7f461074f 100644 --- a/maintenance/make_changelog.sh +++ b/maintenance/make_changelog.sh @@ -12,7 +12,7 @@ echo "" git log $LAST_RELEASE.. -n 10000 --first-parent --pretty=tformat:' - %b%s (%h)' \ | sed -E "s&Merge .*#([0-9]+).*\$& \([#\1]\($REPO_URL/pull/\1\)\)&g" \ -| grep -v "Update from Weblate" \ +| grep -v "Translations update from Weblate" \ | tac TRANSLATIONS=$(git log $LAST_RELEASE... -n 10000 --pretty=format:"%s" \ From 907a1fa2bb81ee443f35e84249cad798d44c836b Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 16:34:34 +0200 Subject: [PATCH 75/92] Update changelog for 11.0.9.10 --- debian/changelog | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/debian/changelog b/debian/changelog index 61143d17b..9779754ec 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +yunohost (11.0.9.10) stable; urgency=low + + - [fix] diagnosis: fix inaccurate message (ae92a0b8) + - [fix] logrotate helpers: getopts miserably explodes if 'legacy_args' is inconsistent with 'args_array' ... (530bf04a) + - [i18n] Translations updated for Basque, French, Indonesian, Italian, Slovak + + Thanks to all contributors <3 ! (Jose Riha, Leandro Noferini, liimee, Stephan Klein, xabirequejo) + + -- Alexandre Aubin Fri, 26 Aug 2022 16:32:19 +0200 + yunohost (11.0.9.9) stable; urgency=low - Sync with Buster branch From f5d94509a1f9884cd16d48f0dc2f41089bbbb289 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 19:20:13 +0200 Subject: [PATCH 76/92] bullseye migration: add trick to automagically find the likely log of a previously failed migration to ease support --- .../data_migrations/0021_migrate_to_bullseye.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py index 8c3ba8ecf..444306b8e 100644 --- a/src/yunohost/data_migrations/0021_migrate_to_bullseye.py +++ b/src/yunohost/data_migrations/0021_migrate_to_bullseye.py @@ -367,6 +367,16 @@ class MyMigration(Migration): not self.debian_major_version() == N_CURRENT_DEBIAN and not self.yunohost_major_version() == N_CURRENT_YUNOHOST ): + try: + # Here we try to find the previous migration log, which should be somewhat recent and be at least 10k (we keep the biggest one) + maybe_previous_migration_log_id = check_output("cd /var/log/yunohost/categories/operation && find -name '*migrate*.log -size +10k -mtime -100 -exec ls -s {} \\; | sort -n | tr './' ' ' | awk '{print $2}' | tail -n 1") + if maybe_previous_migration_log_id: + logger.info(f"NB: the previous migration log id seems to be {maybe_previous_migration_log_id}. You can share it with the support team with : sudo yunohost log share {maybe_previous_migration_log_id}") + except Exception: + # Yeah it's not that important ... it's to simplify support ... + pass + + raise YunohostError("migration_0021_not_buster2") # Have > 1 Go free space on /var/ ? From 190c1302b1b16fe8eb1433780bd5352d0f9205dc Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 19:23:02 +0200 Subject: [PATCH 77/92] Update changelog for 4.4.2.11 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/changelog b/debian/changelog index 59cda2aba..404493b7a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +yunohost (4.4.2.11) stable; urgency=low + + - bullseye migration: add trick to automagically find the likely log of a previously failed migration to ease support (f5d94509) + + -- Alexandre Aubin Fri, 26 Aug 2022 19:22:30 +0200 + yunohost (4.4.2.10) stable; urgency=low - bullseye migration: add proper explanations and advices after the damn 'The distribution is not Buster' message ... (6a594d0e) From 86e13b06a4b2f77c9434cba68155b1aec8ccaa9c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Fri, 26 Aug 2022 21:16:30 +0200 Subject: [PATCH 78/92] Update changelog for 11.0.9.11 --- debian/changelog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ecbc5433e..ae0db2574 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -yunohost (11.0.9.10) stable; urgency=low +yunohost (11.0.9.11) stable; urgency=low + = Merge with Buster branch - [fix] diagnosis: fix inaccurate message (ae92a0b8) - [fix] logrotate helpers: getopts miserably explodes if 'legacy_args' is inconsistent with 'args_array' ... (530bf04a) - [i18n] Translations updated for Basque, French, Indonesian, Italian, Slovak From 8951eb38bcb440cae5d7598927348dcfe57c0a2b Mon Sep 17 00:00:00 2001 From: Salamandar <6552989+Salamandar@users.noreply.github.com> Date: Sat, 27 Aug 2022 11:23:28 +0200 Subject: [PATCH 79/92] tools_postinstall: list all partitions (not only physical ones) This allows special installation cases such as in a container, where disk_partitions(all=False) would not show virtual mount points. --- src/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools.py b/src/tools.py index e9adedb2a..0980488ed 100644 --- a/src/tools.py +++ b/src/tools.py @@ -219,7 +219,7 @@ def tools_postinstall( ) # Check there's at least 10 GB on the rootfs... - disk_partitions = sorted(psutil.disk_partitions(), key=lambda k: k.mountpoint) + disk_partitions = sorted(psutil.disk_partitions(all=True), key=lambda k: k.mountpoint) main_disk_partitions = [d for d in disk_partitions if d.mountpoint in ["/", "/var"]] main_space = sum( psutil.disk_usage(d.mountpoint).total for d in main_disk_partitions From c4b6dc239908175cec9d41b7cf8c6960c28e98a8 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 27 Aug 2022 19:38:05 +0200 Subject: [PATCH 80/92] Aaaaand i managed to make a typo again --- src/migrations/0021_migrate_to_bullseye.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index eb5031823..0fbf5a5ea 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -389,7 +389,7 @@ class MyMigration(Migration): ): try: # Here we try to find the previous migration log, which should be somewhat recent and be at least 10k (we keep the biggest one) - maybe_previous_migration_log_id = check_output("cd /var/log/yunohost/categories/operation && find -name '*migrate*.log -size +10k -mtime -100 -exec ls -s {} \\; | sort -n | tr './' ' ' | awk '{print $2}' | tail -n 1") + maybe_previous_migration_log_id = check_output("cd /var/log/yunohost/categories/operation && find -name '*migrate*.log' -size +10k -mtime -100 -exec ls -s {} \\; | sort -n | tr './' ' ' | awk '{print $2}' | tail -n 1") if maybe_previous_migration_log_id: logger.info(f"NB: the previous migration log id seems to be {maybe_previous_migration_log_id}. You can share it with the support team with : sudo yunohost log share {maybe_previous_migration_log_id}") except Exception: From 9b5478ee63ccafedd28d9f69b4f740b0c6a0e61c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 28 Aug 2022 14:47:29 +0200 Subject: [PATCH 81/92] Update changelog for 4.4.2.12 --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index ae0db2574..69d689f81 100644 --- a/debian/changelog +++ b/debian/changelog @@ -203,7 +203,7 @@ yunohost (11.0.2) testing; urgency=low -- Alexandre Aubin Wed, 19 Jan 2022 20:52:39 +0100 -yunohost (4.4.2.11) stable; urgency=low +yunohost (4.4.2.12) stable; urgency=low - bullseye migration: add trick to automagically find the likely log of a previously failed migration to ease support (f5d94509) From b49e1bad53e49971cbb96768dc191d42fba15a13 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 28 Aug 2022 14:49:12 +0200 Subject: [PATCH 82/92] Update changelog for 11.0.9.12 --- debian/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index 69d689f81..1bc60b4c9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +yunohost (11.0.9.12) stable; urgency=low + + - [fix] postinstall: check all partitions (not only physical ones) ([#1497](https://github.com/YunoHost/yunohost/pull/1497)) + - [i18n] Translations updated for Basque, French, Indonesian, Italian, Slovak + + Thanks to all contributors <3 ! (Salamandar) + + -- Alexandre Aubin Sun, 28 Aug 2022 14:50:38 +0200 + yunohost (11.0.9.11) stable; urgency=low = Merge with Buster branch From efe0e601826f606bf44e199740a67c79566c8386 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sun, 28 Aug 2022 17:25:31 +0200 Subject: [PATCH 83/92] [fix] defaultapp: domain may not exist in app_map dict output --- src/domain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/domain.py b/src/domain.py index e40b4f03c..29040ced8 100644 --- a/src/domain.py +++ b/src/domain.py @@ -461,7 +461,7 @@ class DomainConfigPanel(ConfigPanel): ): from yunohost.app import app_ssowatconf, app_map - if "/" in app_map(raw=True)[self.entity]: + if "/" in app_map(raw=True).get(self.entity, {}): raise YunohostValidationError( "app_make_default_location_already_used", app=self.future_values["default_app"], From a0d19d88e6523f2cf33d392faef4c0ce8ef51a08 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sun, 28 Aug 2022 15:43:54 +0000 Subject: [PATCH 84/92] [CI] Format code with Black --- src/migrations/0021_migrate_to_bullseye.py | 9 ++++++--- src/tools.py | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 0fbf5a5ea..690bc1249 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -389,14 +389,17 @@ class MyMigration(Migration): ): try: # Here we try to find the previous migration log, which should be somewhat recent and be at least 10k (we keep the biggest one) - maybe_previous_migration_log_id = check_output("cd /var/log/yunohost/categories/operation && find -name '*migrate*.log' -size +10k -mtime -100 -exec ls -s {} \\; | sort -n | tr './' ' ' | awk '{print $2}' | tail -n 1") + maybe_previous_migration_log_id = check_output( + "cd /var/log/yunohost/categories/operation && find -name '*migrate*.log' -size +10k -mtime -100 -exec ls -s {} \\; | sort -n | tr './' ' ' | awk '{print $2}' | tail -n 1" + ) if maybe_previous_migration_log_id: - logger.info(f"NB: the previous migration log id seems to be {maybe_previous_migration_log_id}. You can share it with the support team with : sudo yunohost log share {maybe_previous_migration_log_id}") + logger.info( + f"NB: the previous migration log id seems to be {maybe_previous_migration_log_id}. You can share it with the support team with : sudo yunohost log share {maybe_previous_migration_log_id}" + ) except Exception: # Yeah it's not that important ... it's to simplify support ... pass - raise YunohostError("migration_0021_not_buster2") # Have > 1 Go free space on /var/ ? diff --git a/src/tools.py b/src/tools.py index 0980488ed..e739c4504 100644 --- a/src/tools.py +++ b/src/tools.py @@ -219,7 +219,9 @@ def tools_postinstall( ) # Check there's at least 10 GB on the rootfs... - disk_partitions = sorted(psutil.disk_partitions(all=True), key=lambda k: k.mountpoint) + disk_partitions = sorted( + psutil.disk_partitions(all=True), key=lambda k: k.mountpoint + ) main_disk_partitions = [d for d in disk_partitions if d.mountpoint in ["/", "/var"]] main_space = sum( psutil.disk_usage(d.mountpoint).total for d in main_disk_partitions From 503b90316fc186b91d26679eb88092507bb80a4e Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 30 Aug 2022 00:04:23 +0200 Subject: [PATCH 85/92] [fix] regenconf: fix a stupid issue with slapcat displaying an error message because grep -q breaks the pipe --- hooks/conf_regen/06-slapd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hooks/conf_regen/06-slapd b/hooks/conf_regen/06-slapd index 616b383ec..1cc1052b7 100755 --- a/hooks/conf_regen/06-slapd +++ b/hooks/conf_regen/06-slapd @@ -139,7 +139,7 @@ do_post_regen() { fi # For some reason, old setups don't have the admins group defined... - if ! slapcat | grep -q 'cn=admins,ou=groups,dc=yunohost,dc=org'; then + if ! slapcat -H "ldap:///cn=admins,ou=groups,dc=yunohost,dc=org" | grep -q 'cn=admins,ou=groups,dc=yunohost,dc=org'; then slapadd -F /etc/ldap/slapd.d -b dc=yunohost,dc=org <<< \ "dn: cn=admins,ou=groups,dc=yunohost,dc=org cn: admins From c3eb455b5b791a7d04071fd645a0b5589c7a1200 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Wed, 31 Aug 2022 06:50:21 +0000 Subject: [PATCH 86/92] Translated using Weblate (Slovak) Currently translated at 33.9% (235 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 875d23a98..5dcd338c5 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -221,5 +221,17 @@ "diagnosis_http_partially_unreachable": "Doména {domain} sa zdá byť nedostupná prostredníctvom HTTP mimo miestnej siete pri použití IPv{failed}, hoci funguje pri IPv{passed}.", "diagnosis_http_special_use_tld": "Doména {domain} je založená na top-level doméne (TLD) pre zvláštne určenie ako je .local alebo .test a preto sa neočakáva, aby bola dostupná mimo miestnej siete.", "diagnosis_http_unreachable": "Doména {domain} sa zdá byť nedostupná prostredníctvom HTTP mimo miestnej siete.", - "diagnosis_ignored_issues": "(+ {nb_ignored} ignorovaný(ch) problém(ov))" + "diagnosis_ignored_issues": "(+ {nb_ignored} ignorovaný(ch) problém(ov))", + "diagnosis_ip_no_ipv6_tip": "Váš server bude fungovať aj bez IPv6, no pre celkové zdravie internetu je lepšie ho nastaviť. V prípade, že je IPv6 dostupné, systém alebo váš poskytovateľ by ho mal automaticky nakonfigurovať. V opačnom prípade budete možno musieť nastaviť zopár vecí ručne tak, ako je vysvetlené v dokumentácii na https://yunohost.org/#/ipv6. Ak nemôžete povoliť IPv6 alebo je to na vás príliš technicky náročné, môžete pokojne toto upozornenie ignorovať.", + "diagnosis_ip_broken_dnsresolution": "Zdá sa, že z nejakého dôvodu nefunguje prekladanie názvov domén… Blokuje vaša brána firewall DNS požiadavky?", + "diagnosis_ip_broken_resolvconf": "Zdá sa, že na vašom serveri nefunguje prekladanie názvov domén, čo môže súvisieť s tým, že /etc/resolv.conf neukazuje na 127.0.0.1.", + "diagnosis_ip_connected_ipv4": "Server nie je pripojený k internetu prostredníctvom IPv4!", + "diagnosis_ip_connected_ipv6": "Server nie je pripojený k internetu prostredníctvom IPv6!", + "diagnosis_ip_dnsresolution_working": "Preklad názvov domén nefunguje!", + "diagnosis_ip_global": "Globálna IP adresa: {global}", + "diagnosis_ip_local": "Miestna IP adresa: {local}", + "diagnosis_ip_no_ipv4": "Na serveri nefunguje spojenie cez protokol IPv4.", + "diagnosis_ip_no_ipv6": "Na serveri nefunguje spojenie cez protokol IPv6.", + "diagnosis_ip_not_connected_at_all": "Zdá sa, že tento server nie je vôbec pripojený k internetu!?", + "diagnosis_ip_weird_resolvconf": "Zdá sa, že preklad názvov domén funguje, ale podľa všetkého používate vlastný súbor /etc/resolv.conf." } From 24f28ef87ab314b817457fdbdb2c424454c85c40 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 1 Sep 2022 09:39:13 +0000 Subject: [PATCH 87/92] [CI] Reformat / remove stale translated strings --- locales/de.json | 1 - locales/en.json | 2 +- locales/es.json | 1 - locales/eu.json | 4 +--- locales/fr.json | 3 +-- locales/gl.json | 4 +--- locales/id.json | 2 +- locales/it.json | 2 +- locales/sk.json | 2 +- locales/uk.json | 3 +-- 10 files changed, 8 insertions(+), 16 deletions(-) diff --git a/locales/de.json b/locales/de.json index 674212637..bb9253611 100644 --- a/locales/de.json +++ b/locales/de.json @@ -666,7 +666,6 @@ "migration_0021_main_upgrade": "Starte Hauptupdate...", "migration_0021_still_on_buster_after_main_upgrade": "Irgendetwas ist während des Haupt-Upgrades schief gelaufen, das System scheint immer noch auf Debian Buster zu laufen", "migration_0021_yunohost_upgrade": "Start des YunoHost Kern-Upgrades...", - "migration_0021_not_buster": "Die aktuelle Debian-Distribution ist nicht Buster!", "migration_0021_not_enough_free_space": "Der freie Speicherplatz in /var/ ist ziemlich gering! Du solltest mindestens 1 GB frei haben, um diese Migration durchzuführen.", "migration_0021_system_not_fully_up_to_date": "Dein System ist nicht ganz aktuell. Bitte führe ein reguläres Upgrade durch, bevor du die Migration zu Bullseye durchführst.", "migration_0021_problematic_apps_warning": "Bitte beachte, dass die folgenden, möglicherweise problematischen installierten Anwendungen erkannt wurden. Es sieht so aus, als ob diese nicht aus dem YunoHost-Applikations-Katalog installiert wurden oder nicht als \"funktionierend\" gekennzeichnet sind. Es kann daher nicht garantiert werden, dass sie nach dem Upgrade noch funktionieren werden: {problematic_apps}", diff --git a/locales/en.json b/locales/en.json index 620616748..b7c18ca70 100644 --- a/locales/en.json +++ b/locales/en.json @@ -692,4 +692,4 @@ "yunohost_installing": "Installing YunoHost...", "yunohost_not_installed": "YunoHost is not correctly installed. Please run 'yunohost tools postinstall'", "yunohost_postinstall_end_tip": "The post-install completed! To finalize your setup, please consider:\n - adding a first user through the 'Users' section of the webadmin (or 'yunohost user create ' in command-line);\n - diagnose potential issues through the 'Diagnosis' section of the webadmin (or 'yunohost diagnosis run' in command-line);\n - reading the 'Finalizing your setup' and 'Getting to know YunoHost' parts in the admin documentation: https://yunohost.org/admindoc." -} +} \ No newline at end of file diff --git a/locales/es.json b/locales/es.json index fe88c14d3..79bf19c9a 100644 --- a/locales/es.json +++ b/locales/es.json @@ -637,7 +637,6 @@ "migration_0021_main_upgrade": "Iniciando actualización principal...", "migration_0021_still_on_buster_after_main_upgrade": "Algo salió mal durante la actualización principal, el sistema parece estar todavía en Debian Buster", "migration_0021_yunohost_upgrade": "Iniciando la actualización principal de YunoHost...", - "migration_0021_not_buster": "¡La distribución actual de Debian no es Buster!", "migration_0021_not_enough_free_space": "¡El espacio libre es bastante bajo en /var/! Debe tener al menos 1 GB libre para ejecutar esta migración.", "migration_0021_system_not_fully_up_to_date": "Su sistema no está completamente actualizado. Realice una actualización regular antes de ejecutar la migración a Bullseye.", "migration_0021_general_warning": "Tenga en cuenta que esta migración es una operación delicada. El equipo de YunoHost hizo todo lo posible para revisarlo y probarlo, pero la migración aún podría romper partes del sistema o sus aplicaciones.\n\nPor lo tanto, se recomienda:\n - Realice una copia de seguridad de cualquier dato o aplicación crítica. Más información en https://yunohost.org/backup;\n - Sea paciente después de iniciar la migración: dependiendo de su conexión a Internet y hardware, puede tomar algunas horas para que todo se actualice.", diff --git a/locales/eu.json b/locales/eu.json index 6ebe8b061..ca33a972a 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -670,7 +670,6 @@ "migration_0021_main_upgrade": "Eguneraketa nagusia abiarazten…", "migration_0021_still_on_buster_after_main_upgrade": "Zerbaitek huts egin du eguneraketa nagusian, badirudi sistemak oraindik darabilela Debian Buster", "migration_0021_yunohost_upgrade": "YunoHosten muineko eguneraketa abiarazten…", - "migration_0021_not_buster": "Uneko Debian ez da Buster!", "migration_0021_not_enough_free_space": "/var/-enerabilgarri dagoen espazioa oso txikia da! Guxtienez GB 1 izan beharko zenuke erabilgarri migrazioari ekiteko.", "migration_0021_system_not_fully_up_to_date": "Sistema ez dago erabat egunean. Mesedez, egizu eguneraketa arrunt bat Bullseye-(e)rako migrazioa abiarazi baino lehen.", "migration_0021_general_warning": "Mesedez, kontuan hartu migrazio hau konplexua dela. YunoHost taldeak ahalegin handia egin du probatzeko, baina hala ere migrazioak sistemaren zatiren bat edo aplikazioak apurt litzake.\n\nHorregatik, gomendagarria da:\n\t- Datu edo aplikazio garrantzitsuen babeskopia egitea. Informazio gehiago: https://yunohost.org/backup;\n\t- Ez izan presarik migrazioa abiaraztean: zure internet eta hardwarearen arabera ordu batzuk ere iraun lezake eguneraketa prozesuak.", @@ -685,7 +684,6 @@ "migration_0023_postgresql_13_not_installed": "PostgreSQL 11 dago instalatuta baina PostgreSQL 13 ez!? Zerbait arraroa gertatu omen zaio zure sistemari :( …", "migration_description_0022_php73_to_php74_pools": "Migratu php7.3-fpm 'pool' ezarpen-fitxategiak php7.4ra", "migration_description_0023_postgresql_11_to_13": "Migratu datubaseak PostgreSQL 11tik 13ra", - "migration_0021_venv_regen_failed": "'{venv}' ingurune birtuala ezin izan da birsortu, ziurrenik `yunohost app upgrade --force` komandoa exekutatu behar duzu", "migration_0024_rebuild_python_venv_broken_app": "{app} aplikazioari ez ikusiarena egin zaio ezin delako ingurune birtuala modu errazean birsortu. Horren ordez, aplikazioaren eguneraketa behartzen saia zaitezke `yunohost app upgrade --force {app}` arazoa konpontzeko.", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Ondorengo aplikazioen virtualenv-a birsortzeko saiakera egingo da (eragiketak luze jo dezake!): {rebuild_apps}", "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenv-ak ezin dira birsortu aplikazio horientzat. Eguneraketa behartu behar duzu horientzat, ondorengo komandoa exekutatuz egin daiteke: `yunohost app upgrade --force APP`: {ignored_apps}", @@ -694,4 +692,4 @@ "migration_description_0024_rebuild_python_venv": "Konpondu Python aplikazioa Bullseye eguneraketa eta gero", "migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu.", "migration_0021_not_buster2": "Zerbitzariak darabilen Debian bertsioa ez da Buster! Dagoeneko Buster -> Bullseye migrazioa exekutatu baduzu, errore honek migrazioa erabat arrakastatsua izan ez zela esan nahi du (bestela YunoHostek amaitutzat markatuko luke). Komenigarria izango litzateke, laguntza taldearekin batera, zer gertatu zen aztertzea. Horretarako `migrazioaren erregistro **osoa** beharko duzue, Erramintak > Erregistroak atalean eskuragarri dagoena." -} +} \ No newline at end of file diff --git a/locales/fr.json b/locales/fr.json index ec9a6b59a..789fa14f6 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -685,7 +685,6 @@ "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_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire.", - "migration_0021_venv_regen_failed": "L'environnement virtuel '{venv}' n'a pas pu se régénérer, vous devez probablement exécuter la commande `yunohost app upgrade --force`", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "La reconstruction du virtualenv sera tentée pour les applications suivantes (NB : l'opération peut prendre un certain temps !) : {rebuild_apps}", "migration_0024_rebuild_python_venv_in_progress": "Tentative de reconstruction du virtualenv Python pour `{app}`", "migration_0024_rebuild_python_venv_failed": "Échec de la reconstruction de l'environnement virtuel Python pour {app}. L'application peut ne pas fonctionner tant que ce problème n'est pas résolu. Vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.", @@ -693,4 +692,4 @@ "migration_0024_rebuild_python_venv_broken_app": "Ignorer {app} car virtualenv ne peut pas être facilement reconstruit pour cette application. Au lieu de cela, vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.", "migration_0024_rebuild_python_venv_disclaimer_base": "Suite à la mise à niveau vers Debian Bullseye, certaines applications Python doivent être partiellement reconstruites pour être converties vers la nouvelle version Python livrée dans Debian (en termes techniques : ce qu'on appelle le \"virtualenv\" doit être recréé). En attendant, ces applications Python peuvent ne pas fonctionner. YunoHost peut tenter de reconstruire le virtualenv pour certains d'entre eux, comme détaillé ci-dessous. Pour les autres applications, ou si la tentative de reconstruction échoue, vous devrez forcer manuellement une mise à niveau pour ces applications.", "migration_0024_rebuild_python_venv_disclaimer_ignored": "Les virtualenvs ne peuvent pas être reconstruits automatiquement pour ces applications. Vous devez forcer une mise à jour pour ceux-ci, ce qui peut être fait à partir de la ligne de commande : `yunohost app upgrade --force APP` : {ignored_apps}" -} +} \ No newline at end of file diff --git a/locales/gl.json b/locales/gl.json index 5b1864e13..ef3c03ca0 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -666,7 +666,6 @@ "migration_0021_main_upgrade": "Iniciando a actualización principal...", "migration_0021_still_on_buster_after_main_upgrade": "Algo fallou durante a actualización principal, o sistema semlla que aínda está en Debian Buster", "migration_0021_yunohost_upgrade": "Iniciando actualización compoñente core de YunoHost...", - "migration_0021_not_buster": "A distribución Debian actual non é Buster!", "migration_0021_not_enough_free_space": "Queda pouco espazo en /var/! Deberías ter polo menos 1GB libre para facer a migración.", "migration_0021_problematic_apps_warning": "Detectamos que están instaladas estas app que poderían ser problemáticas. Semella que non foron instaladas desde o catálogo YunoHost, ou non están marcadas como que 'funcionan'. Así, non podemos garantir que seguiran funcionando ben tras a migración: {problematic_apps}", "migration_0021_modified_files": "Ten en conta que os seguintes ficheiros semella que foron editados manualmente e poderían ser sobrescritos durante a migración: {manually_modified_files}", @@ -685,7 +684,6 @@ "service_description_postgresql": "Almacena datos da app (Base datos SQL)", "tools_upgrade": "Actualizando paquetes do sistema", "domain_config_default_app": "App por defecto", - "migration_0021_venv_regen_failed": "Fallou a rexeneración do entorno virtual '{venv}', probablemente teñas que executar o comando `yunohost app upgrade --force`", "migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`.", "migration_0024_rebuild_python_venv_disclaimer_base": "Após a actualización a Debian Bullseye, algunhas aplicacións de Python precisan ser reconstruídas para usar a nova versión de Python que inclúe Debian (técnicamente: recrear o `virtualenv`). Mentras tanto, algunhas aplicacións de Python poderían non funcionar. YunoHost pode intentar reconstruir o virtualenv para algunhas, como se indica abaixo. Para outras, ou se falla a reconstrución, pode que teñas que forzar a actualización desas apps.", "migration_0024_rebuild_python_venv_disclaimer_rebuild": "Vaise intentar a reconstrución de virtualenv para as seguintes apps (Nota: a operación podería tomar algún tempo!): {rebuild_apps}", @@ -693,4 +691,4 @@ "migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir o Python virtualenv para `{app}`", "migration_description_0024_rebuild_python_venv": "Reparar app Python após a migración a bullseye", "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de Python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`." -} +} \ No newline at end of file diff --git a/locales/id.json b/locales/id.json index 7e67503be..d70ed4ed5 100644 --- a/locales/id.json +++ b/locales/id.json @@ -66,4 +66,4 @@ "app_not_upgraded": "Aplikasi '{failed_app}' gagal diperbarui, oleh karena itu aplikasi-aplikasi berikut juga dibatalkan: {apps}", "app_config_unable_to_apply": "Gagal menerapkan nilai-nilai panel konfigurasi.", "app_config_unable_to_read": "Gagal membaca nilai-nilai panel konfigurasi." -} +} \ No newline at end of file diff --git a/locales/it.json b/locales/it.json index 6d6aedd5b..704345d25 100644 --- a/locales/it.json +++ b/locales/it.json @@ -661,4 +661,4 @@ "ldap_server_down": "Impossibile raggiungere il server LDAP", "ldap_server_is_down_restart_it": "Il servizio LDAP è down, prova a riavviarlo…", "domain_config_default_app": "Applicazione di default" -} +} \ No newline at end of file diff --git a/locales/sk.json b/locales/sk.json index 5dcd338c5..18a4bf8bf 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -234,4 +234,4 @@ "diagnosis_ip_no_ipv6": "Na serveri nefunguje spojenie cez protokol IPv6.", "diagnosis_ip_not_connected_at_all": "Zdá sa, že tento server nie je vôbec pripojený k internetu!?", "diagnosis_ip_weird_resolvconf": "Zdá sa, že preklad názvov domén funguje, ale podľa všetkého používate vlastný súbor /etc/resolv.conf." -} +} \ No newline at end of file diff --git a/locales/uk.json b/locales/uk.json index 2eab3d5a6..2b98167a9 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -665,7 +665,6 @@ "migration_0021_patching_sources_list": "Виправлення sources.lists...", "migration_0021_main_upgrade": "Початок основного оновлення...", "migration_0021_yunohost_upgrade": "Початок оновлення ядра YunoHost...", - "migration_0021_not_buster": "Поточний дистрибутив Debian не є Buster!", "migration_0021_problematic_apps_warning": "Зверніть увагу, що були виявлені наступні, ймовірно проблемні встановлені застосунки. Схоже, що вони не були встановлені з каталогу застосунків YunoHost або не зазначені як «робочі». Отже, не можна гарантувати, що вони будуть працювати після оновлення: {problematic_apps}", "migration_0021_modified_files": "Зверніть увагу, що такі файли були змінені вручну і можуть бути перезаписані після оновлення: {manually_modified_files}", "migration_0021_cleaning_up": "Очищення кеш-пам'яті і пакетів, які більше не потрібні...", @@ -692,4 +691,4 @@ "migration_description_0024_rebuild_python_venv": "Відновлення застосунку Python після міграції до bullseye", "migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs не можна автоматично перебудувати для цих застосунків. Вам потрібно примусово оновити його для них, що можна зробити з командного рядка за допомогою: `yunohost app upgrade --force APP`: {ignored_apps}", "migration_0024_rebuild_python_venv_failed": "Не вдалося перебудувати Python virtualenv для {app}. Застосунок може не працювати, доки це не вирішено. Ви повинні виправити ситуацію, примусово оновивши його за допомогою `yunohost app upgrade --force {app}`." -} +} \ No newline at end of file From b77e811402271650c19eed906978114e245538bf Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Thu, 1 Sep 2022 19:16:37 +0200 Subject: [PATCH 88/92] regenconf: add a timeout to curl inside dnsmasq regenconf to prevent being stuck too long when no network on the machine --- hooks/conf_regen/43-dnsmasq | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hooks/conf_regen/43-dnsmasq b/hooks/conf_regen/43-dnsmasq index 9aca18031..648a128c2 100755 --- a/hooks/conf_regen/43-dnsmasq +++ b/hooks/conf_regen/43-dnsmasq @@ -21,9 +21,9 @@ do_pre_regen() { cat plain/resolv.dnsmasq.conf | grep "^nameserver" | shuf >${pending_dir}/etc/resolv.dnsmasq.conf # retrieve variables - ipv4=$(curl -s -4 https://ip.yunohost.org 2>/dev/null || true) + ipv4=$(curl --max-time 10 -s -4 https://ip.yunohost.org 2>/dev/null || true) ynh_validate_ip4 "$ipv4" || ipv4='127.0.0.1' - ipv6=$(curl -s -6 https://ip6.yunohost.org 2>/dev/null || true) + ipv6=$(curl --max-time 10 -s -6 https://ip6.yunohost.org 2>/dev/null || true) ynh_validate_ip6 "$ipv6" || ipv6='' interfaces="$(ip -j addr show | jq -r '[.[].ifname]|join(" ")')" wireless_interfaces="lo" From 68b4d3098650a3ce0fa3c57b2b2170a6ec49ba0e Mon Sep 17 00:00:00 2001 From: tituspijean Date: Fri, 2 Sep 2022 23:27:23 +0200 Subject: [PATCH 89/92] Fix ynh_delete_file_checksum in helpers/config no need for `--update_only` --- helpers/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/config b/helpers/config index 9c7272b85..c1f8bca32 100644 --- a/helpers/config +++ b/helpers/config @@ -77,7 +77,7 @@ _ynh_app_config_apply_one() { if [[ "${!short_setting}" == "" ]]; then ynh_backup_if_checksum_is_different --file="$bind_file" ynh_secure_remove --file="$bind_file" - ynh_delete_file_checksum --file="$bind_file" --update_only + ynh_delete_file_checksum --file="$bind_file" ynh_print_info --message="File '$bind_file' removed" else ynh_backup_if_checksum_is_different --file="$bind_file" From c469757af976724299ee095f08fe48d4e9d2d686 Mon Sep 17 00:00:00 2001 From: xabirequejo Date: Thu, 1 Sep 2022 12:15:02 +0000 Subject: [PATCH 90/92] Translated using Weblate (Basque) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/eu/ --- locales/eu.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locales/eu.json b/locales/eu.json index ca33a972a..52706c110 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -243,7 +243,7 @@ "diagnosis_apps_deprecated_practices": "Instalatutako aplikazio honen bertsioak oraindik darabiltza zaharkitutako pakete-jarraibideak. Eguneratzea hausnartu beharko zenuke.", "diagnosis_apps_issue": "Arazo bat dago {app} aplikazioarekin", "diagnosis_apps_not_in_app_catalog": "Aplikazio hau ez da YunoHosten aplikazioen katalogokoa. Iraganean egon bazen eta ezabatu izan balitz, desinstalatzea litzateke onena, ez baitu eguneraketarik jasoko eta sistemaren integritate eta segurtasuna arriskuan jarri lezakeelako.", - "diagnosis_apps_outdated_ynh_requirement": "Instalatutako aplikazio honen bertsioak yunohost >= 2.x baino ez du behar, eta horrek egungo pakete-jardunbideekin bat ez datorrela iradokitzen du. Eguneratzen saiatu beharko zinateke.", + "diagnosis_apps_outdated_ynh_requirement": "Instalatutako aplikazio honen bertsioak yunohost >= 2.x edo 3.x baino ez du behar, eta horrek eguneratua izan ez dela eta egungo pakete-jardunbideekin bat ez datorrela iradokitzen du. Eguneratzen saiatu beharko zinateke.", "diagnosis_description_apps": "Aplikazioak", "domain_dns_conf_special_use_tld": "Domeinu hau top-level domain (TLD) erabilera bereziko motakoa da .local edo .test bezala eta ez du DNS ezarpenik behar.", "log_permission_create": "Sortu '{}' baimena", @@ -293,7 +293,7 @@ "group_created": "'{group}' taldea sortu da", "global_settings_setting_security_password_user_strength": "Erabiltzaile-pasahitzaren segurtasuna", "global_settings_setting_security_experimental_enabled": "Gaitu segurtasun funtzio esperimentalak (ez ezazu egin ez badakizu zertan ari zaren!)", - "good_practices_about_admin_password": "Administrazio-pasahitz berria ezartzear zaude. Pasahitzak zortzi karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).", + "good_practices_about_admin_password": "Administrazio-pasahitz berria ezartzear zaude. Pasahitzak 8 karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).", "log_help_to_get_failed_log": "Ezin izan da '{desc}' eragiketa exekutatu. Mesedez, laguntza nahi baduzu partekatu eragiketa honen erregistro osoa 'yunohost log share {name}' komandoa erabiliz", "global_settings_setting_security_webadmin_allowlist_enabled": "Baimendu IP zehatz batzuk bakarrik administrazio-atarian.", "group_unknown": "'{group}' taldea ezezaguna da", @@ -361,7 +361,7 @@ "global_settings_bad_choice_for_enum": "{setting} ezarpenerako aukera okerra. '{choice}' ezarri da baina hauek dira aukerak: {available_choices}", "global_settings_setting_security_postfix_compatibility": "Bateragarritasun eta segurtasun arteko gatazka Postfix zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)", "global_settings_setting_security_ssh_compatibility": "Bateragarritasun eta segurtasun arteko gatazka SSH zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)", - "good_practices_about_user_password": "Erabiltzaile-pasahitz berria ezartzear zaude. Pasahitzak zortzi karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).", + "good_practices_about_user_password": "Erabiltzaile-pasahitz berria ezartzear zaude. Pasahitzak 8 karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).", "group_cannot_edit_all_users": "'all_users' taldea ezin da eskuz moldatu. YunoHosten izena emanda dauden erabiltzaile guztiak barne dituen talde berezia da", "invalid_number": "Zenbaki bat izan behar da", "ldap_attribute_already_exists": "'{attribute}' LDAP funtzioa existitzen da dagoeneko eta '{value}' balioa dauka", @@ -606,7 +606,7 @@ "migrations_migration_has_failed": "{id} migrazioak ez du amaitu, geldiarazten. Errorea: {exception}", "migrations_need_to_accept_disclaimer": "{id} migrazioa abiarazteko, ondorengo baldintzak onartu behar dituzu:\n---\n{disclaimer}\n---\nMigrazioa onartzen baduzu, mesedez berrabiarazi prozesua komandoan '--accept-disclaimer' aukera gehituz.", "not_enough_disk_space": "Ez dago nahikoa espazio librerik '{path}'-n", - "password_too_simple_3": "Pasahitzak zortzi karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat, txikiren bat eta karaktere bereziren bat izan behar ditu", + "password_too_simple_3": "Pasahitzak 8 karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat, txikiren bat eta karaktere bereziren bat izan behar ditu", "pattern_backup_archive_name": "Fitxategiaren izenak 30 karaktere izan ditzake gehienez, alfanumerikoak eta ._- baino ez", "pattern_domain": "Domeinu izen baliagarri bat izan behar da (adibidez: nire-domeinua.eus)", "pattern_mailbox_quota": "Tamainak b/k/M/G/T zehaztu behar du edo 0 mugarik ezarri nahi ez bada", @@ -692,4 +692,4 @@ "migration_description_0024_rebuild_python_venv": "Konpondu Python aplikazioa Bullseye eguneraketa eta gero", "migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu.", "migration_0021_not_buster2": "Zerbitzariak darabilen Debian bertsioa ez da Buster! Dagoeneko Buster -> Bullseye migrazioa exekutatu baduzu, errore honek migrazioa erabat arrakastatsua izan ez zela esan nahi du (bestela YunoHostek amaitutzat markatuko luke). Komenigarria izango litzateke, laguntza taldearekin batera, zer gertatu zen aztertzea. Horretarako `migrazioaren erregistro **osoa** beharko duzue, Erramintak > Erregistroak atalean eskuragarri dagoena." -} \ No newline at end of file +} From f3eafb1b33cdb3e03e03c69be7d1a2eec115dd97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M?= Date: Thu, 1 Sep 2022 12:34:26 +0000 Subject: [PATCH 91/92] Translated using Weblate (Galician) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/gl/ --- locales/gl.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/locales/gl.json b/locales/gl.json index ef3c03ca0..970f7bf41 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -599,7 +599,7 @@ "user_import_nothing_to_do": "Ningunha usuaria precisa ser importada", "user_import_partial_failed": "A operación de importación de usuarias fallou parcialmente", "diagnosis_apps_deprecated_practices": "A versión instalada desta app aínda utiliza algunha das antigas prácticas de empaquetado xa abandonadas. Deberías considerar actualizala.", - "diagnosis_apps_outdated_ynh_requirement": "A versión instalada desta app só require yunohost >= 2.x, que normalmente indica que non está ao día coas prácticas recomendadas de empaquetado e asistentes. Deberías considerar actualizala.", + "diagnosis_apps_outdated_ynh_requirement": "A versión instalada desta app só require yunohost >= 2.x ou 3.x, esto normalmente indica que non está ao día coas prácticas recomendadas de empaquetado e asistentes. Deberías considerar actualizala.", "user_import_success": "Usuarias importadas correctamente", "diagnosis_high_number_auth_failures": "Hai un alto número sospeitoso de intentos fallidos de autenticación. Deberías comprobar que fail2ban está a executarse e que está correctamente configurado, ou utiliza un porto personalizado para SSH tal como se explica en https://yunohost.org/security.", "user_import_bad_file": "O ficheiro CSV non ten o formato correcto e será ignorado para evitar unha potencial perda de datos", @@ -690,5 +690,6 @@ "migration_0024_rebuild_python_venv_disclaimer_ignored": "Non se puido reconstruir virtualenv para estas apps. Precisas forzar a súa actualización, pódelo facer desde a liña de comandos con: `yunohost app upgrade --force APP`: {ignored_apps}", "migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir o Python virtualenv para `{app}`", "migration_description_0024_rebuild_python_venv": "Reparar app Python após a migración a bullseye", - "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de Python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`." -} \ No newline at end of file + "migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de Python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`.", + "migration_0021_not_buster2": "A distribución actual Debian non é Buster! Se xa realizaches a migración Buster->Bullseye entón este erro indica que o proceso de migración non se realizou de xeito correcto ao 100% (se non YunoHost debería telo marcado como completado). É recomendable comprobar xunto co equipo de axuda o que aconteceu, necesitarán o rexistro **completo** da `migración`, que podes atopar na webadmin en Ferramentas > Rexistros." +} From 4cb075d0eb06657f0205d407f6ad1b33d46cafa1 Mon Sep 17 00:00:00 2001 From: xabirequejo Date: Thu, 1 Sep 2022 14:06:47 +0000 Subject: [PATCH 92/92] Translated using Weblate (Basque) Currently translated at 100.0% (693 of 693 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/eu/ --- locales/eu.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/eu.json b/locales/eu.json index 52706c110..5dff66225 100644 --- a/locales/eu.json +++ b/locales/eu.json @@ -1,5 +1,5 @@ { - "password_too_simple_1": "Pasahitzak gutxienez zortzi karaktere izan behar ditu", + "password_too_simple_1": "Pasahitzak 8 karaktere izan behar ditu gutxienez", "action_invalid": "'{action}' eragiketa baliogabea da", "aborting": "Bertan behera uzten.", "admin_password_changed": "Administrazio-pasahitza aldatu da", @@ -307,7 +307,7 @@ "diagnosis_mail_fcrdns_nok_alternatives_6": "Operadore batzuek ez dute alderantzizko DNSa konfiguratzen uzten (edo funtzioa ez dabil…). IPv4rako alderantzizko DNSa zuzen konfiguratuta badago, IPv6 desgaitzen saia zaitezke posta elektronikoa bidaltzeko, yunohost settings set smtp.allow_ipv6 -v off exekutatuz. Adi: honek esan nahi du ez zarela gai izango IPv6 bakarrik darabilten zerbitzari apurren posta elektronikoa jasotzeko edo beraiei bidaltzeko.", "diagnosis_sshd_config_inconsistent": "Dirudienez SSH ataka eskuz aldatu da /etc/ssh/sshd_config fitxategian. YunoHost 4.2tik aurrera 'security.ssh.port' izeneko ezarpen orokor bat dago konfigurazioa eskuz aldatzea ekiditeko.", "diagnosis_sshd_config_inconsistent_details": "Mesedez, exekutatu yunohost settings set security.ssh.port -v YOUR_SSH_PORT SSH ataka zehazteko, egiaztatu yunohost tools regen-conf ssh --dry-run --with-diff erabiliz eta yunohost tools regen-conf ssh --force exekutatu gomendatutako konfiguraziora bueltatu nahi baduzu.", - "domain_dns_push_failed_to_authenticate": "Ezinezkoa izan da '{domain}' domeinurako APIa erabiliz erregistro-enpresan saioa hastea. Zuzenak al dira datuak? (Errorea: {error})", + "domain_dns_push_failed_to_authenticate": "Ezinezkoa izan da '{domain}' domeinuko erregistro-enpresan APIa erabiliz saioa hastea. Ziurrenik datuak ez dira zuzenak. (Errorea: {error})", "domain_dns_pushing": "DNS ezarpenak bidaltzen…", "diagnosis_sshd_config_insecure": "Badirudi SSH konfigurazioa eskuz aldatu dela eta ez da segurua ez duelako 'AllowGroups' edo 'AllowUsers' baldintzarik jartzen fitxategien atzitzea oztopatzeko.", "disk_space_not_sufficient_update": "Ez dago aplikazio hau eguneratzeko nahikoa espaziorik", @@ -576,7 +576,7 @@ "migrations_loading_migration": "{id} migrazioa kargatzen…", "migrations_no_migrations_to_run": "Ez dago exekutatzeko migraziorik", "password_listed": "Pasahitz hau munduan erabilienetarikoa da. Mesedez, aukeratu bereziagoa den beste bat.", - "password_too_simple_2": "Pasahitzak zortzi karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat eta txikiren bat izan behar ditu", + "password_too_simple_2": "Pasahitzak 8 karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat eta txikiren bat izan behar ditu", "pattern_firstname": "Izen horrek ez du balio", "pattern_password": "Gutxienez hiru karaktere izan behar ditu", "restore_failed": "Ezin izan da sistema lehengoratu",