🎃 YunoHost 13.0 / Trixie spooky beta

Sounds like it’s related to

libcamera-tools : Depends: libcamera0.6 (>= 0.6.0+rpt20251202) but it is not installable
libspa-0.2-bluetooth : Depends: libspa-0.2-modules (= 1.4.2-1+rpt2) but 1.2.7-1~bpo12+1+rpt5 is installed and it is kept back
libpipewire-0.3-0t64 : Depends: libspa-0.2-modules (= 1.4.2-1+rpt2) but 1.2.7-1~bpo12+1+rpt5 is installed and it is kept back

the last 2 are related to pipewire, any clue why you have pipewire installed ? Not that it shouldn’t work but it might help to know the context around this

You can also try to run apt policy libspa-0.2-modules so that we know more about the candidate packages etc … in particular version 1.2.7-1~bpo12+1+rpt5 for libspa-0.2-modules looks like it’s more recent than the one in trixie and comes from something for RPi maybe … We may need to downgrade it explicitly

Overall it also looks like you have a desktop environment on your server which are known to create more dependency issues during major debian upgrades

I installed yunohost over a standard raspberry pi image, so might have something to do with that. Unfortunately I am 200km away from it right now. As soon as I am back I will reinstall bookworm, run the backup to restore all services (hopefully) and try the migration again. Because right now the terminal works and everything, but yunohost doesn’t fully, and nginx isn’t working either, so I can’t login or access any installed service.

Current diagnostics:

=================================
Grundsystem (basesystem)

[ERROR] Sie verwenden inkonsistente Versionen der YunoHost-Pakete… wahrscheinlich wegen eines fehlgeschlagenen oder teilweisen Upgrades.

  • yunohost Version: 13.0.3+202512192030 (unstable)
  • yunohost-admin Version: 12.1.13 (unstable)
  • yunohost-portal Version: 12.1.2 (unstable)
  • moulinette Version: 12.1.3 (unstable)
  • ssowat Version: 12.1.1 (unstable)

=================================
Geöffnete Ports (ports)

[ERROR] Port 80 ist von Aussen her nicht erreichbar.

  • Diesen Port zu öffnen ist nötig, um die Funktionalität des Typs web (service nginx) zu gewährleisten
  • Um dieses Problem zu beheben, musst du höchstwahrscheinlich die Port-Weiterleitung auf deinem Internet-Router einrichten wie in https://doc.yunohost.org/providers/isp_box_config beschrieben

[ERROR] Port 443 ist von Aussen her nicht erreichbar.

  • Diesen Port zu öffnen ist nötig, um die Funktionalität des Typs web (service nginx) zu gewährleisten
  • Um dieses Problem zu beheben, musst du höchstwahrscheinlich die Port-Weiterleitung auf deinem Internet-Router einrichten wie in https://doc.yunohost.org/providers/isp_box_config beschrieben

=================================
Dienste-Status (services)

[ERROR] Der Dienst nginx ist failed :frowning:

  • Du kannst versuchen, den Dienst neu zu starten, und wenn das nicht funktioniert, schaue dir die (Dienst-)Logs in der Verwaltung an (In der Kommandozeile kannst du dies mit ‘yunohost service restart nginx’ und ‘yunohost service log nginx’ tun).

There seems to be an issue with the migration from postgresql 15 → 17. After the update postgresql 17 is running, but in the directory /etc/postgresql only the 15 folder is available. Also running yunohost tools regen-conf postgresql throws an error: https://paste.yunohost.org/raw/nofibacawi

When running yunohost service status postgresql the system returns:

configuration: unknown
description: PostgreSQL RDBMS
last_state_change: 2025-12-29 14:41:51
start_on_boot: enabled
status: unknown

Don’t upgrade TODAY !

I actualy started the upgrade without taking correctly in account this

Ign:8 https://packages.sury.org/php trixie InRelease
Ign:8 https://packages.sury.org/php trixie InRelease
Ign:8 https://packages.sury.org/php trixie InRelease
Err:8 https://packages.sury.org/php trixie InRelease
503 certificate has expired [IP: 2a04:4e42:8e::820 443]

There currently is a problem with php repository access in progress Temporary failure while installing PHP packages

I’m now facing a non working yunohost-api service after upgrade.

Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: Traceback (most recent call last):
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 482, in get_authenticator
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: mod = import_module(auth_module)
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3.13/importlib/init.py”, line 88, in import_module
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: return _bootstrap._gcd_import(name[level:], package, level)
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 1387, in _gcd_import
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 1360, in _find_and_load
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 1331, in _find_and_load_unlocked
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 935, in _load_unlocked
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 1026, in exec_module
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “”, line 488, in _call_with_frames_removed
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/yunohost/authenticators/ldap_admin.py”, line 30, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: import jwt
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/jwt/init.py”, line 1, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from .api_jwk import PyJWK, PyJWKSet
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/jwt/api_jwk.py”, line 7, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from .algorithms import get_default_algorithms, has_crypto, requires_cryptography
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/jwt/algorithms.py”, line 11, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from .utils import (
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: …<9 lines>…
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: )
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/jwt/utils.py”, line 7, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ec.py”, line 11, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: File “/usr/lib/python3/dist-packages/cryptography/exceptions.py”, line 9, in
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: ImportError: PyO3 modules compiled for CPython 3.8 or older may only be initialized once per interpreter process
Jan 01 16:43:57 ``yunohost.org`` yunohost-api[1955865]: 127.0.0.1 - - [2026-01-01 16:43:57] “GET /sse HTTP/1.1” 500 876 0.056394

Connecting to portal show a error 500

[GET] “https://yunhost.org/yunohost/portalapi/public”: 500

Closest bug report i can find about this is :

So the first error i missed was :

Jan 01 23:25:39 ``yunhost.org`` yunohost-portal-api[9806]: RuntimeError: OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration.

since import failed, any other import will display ‘ImportError: PyO3 modules compiled for CPython 3.8 or older may only be initialized once per interpreter process'

origin of problem was a armhf package for openssl-provider-legacy

ii openssl 3.5.4-1~deb13u1+rpt1 arm64 Secure Sockets Layer toolkit - cryptographic utility
ii openssl-provider-legacy:armhf 3.5.4-1~deb13u1+rpt1 armhf Secure Sockets Layer toolkit - cryptographic utility

removing it did reinstall the right arm64 openssl-provider-legacy

once fixed it works.

I guess this is related to usage of archive.raspberrypi.com as debian repository for my raspberry pi3 B+.

The update on my end with an existing bookworm yunohost installation on an x86 server Model
ASRock J5005-ITX” went after initial problems with the Trixie migration due to conflicting desktop application (kodi server based on LXQT) well with some tweaking. I could iron out all of the problems with one left.

I get an error message “Configuration file /etc/nsswitch.conf appears to have been manually modified.

This is probably OK if you know what you're doing! YunoHost will stop updating this file automatically… But beware that YunoHost upgrades could contain important recommended changes. If you want to, you can inspect the differences with yunohost tools regen-conf nsswitch --dry-run --with-diff and force the reset to the recommended configuration with yunohost tools regen-conf nsswitch --force

Running yunohost tools regen-conf nsswitch --force leads to another error message No regen-conf categories named 'nsswitch'

I am happy to enforce nsswitch, but it seems the missing part of the migration left some parts out.

How can I enforce the migration of that specific part?

In general the system behaves table. Thanks for your help :smiling_face:

Wordpress installation is failing with the following error stack:

YunoHost encountered an internal error
Really sorry about that.
You should look for help on the forum or the chat to fix the situation, or report the bug on the bugtracker.
The following information might be useful for the person helping you:

Error: “500”

Action: “POST” /yunohost/api/apps

Error message:
Unexpected server error

Traceback

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/moulinette/interfaces/api.py”, line 430, in process
ret = self.actionsmap.process(arguments, timeout=30, route=_route)
File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 580, in process
return func(**arguments)
File “/usr/lib/python3/dist-packages/yunohost/log.py”, line 532, in func_wrapper
result = func(*args, **kwargs)
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 1462, in app_install
raise e
File “/usr/lib/python3/dist-packages/yunohost/app.py”, line 1455, in app_install
AppResourceManager(app_instance_name, wanted=manifest, current={}).apply(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
rollback_and_raise_exception_if_failure=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
operation_logger=operation_logger,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
action=“install”,
^^^^^^^^^^^^^^^^^
)
^
File “/usr/lib/python3/dist-packages/yunohost/utils/resources.py”, line 56, in apply
todos = list(self.compute_todos())
File “/usr/lib/python3/dist-packages/yunohost/utils/resources.py”, line 132, in compute_todos
wanted_resource = AppResourceClassesByType[name](infos, self.app, self)
File “/usr/lib/python3/dist-packages/yunohost/utils/resources.py”, line 466, in init
super().init({“sources”: properties}, *args, **kwargs)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/utils/resources.py”, line 188, in init
YNH_DEBIAN_VERSION_ID”: str(debian_version_id()),
~~~~~~~~~~~~~~~~~^^
File “/usr/lib/python3/dist-packages/yunohost/utils/system.py”, line 63, in debian_version_id
return int(os_release()[“VERSION_ID”]) # type: ignore[return-value]
ValueError: invalid literal for int() with base 10: ‘“13”’

While processing the action the server said:
Installing wordpress…
Installing wordpress…

This is from a fresh Debian 13 Trixie install using an Oracle Virtualbox guest as base.
Also reproduced on Oracle OCI instance running Debian 13 Trixie.

From this line i would suspect a string argument to have been passed with quotes included, “13” instead of 13. this is a code issue

This is not the latest code for Trixie branch that sould be :

return int(os_release()["VERSION_ID"].strip('"'))  # type: ignore[return-value]

What yunohost version do you have ?

mine is

$ sudo yunohost --version
yunohost:
repo: unstable
version: 13.0.3+202512281445
yunohost-admin:
repo: unstable
version: 13.0.0+202510311945
yunohost-portal:
repo: unstable
version: 13.0.0+202510311948
moulinette:
repo: unstable
version: 13.0.0+202511022215
ssowat:
repo: unstable
version: 13.0.0+202510311952

yunohost:
repo: testing
version: 13.0.3
yunohost-admin:
repo: testing
version: 13.0.0
yunohost-portal:
repo: testing
version: 13.0.0
moulinette:
repo: testing
version: 13.0.0
ssowat:
repo: testing
version: 13.0.0

I installed it like this:

curl https://install.yunohost.org/trixie | bash -s – -d testing

repo: unstable

seems unstable is more stable than testing :slight_smile:

A relevant issue is discussed here Trixie: Error 500 "POST" /yunohost/api/apps

cat /etc/apt/sources.list.d/yunohost.sources
Types: deb
URIs: YunoHost Repository
Suites: trixie
Components: stable
Signed-By: /etc/apt/trusted.gpg.d/yunohost-trixie.gpg

As suggested in Trixie: Error 500 "POST" /yunohost/api/apps
Edited file “/usr/lib/python3/dist-packages/yunohost/utils/system.py”

from:

61  @cache
62  def debian_version_id() -> str:
63        return int(os_release()["VERSION_ID"])  # type: ignore[return-value]

to:

61  @cache
62  def debian_version_id() -> Literal[12, 13]:
63      return int(os_release()["VERSION_ID"].strip('"'))

install now fails with:

  File "/usr/lib/python3/dist-packages/yunohost/utils/system.py", line 63, in debian_version_id
    return int(os_release()["VERSION_ID"].strip('"'))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '"13"'

Temporarily edited /etc/os-release

From:
VERSION_ID=“13”

To:

VERSION_ID=13

and now the install proceeds but eventually fails with another, unrelated error
see https://paste.yunohost.org/raw/piwoyowufi

Manually installed php8.4-fpm:
sudo apt install php8.4-fpm

and now the Wordpress install succeeded and is working fine.
Thank you.

1 Like

good

forum copy paste might be a problem too.

python3
Python 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> int('"13"'.strip('"'))
13
>>> int('“13”'.strip('"'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '“13”'
>>> int('“13”'.strip('”'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '“13'
>>> int('“13”'.strip('“'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '13”'
>>> 

all “ and “13” looks the same but are indeed different …

stipping all …

int(‘“13”’.strip(‘“”"’))
13

Thanks for this, I had the same issue yesterday (was trying to install Jellyfin and Nextcloud on a fresh DietPi Trixie (X86_64) install).

I haven’t edited /etc/os-release and what I’ve found is that with the other changes (system.py and installing PHP) is that they install successfully from the prompt (yunohost app install jellyfin) but installation from the admin panel fails (I’m guessing this is connected with the /os-release file).

Anyway, just wanted to say thanks for helping unstick this and prompting me to register for the forums

Just a follow up on the Wordpress install:
Tried this again from a fresh Yunohost install on Debian 13.3 Trixie which installed Yunohost 13.0.4 and this time no need to edit /etc/os-release nor manually install php8.4-fpm even though file “/usr/lib/python3/dist-packages/yunohost/utils/system.py” still shows:

@cache
def debian_version_id() → Literal[12, 13]:
return int(os_release()[“VERSION_ID”].strip(‘"’)) # type: ignore[return-value]

Anyhow, looks like it got fixed in latest Yunohost 13.0.4.