🚀 YunoHost 12.0 (Bookworm) release / Sortie de YunoHost 12.0 (Bookworm)

:fr: version française

:uk: English version

We are glad to announce the release of YunoHost 12 :partying_face: !

This release brings your servers to Debian 12 :book::worm: Bookworm, and ships an upgrade of the webadmin, an overhaul of the User portal and SSO (Single Sign On) system.

yes, that took some time
 But it was worth it!

Shortcuts to : Installation procedure, Upgrade procedure

:sparkles: Major changes

  • YunoHost now depends on Debian 12
  • The user portal and SSO (Single Sign On) system have been split into three distinct pieces:
    • SSOwat now only manages the SSO/ACL logic (as a nginx Lua middleware)
    • yunohost-portal-api: A new “portal API” service delivering authentication cookies and allowing users to retrieve/update infos
    • yunohost-portal: A new login and homepage web portal
  • Simplified subdomain addition during app install (they can now be installed with a Let’s Encrypt certificate directly from the app install form instead of going through dozens of clicks)
  • The installation script has been reworked with a simpler flow and UI (instead of the old ncurses/whiptail)
  • The base YunoHost setup is now lighter:
    • MySQL/MariaDB and PHP are not installed by default anymore (apps will explicitly depend on them hence everything gets installed only when needed)
    • The email antispam (Rspamd) and the XMPP server (Metronome) are not part of the core anymore. Instead, they have become separate applications: see Rspamd and Metronome
  • Under the hood, the webadmin was migrated to Vue3 and Typescript

:door: Regarding the new user portal

  • The portal and authentication mechanism are now separated in terms of “main domains”. For example, foo.tld and sub.foo.tld share the same portal, but bar.tld and app.bar.tld share a second, different portal
  • Users can only access a portal if they have access to at least one app of that “main domain tree”, or if they are admin
  • The new portal include app logos, descriptions, and an optional ‘search engine’ bar.
  • The new portal’s appearance can be customized from the webadmin in the corresponding “main domain”'s setting (such as changing the portal name, logo, default theme, custom message, 
). Each user can also pick the theme in their own settings page.
    • :warning: Note that if you themed the old portal, this theming won’t be magically migrated to the new portal
  • New option to make the list of public apps browsable by visitors
  • :broom: The old “yunohost tile overlay” doesn’t exist anymore
  • :wrench: It is technically possible to write a completely different and independent user portal (as long as it properly interacts with the portal API)

:page_with_curl: Regarding the YunoHost Terms of Services

Upon installing or upgrading to YunoHost 12, you will be prompted to accept the YunoHost Terms of Services.

The intent of this document is to clarify and be more transparent regarding services run by the YunoHost project, which your server may depend on, as well as the people making YunoHost happen, being either code or support contributors.

The document can be found at General and Specific Conditions of Services operated by the YunoHost project | Yunohost Documentation and includes a “short” TL;DR.


We want to thank the numerous people who helped make this release possible by adapting apps, testing the 12.0 version and migration and providing precious feedback on the forum, chat and elsewhere :heart: !

Core and translation contributors: alexAubin, Ali Çırçır, AndrĂ© ThĂ©o Lauret, Axolotle, Ayoub Bellahbib, Bram, ButterflyOfFire, Carlos SolĂ­s, chri2, Chris Vogel, Christian Wehrli, cjdw, clecle226, craftrac, cristian amoyao, cube, Emmanuel Averty, Éric Gaspar, Eric Geldmacher, Eryk Michalak, Étienne Deparis, FĂ©lix PiĂ©dallu, Florent, Florian, Francescc, Grzegorz Cichocki, Ilya, Ivan Davydov, Jinx, John Hackett, John Schmidt, Jorge-vitrubio, JosĂ© M, Jose Riha, JosuĂ© Tille, Kayou, Krakinou, Krzysztof Nowakowski, Kuba Bazan, lapineige, Lasse Gismo, liimee, ljf, manor-tile, massyas, mathieuw, Mer, Metin Bektas, mh4ckt3mh4ckt1c4s, motcha, Neko Nekowazarashi, Nicolas Palix, oleole39, OniriCorpe, orhtej2/Mateusz, Pierre de La Morinerie, Poesty Li, ppr, QuentĂ­, rosbeef andino, Saeba Ryo, Sebastian Gumprich, selfhoster1312, stanislas, sudo, Suleyman Harmandar, taco, Tagada, Tharyrok, Thatoo, theo-is-taken, Thomas, tituspijean, Tommi, Tymofii-Lytvynenko, xabirequejo, xaloc33, Yann Autissier, YapWC, yolateng0, Zwiebel

:arrow_down: How to install

You can deploy YunoHost 12 / Bookworm on a fresh server using the regular install documentation:


:arrow_up: How to upgrade

If you are hosting critical production services, you might want to wait for the first minor iteration of this version, that will be more polished.

Before upgrading, please check that all the apps you use are supported by Bookworm. A nice way to check that is via the app maintainer dashboard.

Also, you need to be on the latest YunoHost 11.3 version to have the migration available, so please upgrade your system as you would normally (via the Web Admin or the command line).

From the web admin

  • Go into “Tools” > “Migrations”. If no migration is available, please upgrade your system.
  • Read attentively the migration message, and once you agree to everything, tick the box and click on the green button!
  • This may take several minutes, grab your favorite beverage. You will need to re-log into the webadmin once it’s done.
  • :warning: As a known issue : it is possible that the webadmin displays an “error 500”. Do not be too spooked an try refreshing the page.
  • Once you’re back in, make sure that everything went well (green check :white_check_mark:) in Tools > Logs. Check the follow-up migrations in Tools > Migrations.

Or from the command line

Ensure you are on the latest YunoHost 11.3 version:

$ sudo yunohost tools update
$ sudo yunohost tools upgrade system

Then run the migration and accept the message:

$ sudo yunohost tools migrations run

More details can be found on the documentation.

:warning: Notes for advanced users

Configurations for SSH, nginx and postfix were updated. You must make sure to manually propagate the changes if you tweaked those. Please check the diff using yunohost tools regen-conf ssh nginx postfix --dry-run --with-diff.

:fast_forward: After installation or upgrade

Please ensure everything works as intended. An FAQ on general issues is present on the documentation.

Also, please report us any issue you have (and, how you solved it) so that we can add it to the FAQ or find a way to fix the issues for everybody else!

Specifically, the rework of the SSO might have broken some apps relying on “Basic Auth” and may need some ironing on our side. If you see any anormal authentication issues, please make us know!

:scroll: Other project news

As always, there is a lot going on behind the scene, and a lot of improvements accross various aspects of the project since version 11.0 two years ago! Just on the YunoHost “core” repositories, 100.000 lines were changed and a hundred people contributed 
 and that’s not even looking at the app repositories!

The app packaging format was improved with the new “v2” format that brings many UI/UX improvements (such as pre/post install notifications) while being more robust and easier for packagers to implement. Against all odds, the entirety of the catalog was converted in about a year to this new format, thanks to the meticulious work of the packaging team! Since two years ago, about 150 new apps were added to the catalog to reach a whooping ~500 total apps available!

Note that the new packaging format also allows us to have semi-automagic upgrades to pull changes from the upstream, helping contrib to keep the catalog up to date (though we still need to manually test/validate each upgrade).

A new tool, the App Generator was developped to make writing the boilerplate of a new package easier.

A year ago, we launched our new, awesome app store! Don’t forget that you can vote (star, favorite, however you want to call it!) for apps you’re interested in. These votes are super helpful for letting us know which apps deserve a bit more love. Plus, you can propose and vote for apps that aren’t yet in the catalog on the wishlist. (Just log in with your YunoHost forum account; we do reserve the right to reject certain apps.)

This past month, the YunoHost infrastructure was fully migrated to a new, powerful dedicated server, provided by our friends at Globenet! It should ease out the maintenance of our infrastructure cost while providing us with more margins for our automated tests.

Last but not least, we have just released our new reworked landing page for the YunoHost project, which we hope will give a fresh look to the project (less nerdy, more flowery?) and provide a more straightforward explanation of what YunoHost is and how to get started.

Finally, we plan to write another post in the coming weeks to detail the project roadmap and release our budget report to be more transparent about the way we use your donations. Of course, in the meantime, you can keep supporting the project via our donation platform :wink:!


:fr: Version française

Nous sommes heureux d’annoncer la sortie de YunoHost 12 :partying_face: !

Cette version met à jour vos serveurs vers Debian 12 :book::worm: Bookworm et propose une mise à niveau de l’interface web, ainsi qu’une refonte du portail utilisateur et du systùme SSO (Single Sign On).

oui, cela a pris du temps
 Mais ça en valait la peine !

Raccourcis vers : ProcĂ©dure d’installation, ProcĂ©dure de mise Ă  niveau

:sparkles: Changements majeurs

  • YunoHost dĂ©pend maintenant de Debian 12
  • Le portail utilisateur et le systĂšme SSO (Single Sign On) ont Ă©tĂ© dĂ©coupĂ©s en trois logiciels distincts :
    • SSOwat gĂšre maintenant uniquement la logique SSO/ACL (en tant que middleware Lua nginx)
    • yunohost-portal-api : Un nouveau service d’API pour le portail fournissant les cookies d’authentification et permettant aux utilisateurices de rĂ©cupĂ©rer/mettre Ă  jour leurs informations
    • yunohost-portal : Un nouveau portail web de connexion et de page d’accueil
  • Un ajout simplifiĂ© de sous-domaines lors de l’installation d’applications (ils peuvent maintenant ĂȘtre configurĂ©s avec un certificat Let’s Encrypt directement depuis le formulaire d’installation au lieu de passer par des dizaines de clics)
  • Le script d’installation a Ă©tĂ© retravaillĂ© avec un flux et une interface utilisateur plus simples (au lieu de l’ancien ncurses/whiptail)
  • La configuration de base de YunoHost est maintenant plus lĂ©gĂšre :
    • MySQL/MariaDB et PHP ne sont plus installĂ©s par dĂ©faut (les applications dĂ©pendront explicitement d’eux, donc tout sera installĂ© uniquement au besoin)
    • L’antispam pour email (Rspamd) et le serveur XMPP (Metronome) ne font plus partie du cƓur. Ils sont devenus des applications sĂ©parĂ©es : voir Rspamd et Metronome
  • En interne, l’interface web a Ă©tĂ© migrĂ©e vers Vue3 et TypeScript

:door: À propos du nouveau portail utilisateur

  • Le portail et le mĂ©canisme d’authentification sont dĂ©sormais sĂ©parĂ©s par “domaine principaux”. Par exemple, foo.tld et sub.foo.tld partagent le mĂȘme portail, mais bar.tld et app.bar.tld partagent un second portail diffĂ©rent
  • Les utilisateurices ne peuvent accĂ©der Ă  un portail que s’ils ont accĂšs Ă  au moins une application de cet “arbre de domaine principal”, ou s’ils sont administrateurices
  • Le nouveau portail inclut des logos d’application, des descriptions et une barre de recherche optionnelle.
  • L’apparence du nouveau portail peut ĂȘtre personnalisĂ©e depuis l’interface web dans les paramĂštres du “domaine principal” correspondant (comme changer le nom du portail, le logo, le thĂšme par dĂ©faut, le message personnalisĂ©, 
). Chaque utilisateur peut Ă©galement choisir le thĂšme dans sa propre page de paramĂštres.
    • :warning: Notez que si vous avez personnalisĂ© l’ancien portail, cette personnalisation ne sera pas migrĂ©e vers le nouveau portail

  • Une nouvelle option pour rendre la liste des applications publiques consultable par les visiteur·e·s
  • :broom: L’ancien “overlay de tuiles yunohost” n’existe plus
  • :wrench: Il est techniquement possible d’écrire un portail utilisateur complĂštement diffĂ©rent et indĂ©pendant (tant qu’il interagit correctement avec l’API du portail)

:page_with_curl: Concernant les Conditions de Service de YunoHost

Lors de l’installation ou de la mise Ă  niveau vers YunoHost 12, vous serez invitĂ© Ă  accepter les Conditions de Service de YunoHost.

L’objectif de ce document est de clarifier et d’ĂȘtre plus transparent concernant les services gĂ©rĂ©s par le projet YunoHost, dont votre serveur peut dĂ©pendre, ainsi que les personnes qui font vivre YunoHost, qu’il s’agisse de contributeurices de code ou de support.

Le document est disponible Ă  l’adresse General and Specific Conditions of Services operated by the YunoHost project | Yunohost Documentation et inclut un rĂ©sumĂ© “court”.


Nous tenons à remercier les nombreuses personnes qui ont aidé à rendre cette version possible en adaptant des applications, testant la version 12.0 et la migration, et en fournissant des retours précieux sur le forum, le chat et ailleurs :heart: !

Contributeurs principaux et en traduction : alexAubin, Ali Çırçır, AndrĂ© ThĂ©o Lauret, Axolotle, Ayoub Bellahbib, Bram, ButterflyOfFire, Carlos SolĂ­s, chri2, Chris Vogel, Christian Wehrli, cjdw, clecle226, craftrac, cristian amoyao, cube, Emmanuel Averty, Éric Gaspar, Eric Geldmacher, Eryk Michalak, Étienne Deparis, FĂ©lix PiĂ©dallu, Florent, Florian, Francescc, Grzegorz Cichocki, Ilya, Ivan Davydov, Jinx, John Hackett, John Schmidt, Jorge-vitrubio, JosĂ© M, Jose Riha, JosuĂ© Tille, Kayou, Krakinou, Krzysztof Nowakowski, Kuba Bazan, lapineige, Lasse Gismo, liimee, ljf, manor-tile, massyas, mathieuw, Mer, Metin Bektas, mh4ckt3mh4ckt1c4s, motcha, Neko Nekowazarashi, Nicolas Palix, oleole39, OniriCorpe, orhtej2/Mateusz, Pierre de La Morinerie, Poesty Li, ppr, QuentĂ­, rosbeef andino, Saeba Ryo, Sebastian Gumprich, selfhoster1312, stanislas, sudo, Suleyman Harmandar, taco, Tagada, Tharyrok, Thatoo, theo-is-taken, Thomas, tituspijean, Tommi, Tymofii-Lytvynenko, xabirequejo, xaloc33, Yann Autissier, YapWC, yolateng0, Zwiebel

:arrow_down: Comment installer

Vous pouvez dĂ©ployer YunoHost 12 / Bookworm sur un serveur frais en utilisant la documentation d’installation classique :


:arrow_up: Comment mettre Ă  niveau

Si vous hĂ©bergez des services de production critiques, vous voudrez peut-ĂȘtre attendre la premiĂšre itĂ©ration mineure de cette version, qui sera plus soignĂ©e.

Avant de procĂ©der Ă  la mise Ă  niveau, veuillez vĂ©rifier que toutes les applications que vous utilisez sont compatibles avec Bookworm. Une bonne façon de le vĂ©rifier est via le tableau de bord des mainteneurs d’applications.

Vous devez aussi ĂȘtre sur la derniĂšre version de YunoHost 11.3, donc mettez d’abord Ă  jour votre serveur comme vous le feriez normalement (via la Webadmin ou la ligne de commande).

Depuis l’interface web

  • Allez dans “Outils” > “Migrations”. Si aucune migration n’est disponible, mettez Ă  jour votre systĂšme.
  • Lisez attentivement le message de migration, et une fois que vous ĂȘtes d’accord, cochez la case et cliquez sur le bouton vert !
  • Cela peut prendre plusieurs minutes, servez-vous votre boisson prĂ©fĂ©rĂ©e ! Vous devrez vous reconnecter Ă  l’interface web une fois cela fait.
  • :warning: En raison d’un problĂšme connu : il est possible que l’interface affiche une “erreur 500”. N’ayez pas peur, essayez de rafraĂźchir la page.
  • Une fois que vous ĂȘtes de nouveau connectĂ©, assurez-vous que tout s’est bien passĂ© (coche verte :white_check_mark:) dans Outils > Journaux. VĂ©rifiez les migrations en cours dans Outils > Migrations.

Ou depuis la ligne de commande

Mettez Ă  jour vers la derniĂšre version de YunoHost 11.3 :

$ sudo yunohost tools update
$ sudo yunohost tools upgrade system

Puis lancez la migration et acceptez le message :

$ sudo yunohost tools migrations run

Plus de dĂ©tails peuvent ĂȘtre trouvĂ©s dans la documentation.

:warning: Notes pour les utilisateurs avancés

Les configurations pour SSH, nginx et postfix ont été mises à jour. Vous devez vous assurer de propager manuellement les changements si vous les avez modifiés. Veuillez vérifier la différence en utilisant yunohost tools regen-conf ssh nginx postfix --dry-run --with-diff.

:fast_forward: Aprùs l’installation ou la mise à niveau

Veuillez vous assurer que tout fonctionne comme prévu. Une FAQ sur les problÚmes généraux est présente dans la documentation.

Enfin, veuillez nous signaler tout problĂšme que vous rencontrez (et comment vous l’avez rĂ©solu) afin que nous puissions l’ajouter Ă  la FAQ ou trouver un moyen de corriger les problĂšmes pour tout le monde !

En particulier, la refonte du SSO pourrait avoir cassĂ© certaines applications s’appuyant sur “Basic Auth” et pourrait nĂ©cessiter des ajustements de notre part. Si vous constatez des problĂšmes d’authentification anormaux, faites-le nous savoir !

:scroll: Autres nouvelles du projet

Comme toujours, il se passe beaucoup de choses en coulisses, et de nombreuses amĂ©liorations ont Ă©tĂ© apportĂ©es dans divers aspects du projet depuis la version 11.0 il y a deux ans ! Rien que sur les dĂ©pĂŽts “core” de YunoHost, 100 000 lignes ont Ă©tĂ© modifiĂ©es et une centaine de personnes ont contribué  et cela sans mĂȘme regarder les dĂ©pĂŽts d’applications !

Le packaging des applications a Ă©tĂ© amĂ©liorĂ© avec le nouveau “format v2” qui apporte de nombreuses amĂ©liorations UI/UX (comme des notifications prĂ©/post installation) tout en Ă©tant plus robuste et plus facile Ă  mettre en Ɠuvre pour les packagers. Contre toute attente, la totalitĂ© du catalogue a Ă©tĂ© convertie en environ un an Ă  ce nouveau format, grĂące au travail mĂ©ticuleux de l’équipe de packaging ! Depuis deux ans, environ 150 nouvelles applications ont Ă©tĂ© ajoutĂ©es au catalogue pour atteindre un impressionnant ~500 applications disponibles !

Notez que le nouveau format de packaging nous permet Ă©galement d’avoir des mises Ă  niveau semi-automagiques pour rĂ©cupĂ©rer les changements en amont, aidant ainsi Ă  maintenir le catalogue Ă  jour (bien que nous devions toujours tester/valider manuellement chaque mise Ă  niveau).

Un nouvel outil, le GĂ©nĂ©rateur de paquets a Ă©tĂ© dĂ©veloppĂ© pour simplifier l’écriture du squelette d’une nouvelle appli.

Il y a un an, on lançait notre superbe app store ! N’oubliez pas que vous pouvez voter (mettre une Ă©toile, un favori, peu importe le terme !) pour les applications qui vous intĂ©ressent. Ces votes permettent aux contributeurices d’orienter leurs efforts sur les applis qui mĂ©ritent une attention particuliĂšre. De plus, vous pouvez proposer et voter pour des applis qui ne sont pas encore dans le catalogue via la wishlist. (Pour cela, connectez-vous avec votre compte du forum YunoHost ; et on se rĂ©serve le droit de refuser certaines applis.)

Ce mois dernier, l’infrastructure YunoHost a Ă©tĂ© entiĂšrement migrĂ©e vers un nouveau serveur dĂ©diĂ© puissant, fourni par nos amis de Globenet ! Cela devrait allĂ©ger les coĂ»ts de maintenance de notre infrastructure tout en nous offrant plus de marges pour nos tests automatisĂ©s.

Enfin, nous venons de lancer notre nouvelle page d’accueil retravaillĂ©e pour le projet YunoHost, que nous espĂ©rons donner un nouveau look au projet (moins geek, plus fleuri ?) et fournir une explication plus simple de ce qu’est YunoHost et comment commencer.

Enfin, nous prĂ©voyons d’écrire un autre post dans les semaines Ă  venir pour dĂ©tailler la feuille de route du projet et publier notre rapport budgĂ©taire pour ĂȘtre plus transparent sur la façon dont nous utilisons vos dons. Bien sĂ»r, entre-temps, vous pouvez continuer Ă  soutenir le projet via notre plateforme de dons :wink:!

81 Likes

Hello,

Thanks for all of your hard work on Yunohost!
I tried to upgrade both of my Yunohost instances to Bookworm, but I’m getting the following error:

Error: "500"

Action: "GET" /yunohost/api/migrations?pending&locale=en

Error message:

Could not load migration 0027_migrate_to_bookworm: invalid syntax (0027_migrate_to_bookworm.py, line 6)

Can you tell what version precisely you are running ? Is it 11.3.0.2 ?

Both currently show that they are running on 12.0.5 (testing), but when I go to the updates page or migrations page, I get that error.

Bonsoir,

Je rencontre un problĂšme pour la migration: j’ai lancĂ© la migration mais celle-ci s’est rapidement interrompue en m’affichant un message d’erreur disant que la clĂ© GPG de signature est manquante: https://paste.yunohost.org/raw/ohuweletop

J’ai alors pensĂ© que la clĂ© n’avait alors simplement pas pu ĂȘtre tĂ©lĂ©chargĂ©e alors je suis allĂ© la prendre sur https://forge.yunohost.org

Mais j’ai ensuite vu que dans /usr/share/keyrings il y avait dĂ©jĂ  une clĂ© nommĂ©e yunohost-bookworm.gpg. Je l’ai comparĂ©e Ă  celle que j’ai tĂ©lĂ©chargĂ©e, elles sont identiques !

[Édit] J’ai trouvĂ©: en lisant le fichier /etc/apt/sources.list.d/yunohost.list, je vois que le dĂ©pĂŽt est signĂ©e par la clĂ© /usr/share/keyrings/yunohost-archive-keyring.gpg.
J’ai remplacĂ© la valeur par /usr/share/keyrings/yunohost-bookworm.gpg et relancĂ© la migration, celle-ci est en train de se faire

After reinstalling metronome xmpp was not working, neither recognizing the 5222 and 5269 as open ports. A reboot fixed.
I did also upgrade the kernel on my rpi4 as it remained at 6.1, now running 6.6.
Thank you all for the great work! How can I donate some sats?

2 Likes

Congratulations for this major update and the tremendous amount of work done to archive all these improvements :tada:
Huge thanks to all contributors :heart: :clamp:

12 Likes

Amazing news!
Will try updating my main instance (once I get a full backup) :slight_smile:

1 Like

Thank you, that’s amazing!

For those who have been testing the beta release, to switch back to stable, we just need to replace this line in the /etc/apt/sources.list.d/yunohost.list file

deb [signed-by=/usr/share/keyrings/yunohost-bookworm.gpg] http://forge.yunohost.org/debian/ bookworm stable testing

by this one, right?

deb [signed-by=/usr/share/keyrings/yunohost-bookworm.gpg] http://forge.yunohost.org/debian/ bookworm stable
2 Likes

(Yes, just remove the testing keyword !)

1 Like

Thx, @Aleks!

Also, I would like to confirm that the issue related to the apps access via the tiles menu (that I reported here) has been fixed with one of the latest updates. Thanks again!

Edit: in fact, it’s most probably because I’ve disabled the experimental security feature flag in the webadmin

The latest update fixed this issue for me! Running apt from the command line worked this time. I’m getting a 403 error on some of the apps (Readeck and Roundcube) and the user portal (FIXED: was missing the yunohost-portal package for some reason), but everything else is working very well.

Hi,
I tried to upgrade a first production server.
I got a scary 500 error on the webadmin during the yunohost core upgrade. But waiting patiently with my fingers crossed, the upgrade did finish correctly.
Congrats to the team for the huge work that has been put into this major release!

3 Likes

It seems to be using much less ram, I was thinking about upgrading my hardware. Before it was using around 4GB of ram, now 2,2GB, my rpi4 has a long way to go
I have a small problem, I can only sign on on SSO with the admin user, not with my other normal user, what can it be? Just found the solution: logging with username and not the email

1 Like

I started the upgrade yesterday and went to bed at 20%. This morning the instance is not accessible, even after rebooting the VPS.

I can access the server via SSH. What can I do now?

I have “pre-upgrade backups” of all the apps, can i use them to restore the apps in a new installation of yunohost as a whole?

Hi,
I launched the migration and it stopped quickly with this error:

Summary
Info : [##################..] > 93.8% Installing python3-talloc
Info : [##################..] > 94.4% Installing python3.11-dev
Info : [###################.] > 95.0% Installing python3-bcrypt
Info : [###################.] > 95.5% Installing python3-virtualenv
Info : [###################.] > 96.1% Installing python3-venv
Info : [###################.] > 96.7% Installing python3-dev
Info : [###################.] > 97.3% Installing python3-gi
Info : [###################.] > 97.9% Installing python3-ldb
Info : [###################.] > 98.5% Installing libgmp3-dev
Info : [###################.] > 99.1% Installing python3-nacl
Info : [####################] > 100.0% Done
Info : Downloading...
Attention : E: Failed to fetch http://ftp.fr.debian.org/debian/pool/main/p/pango1.0/libpangoft2-1.0-0_1.50.12%2bds-1_amd64.deb: Undetermined Error [IP: 2a01:e0c:1:1598::2 80]
Attention : E: Unable to fetch some packages; try '-o APT::Get::Fix-Missing=true' to continue with missing packages
Erreur : La migration 0027_migrate_to_bookworm a échoué, abandon. Erreur : Failed to run command 'aptitude full-upgrade --show-why -o Dpkg::Options::='--force-confold''
Info : L'opération 'Exécuter les migrations' a échoué ! Pour obtenir de l'aide, merci de partager le journal de l'opération en utilisant la commande 'yunohost log share 20241101-084506-tools_migrations_migrate_forward'

Exporting log is impossible:

# yunohost log share 20241101-084506-tools_migrations_migrate_forward
Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 389, in resolve
	found = getattr(found, frag)
			^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'moulinette.interfaces' has no attribute 'api'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 391, in resolve
	self.importer(used)
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 16, in <module>
	from bottle import request, response, Bottle, HTTPResponse, FileUpload
  File "/usr/lib/python3/dist-packages/bottle.py", line 44, in <module>
	from inspect import getargspec
ImportError: cannot import name 'getargspec' from 'inspect' (/usr/lib/python3.11/inspect.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 562, in configure
	handler = self.configure_handler(handlers[name])
			  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/config.py", line 724, in configure_handler
	klass = self.resolve(cname)
			^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/config.py", line 396, in resolve
	raise v from e
ValueError: Cannot resolve 'moulinette.interfaces.api.APIQueueHandler': cannot import name 'getargspec' from 'inspect' (/usr/lib/python3.11/inspect.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/yunohost", line 77, in <module>
	yunohost.cli(
  File "/usr/lib/python3/dist-packages/yunohost/init.py", line 35, in cli
	init_logging(interface="cli", debug=debug, quiet=quiet)
  File "/usr/lib/python3/dist-packages/yunohost/init.py", line 168, in init_logging
	configure_logging(logging_configuration)
  File "/usr/lib/python3/dist-packages/moulinette/utils/log.py", line 67, in configure_logging
	dictConfig(logging_config)
  File "/usr/lib/python3.11/logging/config.py", line 812, in dictConfig
	dictConfigClass(config).configure()
  File "/usr/lib/python3.11/logging/config.py", line 569, in configure
	raise ValueError('Unable to configure handler '
ValueError: Unable to configure handler 'api'

And I can’t relaunch the migration:

Summary
# yunohost tools migrations migrate --accept-disclaimer
Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 389, in resolve
	found = getattr(found, frag)
			^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'moulinette.interfaces' has no attribute 'api'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 391, in resolve
	self.importer(used)
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 16, in <module>
	from bottle import request, response, Bottle, HTTPResponse, FileUpload
  File "/usr/lib/python3/dist-packages/bottle.py", line 44, in <module>
	from inspect import getargspec
ImportError: cannot import name 'getargspec' from 'inspect' (/usr/lib/python3.11/inspect.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/config.py", line 562, in configure
	handler = self.configure_handler(handlers[name])
			  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/config.py", line 724, in configure_handler
	klass = self.resolve(cname)
			^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/config.py", line 396, in resolve
	raise v from e
ValueError: Cannot resolve 'moulinette.interfaces.api.APIQueueHandler': cannot import name 'getargspec' from 'inspect' (/usr/lib/python3.11/inspect.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/yunohost", line 77, in <module>
	yunohost.cli(
  File "/usr/lib/python3/dist-packages/yunohost/init.py", line 35, in cli
	init_logging(interface="cli", debug=debug, quiet=quiet)
  File "/usr/lib/python3/dist-packages/yunohost/init.py", line 168, in init_logging
	configure_logging(logging_configuration)
  File "/usr/lib/python3/dist-packages/moulinette/utils/log.py", line 67, in configure_logging
	dictConfig(logging_config)
  File "/usr/lib/python3.11/logging/config.py", line 812, in dictConfig
	dictConfigClass(config).configure()
  File "/usr/lib/python3.11/logging/config.py", line 569, in configure
	raise ValueError('Unable to configure handler '
ValueError: Unable to configure handler 'api'

Could you please give me a hint to move forward
? :wink:

I would suggest to try aptitude full-upgrade --show-why -o Dpkg::Options::='--force-confold', do you confirm it’s the way to go?
It proposes:

Summary
# aptitude full-upgrade --show-why -o Dpkg::Options::='--force-confold'
Les NOUVEAUX paquets suivants vont ĂȘtre installĂ©s :
  at-spi2-common{a}  cpp-12{a} (for g++, gcc)  dbus-bin{a} (for dbus)  dbus-daemon{a} (for dbus)  dbus-session-bus-common{a} (for dbus)
  dbus-system-bus-common{a} (for dbus)  fonts-katex{a} (for libolm-dev)  g++-12{a} (for g++)  gcc-11-base{a}  gcc-12{a} (for g++, gcc)  golang-1.19{a} (for golang)
  golang-1.19-doc{a} (for golang)  golang-1.19-go{a} (for golang)  golang-1.19-src{a} (for golang)  guile-3.0-libs{a} (for autogen)  inetutils-telnet
  libabsl20220623{a} (for abiword)  libaom3{a} (for ffmpeg, libheif1)  libasan8{a} (for g++, gcc)  libavcodec59{a} (for ffmpeg)  libavdevice59{a} (for ffmpeg)
  libavfilter8{a} (for ffmpeg)  libavformat59{a} (for ffmpeg)  libavif15{a}  libavutil57{a} (for ffmpeg)  libbpf1{a} (for iproute2)
  libcamel-1.2-64{a} (for abiword)  libcbor0.8{a} (for openssh-client)  libcjson1{a} (for ffmpeg)  libclang-cpp14{a} (for rustc)  libclone-perl{a}
  libcodec2-1.0{a} (for ffmpeg)  libcommon-sense-perl{a} (for postgresql)  libcurl3-nss{a} (for rustc)  libdav1d6{a} (for ffmpeg, libheif1)  libdebuginfod-common{a}
  libdecor-0-0{a}  libdecor-0-plugin-1-cairo{a}  libduktape207{a}  libebook-contacts-1.2-4{a} (for abiword)  libedataserver-1.2-27{a} (for abiword)
  libencode-perl{a}  libfdisk1{a} (for systemd)  libfile-find-rule-perl{a} (for init-system-helpers)  libflac12{a}  libfuse3-3{a} (for squashfuse)  libgav1-1{a}
  libgcc-12-dev{a} (for g++, gcc)  libgit2-1.5{a} (for cargo)  libgs-common{a} (for ghostscript, libgs-dev)  libgs10{a} (for ghostscript, libgs-dev)
  libgs10-common{a} (for ghostscript, libgs-dev)  libgsasl18{a}  libgssglue1{a}  libharfbuzz-subset0{a} (for libraqm-dev)  libhwy1{a} (for ffmpeg)
  libicu72{a} (for abiword, libraqm-dev, libxml2-dev, postfix, postgresql)  libigdgmm12{a}  libimath-3-1-29{a} (for libopenexr-dev)  libjbig-dev{a}
  libjs-katex{a} (for libolm-dev)  libjson-perl{a} (for postgresql)  libjson-xs-perl{a} (for postgresql)  libjsoncpp25{a} (for cmake)  libjxl0.7{a} (for ffmpeg)
  liblerc-dev{a}  liblerc4{a} (for ghostscript, libgs-dev)  libllvm14{a} (for postgresql, rustc)  libllvm15{a}  liblua5.4-0{a}  liblzma-dev{a}  libmailutils9{a}
  libmbedcrypto7{a} (for cargo, ffmpeg)  libmbedtls14{a} (for cargo)  libmbedx509-1{a} (for cargo)  libnetpbm11{a}  libnss-sudo{a}
  libnumber-compare-perl{a} (for init-system-helpers)  libodbc2{a}  libopenexr-3-1-30{a} (for libopenexr-dev)  libpfm4{a} (for rustc)
  libpkgconf3{a} (for pkg-config)  libplacebo208{a} (for ffmpeg)  libpoppler126{a}  libpostproc56{a} (for ffmpeg)  libproc2-0{a} (for procps)
  libprotobuf32{a} (for abiword)  librav1e0{a} (for ffmpeg)  libregexp-ipv6-perl{a}  librist4{a} (for ffmpeg)  libsemanage2{a} (for passwd)
  libsepol2{a} (for passwd)  libsoup-3.0-0{a} (for abiword)  libsoup-3.0-common{a} (for abiword)  libsrt1.5-gnutls{a} (for ffmpeg)  libstd-rust-1.63{a} (for rustc)
  libstdc++-12-dev{a} (for g++)  libstring-crc32-perl{a}  libsvtav1enc1{a} (for ffmpeg)  libswresample4{a} (for ffmpeg)  libswscale6{a} (for ffmpeg)
  libsystemd-shared{a} (for systemd)  libtext-csv-perl{a}  libtext-csv-xs-perl{a}  libtext-glob-perl{a} (for init-system-helpers)  libtiff-dev{a}
  libtiff6{a} (for ghostscript, libgs-dev)  libtiffxx6{a}  libtsan2{a} (for g++, gcc)  libtypes-serialiser-perl{a} (for postgresql)  libunwind8{a}
  liburing2{a} (for mlocate)  libvpx7{a} (for ffmpeg)  libwebp7{a} (for ffmpeg, ghostscript, libgraphviz-dev, libgs-dev, libwebp-dev)
  libwmf-0.2-7{a} (for abiword, libwmf-dev)  libwmflite-0.2-7{a} (for abiword, libwmf-dev)  libx264-164{a} (for ffmpeg)
  libx265-199{a} (for ffmpeg, libheif1, libx265-dev)  libyuv0{a}  libz3-dev{a} (for rustc)  libzimg2{a} (for ffmpeg)  llvm-14{a} (for rustc)
  llvm-14-dev{a} (for rustc)  llvm-14-linker-tools{a} (for rustc)  llvm-14-runtime{a} (for rustc)  llvm-14-tools{a} (for rustc)  mariadb-plugin-provider-bzip2{a}
  mariadb-plugin-provider-lz4{a}  mariadb-plugin-provider-lzma{a}  mariadb-plugin-provider-lzo{a}  mariadb-plugin-provider-snappy{a}  nss-plugin-pem{a} (for rustc)
  ntpsec{a} (for systemd)  ntpsec-ntpdate{a} (for ntpdate)  ntpsec-ntpdig{a} (for ntpdate)  pkexec{a}  pkgconf{a} (for pkg-config)  pkgconf-bin{a} (for pkg-config)
  plocate{a} (for mlocate)  polkitd{a}  polkitd-pkla{a}  postgresql-15{a} (for postgresql)  postgresql-client-15{a} (for postgresql)  pv{a}
  python-babel-localedata{a}  python3-anyio{a}  python3-async-timeout{a}  python3-babel{a}  python3-boto3{a}  python3-botocore{a}  python3-charset-normalizer{a}
  python3-click{a}  python3-colorama{a}  python3-h11{a}  python3-h2{a}  python3-hpack{a}  python3-httpcore{a}  python3-httpx{a}  python3-hyperframe{a}
  python3-importlib-metadata{a}  python3-jmespath{a}  python3-markdown-it{a}  python3-mdurl{a}  python3-more-itertools{a}  python3-ntp{a} (for ntpdate)
  python3-prettytable{a}  python3-rfc3986{a}  python3-rich{a}  python3-s3transfer{a}  python3-sniffio{a}  python3-softlayer{a}  python3-zipp{a}  sane-airscan{a}
  sgml-base{a}  tnftp  usrmerge{a} (for init-system-helpers)  util-linux-extra{a} (for util-linux)  xfonts-encodings{a} (for gsfonts)  xfonts-utils{a} (for gsfonts)
  xml-core{a}  zstd{a} (for initramfs-tools)
Les paquets suivants seront ENLEVÉS :
  g++-10{u}  golang-1.15{u}  golang-1.15-doc{u}  golang-1.15-go{u}  golang-1.15-src{u}  guile-2.2-libs{u}  libabsl20200923{u}  libaio1{u}  libaom0{u}
  libatk1.0-data{u}  libavcodec58{u}  libavdevice58{u}  libavfilter7{u}  libavformat58{u}  libavif9{u}  libavresample4{u}  libavutil56{u}  libbpf0{u}
  libcamel-1.2-62{u}  libcbor0{u}  libchamplain-0.12-0{u}  libchamplain-gtk-0.12-0{u}  libclutter-1.0-0{u}  libclutter-1.0-common{u}  libclutter-gtk-1.0-0{u}
  libcodec2-0.9{u}  libcogl-common{u}  libcogl-pango20{u}  libcogl-path20{u}  libcogl20{u}  libconfig-inifiles-perl{u}  libdav1d4{u}  libdbus-glib-1-2{u}
  libdns-export1110{u}  libebook-contacts-1.2-3{u}  libedataserver-1.2-25{u}  libegl-mesa0{u}  libegl1{u}  libevdev2{u}  libflac8{u}  libgav1-0{u}  libgck-1-0{u}
  libgcr-base-3-1{u}  libgdata-common{u}  libgdata22{u}  libgdk-pixbuf-xlib-2.0-0{u}  libgdk-pixbuf-xlib-2.0-dev{u}  libgdk-pixbuf2.0-0{u}  libgdk-pixbuf2.0-dev{u}
  libgit2-1.1{u}  libgoa-1.0-0b{u}  libgoa-1.0-common{u}  libgs9{u}  libgs9-common{u}  libgsasl7{u}  libigdgmm11{u}  libilmbase-dev{a}  libilmbase25{u}
  libinput-bin{u}  libinput10{u}  libisc-export1105{u}  libjs-highlight.js{u}  libjsoncpp24{u}  libloudmouth1-0{u}  liblua5.1-0{u}  libmailutils7{u}
  libmbedcrypto3{u}  libmbedtls12{u}  libmbedx509-0{u}  libmpdec3{u}  libmtdev1{u}  libncurses5-dev{u}  libnetpbm10{u}  libnfsidmap2{u}  libnode72{a}  libodbc1{u}
  libopenexr25{u}  libperl5.32{u}  libpoppler102{u}  libpostproc55{u}  libprocps8{u}  libprotobuf23{u}  libpython3.9{u}  libpython3.9-minimal{u}
  libpython3.9-stdlib{u}  librest-0.7-0{u}  libsepol1-dev{u}  libsoup-gnome2.4-1{u}  libsoup2.4-1{u}  libsrt1.4-gnutls{u}  libstd-rust-1.48{u}  libstdc++-10-dev{u}
  libswresample3{u}  libswscale5{u}  libtelepathy-glib0{u}  libterm-readkey-perl{u}  libtiff5{u}  libvpx6{u}  libwacom-common{u}  libwacom2{u}  libwavpack1{u}
  libwebp6{u}  libwmf0.2-7{u}  libx264-160{u}  libx265-192{u}  lua-cjson{u}  lynx-cur{u}  mariadb-client-10.5{u}  mariadb-client-core-10.5{u}
  mariadb-server-10.5{u}  mariadb-server-core-10.5{u}  ocaml-base-nox{u}  ocaml-nox{u}  perl-modules-5.32{u}  pigz{u}  python3-appdirs{u}  python3-ldb{u}
  python3-talloc{u}  rust-gdb{u}  sntp{u}  x11proto-xext-dev{u}
Les paquets suivants seront mis Ă  jour :
  abiword  abiword-common (for abiword)  abiword-plugin-grammar  acl  acpi  acpi-support-base  acpid  adduser  adwaita-icon-theme  alsa-topology-conf  alsa-ucm-conf
  apparmor  apt  apt-transport-https  apt-utils  apticron  aptitude  aptitude-common  aptitude-doc-en  arp-scan  arping  aspell  at  at-spi2-core  augeas-lenses
  autoconf  autoconf-archive  autogen  autogen-doc  automake  autopoint  autotools-dev  avahi-daemon  base-files  base-passwd  bash  bash-completion  bc
  bind9-dnsutils  bind9-host  bind9-libs (for bind9-host)  bison  bonnie++  bsd-mailx  bsdextrautils  bsdutils  bubblewrap  busybox  bzip2  bzip2-doc
  ca-certificates  cargo  checkinstall  cmake  cmake-data (for cmake)  colord  colord-data  console-setup  console-setup-linux  coreutils  coturn  cpio
  cpp (for g++, gcc)  curl  darcs  dash  davfs2  dbus  dbus-user-session  dc  dconf-gsettings-backend  dconf-service  debconf  debconf-i18n  debhelper
  debian-archive-keyring  debian-faq  debian-goodies  debianutils  debsuryorg-archive-keyring  dh-strip-nondeterminism  dialog  dictionaries-common  diffutils
  dirmngr (for gnupg)  discover  discover-data  distro-info-data  dmidecode  dmsetup  dns-root-data  dnsmasq  dnsmasq-base  dnsutils  doc-debian  dovecot-antispam
  dovecot-core  dovecot-imapd  dovecot-ldap  dovecot-lmtpd  dovecot-managesieved  dovecot-sieve  dpkg  dpkg-dev  dwz  e2fsprogs  e2fsprogs-l10n  eject  elfutils
  emacsen-common  enchant-2  ethtool  evolution-data-server-common (for abiword)  fail2ban  fake-hwclock  fakeroot  fcgiwrap  ffmpeg  file  findutils  flex
  fontconfig  fontconfig-config  fonts-dejavu-core  fonts-urw-base35 (for gsfonts)  ftp  fuse  g++  gawk  gcc  gdb  geoip-database  gettext  gettext-base
  ghostscript  gir1.2-freedesktop  gir1.2-gdkpixbuf-2.0  gir1.2-glib-2.0  gir1.2-harfbuzz-0.0 (for libraqm-dev)  gir1.2-pango-1.0 (for libpango1.0-dev)
  gir1.2-rsvg-2.0 (for librsvg2-dev)  git  git-man (for git)  glib-networking  glib-networking-common  glib-networking-services  gnupg  gnupg-l10n (for gnupg)
  gnupg-utils (for gnupg)  gnupg1  golang  golang-doc (for golang)  golang-go (for golang)  golang-src (for golang)  gpg (for gnupg)  gpg-agent (for gnupg)
  gpg-wks-client (for gnupg)  gpg-wks-server (for gnupg)  gpgconf (for gnupg)  gpgsm (for gnupg)  gpgv  grep  groff-base  gsasl-common  gsettings-desktop-schemas
  gsfonts  gtk-update-icon-cache  gzip  haveged  hostname  htop  httrack  hunspell-en-us  icu-devtools  ieee-data  ifrench-gut  iftop  ifupdown  imagemagick
  imagemagick-6-common  imagemagick-6.q16  influxdb  info  init  init-system-helpers  initramfs-tools  initramfs-tools-core (for initramfs-tools)  initscripts
  insserv  install-info  installation-report  intel-media-va-driver  intltool-debian  iotop  iperf  iperf3  ipp-usb  iproute2  iptables  iputils-ping  irqbalance
  isc-dhcp-client  isc-dhcp-common  iso-codes  isoquery  ispell  j2cli  jo  kbd  keyboard-configuration  keyutils  klibc-utils  kmod  krb5-locales  ldap-utils
  ledit  less  libaacs0  libabiword-3.0 (for abiword)  libacl1  libalgorithm-c3-perl  libalgorithm-merge-perl  libamd2  libapparmor1
  libapt-pkg6.0 (for apt, apt-utils)  libarchive-cpio-perl  libarchive13  libarray-utils-perl  libasan6  libasm1  libasound2  libasound2-data  libaspell15
  libasprintf-dev  libasprintf0v5  libass9  libassuan0  libasyncns0  libatk-bridge2.0-0  libatk1.0-0  libatomic1 (for g++, gcc)  libatspi2.0-0  libattr1
  libaudit-common  libaudit1  libaugeas0  libauthen-sasl-perl  libavahi-client3  libavahi-common-data  libavahi-common3  libavahi-core7  libb-hooks-endofscope-perl
  libbabeltrace1  libbdplus0  libblas3  libblkid-dev  libblkid1  libbluray2  libboost-iostreams1.74.0  libboost-regex1.74.0  libbrotli-dev
  libbrotli1 (for libbrotli-dev)  libbs2b0  libbsd0  libbz2-1.0  libbz2-dev  libc-ares2  libc-client2007e  libcaca0 (for ffmpeg)  libcache-cache-perl
  libcairo-gobject2  libcairo-script-interpreter2  libcairo2  libcairo2-dev  libcap-ng0  libcap2  libcap2-bin  libcarp-clan-perl  libcc1-0 (for g++, gcc)
  libcdio-cdda2  libcdio-paranoia2  libcdio19  libcdt5 (for libgraphviz-dev)  libcgi-pm-perl  libcgraph6 (for libgraphviz-dev)  libchromaprint1  libclass-c3-perl
  libclass-isa-perl  libclass-method-modifiers-perl  libcolamd2  libcolord2  libcolorhug2  libcom-err2  libconvert-asn1-perl  libcrypt-dev  libcrypt1
  libcryptsetup12 (for systemd)  libcups2  libcurl4 (for curl)  libcwidget4  libdata-dump-perl  libdata-optlist-perl  libdate-calc-perl  libdate-manip-perl
  libdatrie-dev  libdatrie1  libdb5.3  libdbus-1-3 (for dbus)  libdc1394-25  libdconf1  libde265-0 (for libde265-dev)  libde265-dev  libdebconfclient0
  libdebhelper-perl  libdebuginfod1  libdeflate-dev  libdeflate0 (for libdeflate-dev)  libdevel-globaldestruction-perl  libdevel-stacktrace-perl  libdevmapper1.02.1
  libdigest-hmac-perl  libdiscover2 (for discover)  libdist-checkconflicts-perl  libdjvulibre-dev  libdjvulibre21 (for libdjvulibre-dev)  libdpkg-perl
  libdrm-amdgpu1  libdrm-common  libdrm-intel1  libdrm-nouveau2  libdrm-radeon1  libdrm2  libdw1  libdynaloader-functions-perl  libedit2  libelf-dev  libelf1
  libemail-date-format-perl  libenchant-2-2  libencode-locale-perl  libepoxy0  liberror-perl  libestr0  libeval-closure-perl  libevent-2.1-7  libevent-core-2.1-7
  libevent-extra-2.1-7  libevent-openssl-2.1-7  libevent-pthreads-2.1-7  libexception-class-perl  libexif12  libexpat1  libexpat1-dev  libexporter-tiny-perl
  libext2fs2 (for e2fsprogs)  libfakeroot  libfastjson4  libffi-dev  libfftw3-bin (for libfftw3-dev)  libfftw3-dev  libfftw3-double3 (for libfftw3-dev)
  libfftw3-long3 (for libfftw3-dev)  libfftw3-quad3 (for libfftw3-dev)  libfftw3-single3 (for libfftw3-dev)  libfido2-1 (for openssh-client)
 libfile-copy-recursive-perl  libfile-listing-perl  libfile-slurp-perl  libfile-slurper-perl  libfile-stripnondeterminism-perl  libfile-which-perl  libfl-dev
  libfl2  libflite1  libfont-afm-perl  libfontconfig-dev  libfontconfig1  libfontconfig1-dev  libfreetype-dev
  libfreetype6 (for libpango1.0-dev, libraqm-dev, libraqm0, librsvg2-dev)  libfreetype6-dev  libfribidi-dev  libfribidi0  libfstrm0  libfuse2 (for fuse)
  libgail-common  libgail18  libgbm1  libgc1  libgcc-s1 (for g++, gcc)  libgcrypt20  libgd3  libgdbm-compat4  libgdk-pixbuf-2.0-0  libgdk-pixbuf-2.0-dev
  libgdk-pixbuf2.0-bin  libgdk-pixbuf2.0-common  libgeoip1  libgettextpo-dev  libgettextpo0  libgfortran5  libgif-dev  libgif7 (for libgif-dev)  libgl1
  libgl1-mesa-dri  libglapi-mesa  libglib2.0-data  libglvnd0  libglx-mesa0  libglx0  libgme0  libgoffice-0.10-10  libgoffice-0.10-10-common  libgomp1 (for g++, gcc)
  libgpg-error-l10n  libgpg-error0  libgphoto2-6  libgphoto2-l10n  libgphoto2-port12  libgpm2  libgraphviz-dev  libgs-dev  libgsf-1-114  libgsf-1-common  libgsm1
  libgssapi-krb5-2  libgtk-3-0  libgtk-3-bin  libgtk-3-common  libgtk2.0-0  libgtk2.0-bin  libgtk2.0-common  libgts-0.7-5  libgts-bin  libgudev-1.0-0  libgusb2
  libgvc6 (for libgraphviz-dev)  libgvc6-plugins-gtk (for libgraphviz-dev)  libgvpr2 (for libgraphviz-dev)  libharfbuzz-dev (for libraqm-dev)
  libharfbuzz-gobject0 (for libraqm-dev)  libharfbuzz-icu0 (for libraqm-dev)  libharfbuzz0b (for libpango1.0-dev, libraqm-dev, libraqm0, librsvg2-dev)  libhashkit2
  libhavege2  libheif1  libhiredis0.14  libhogweed6  libhtml-form-perl  libhtml-format-perl  libhtml-tagset-perl  libhtml-template-perl  libhtml-tree-perl
  libhttp-daemon-perl  libhttp-date-perl  libhttp-message-perl  libhttp-negotiate-perl  libhttp-parser2.9  libhttrack2 (for httrack)  libhunspell-1.7-0  libical3
  libicu-dev  libidn2-0  libiec61883-0  libimagequant0  libio-html-perl  libio-multiplex-perl  libio-socket-inet6-perl  libio-socket-ip-perl  libio-socket-ssl-perl
  libip4tc2 (for iptables)  libip6tc2 (for iptables)  libipc-shareable-perl  libipc-system-simple-perl  libiperf0  libipt2  libisl23  libitm1 (for g++, gcc)
  libjack-jackd2-0  libjbig0  libjbig2dec0  libjemalloc2  libjpeg-dev  libjpeg62-turbo (for libjpeg-dev)  libjpeg62-turbo-dev (for libjpeg-dev)  libjs-jquery
  libjs-underscore  libjson-c-dev  libjson-c5  libjson-glib-1.0-0  libjson-glib-1.0-common  libjxr-tools  libjxr0  libk5crypto3  libkeyutils1  libklibc  libkmod2
  libkrb5-3  libkrb5support0  libksba8 (for gnupg)  liblab-gamut1 (for libgraphviz-dev)  liblapack3  liblcms2-2 (for ffmpeg, liblcms2-dev)  liblcms2-dev
  libldap-common  liblilv-0-0  liblink-grammar5  liblog-log4perl-perl  liblognorm5  liblsan0 (for g++, gcc)  libltdl-dev
  libltdl7 (for libgraphviz-dev, libltdl-dev)  liblua5.3-0  liblwp-mediatypes-perl  liblz4-1  liblz4-dev  liblzma5  libmagic-mgc (for file)  libmagic1 (for file)
  libmagickcore-6.q16-6  libmagickcore-6.q16-6-extra  libmagickwand-6.q16-6  libmail-sendmail-perl  libmailtools-perl  libmariadb3  libmaxminddb0  libmd0
  libmemcached11  libmfx1  libmime-lite-perl  libmime-types-perl  libminiupnpc17  libmodule-implementation-perl  libmodule-runtime-perl  libmount-dev  libmount1
  libmp3lame0  libmpc3  libmpfr6  libmpg123-0  libmro-compat-perl  libmysofa1  libnamespace-autoclean-perl  libnamespace-clean-perl  libncurses-dev  libncurses5
  libncurses6  libncursesw5  libncursesw6  libneon27  libnet-cidr-perl  libnet-dns-perl  libnet-http-perl  libnet-ip-perl  libnet-server-perl  libnet-smtp-ssl-perl
  libnet-snmp-perl  libnet1  libnetfilter-conntrack3  libnettle8  libnewt0.52  libnfnetlink0  libnftables1  libnftnl11  libnl-3-200  libnl-genl-3-200
  libnspr4 (for rustc)  libnss-ldapd  libnss-mdns  libnss-myhostname  libnss-systemd  libnss3 (for rustc)  libntlm0  libnuma1  libogg0  libolm-dev
  libolm3 (for libolm-dev)  libonig5  libopendbx1  libopendbx1-sqlite3  libopendkim11  libopenexr-dev{b}  libopenjp2-7 (for libopenjp2-7-dev)  libopenjp2-7-dev
  libopenmpt0  libopts25 (for autogen)  libopts25-dev (for autogen)  libopus0  libots0  libp11-kit0  libpackage-stash-perl  libpam-ldapd  libpam-modules
  libpam-modules-bin  libpam-runtime  libpam-systemd  libpam0g  libpango-1.0-0 (for libpango1.0-dev, librsvg2-dev)  libpango1.0-dev
  libpangocairo-1.0-0 (for libpango1.0-dev, librsvg2-dev)  libpangoft2-1.0-0 (for libpango1.0-dev, librsvg2-dev)  libpangoxft-1.0-0 (for libpango1.0-dev)
  libpaper-utils  libpaper1  libparams-validationcompiler-perl  libparted2 (for parted)  libpathplan4 (for libgraphviz-dev)  libpcap0.8  libpci3 (for pciutils)
  libpciaccess0  libpcre2-16-0  libpcre2-32-0  libpcre2-8-0  libpcre2-dev  libpcre2-posix3  libpcre3  libphonenumber8 (for abiword)  libpipeline1  libpixman-1-0
  libpixman-1-dev  libpng-dev  libpng-tools  libpng16-16 (for libpng-dev)  libpocketsphinx3  libpolkit-agent-1-0  libpolkit-gobject-1-0  libpoppler-glib8  libpopt0
  libpq-dev  libpq5 (for postgresql)  libprotobuf-c1  libproxy1v5  libpsl5  libpulse0  libquadmath0 (for g++, gcc)  librabbitmq4  libraptor2-0  libraqm-dev
  libraqm0  librasqal3  libraw-dev  libraw20 (for libraw-dev)  librbl1  librdf0  libreadline8  libref-util-perl  librevenge-0.0-0  librhash0  librrd8
  librsvg2-2 (for librsvg2-dev)  librsvg2-common (for librsvg2-dev)  librsvg2-dev  librsync2  librubberband2 (for ffmpeg)  libsamplerate0  libsane-common  libsane1
  libsasl2-modules  libsctp1  libsdl2-2.0-0  libseccomp2  libsecret-1-0  libsecret-common  libselinux1  libselinux1-dev{b}  libsemanage-common  libsensors-config
  libsensors5  libserd-0-0  libsigc++-2.0-0v5  libsigsegv2  libslang2  libsmartcols1  libsmbclient  libsnappy1v5 (for ffmpeg)  libsndfile1  libsndio7.0
  libsnmp-base  libsnmp40  libsord-0-0  libsource-highlight-common  libsource-highlight4v5  libspecio-perl  libspeex1  libsphinxbase3
  libsquashfuse0 (for squashfuse)  libsratom-0-0  libss2  libssh-gcrypt-4  libssh2-1  libssl-dev  libstd-rust-dev (for rustc)  libstemmer0d  libsub-exporter-perl
  libsub-exporter-progressive-perl  libsub-install-perl  libsub-override-perl  libsub-quote-perl  libsuitesparseconfig5  libswitch-perl  libsys-hostname-long-perl
  libsystemd0  libtasn1-6  libtcl8.6  libtext-unidecode-perl  libtext-wrapi18n-perl  libthai-data  libthai-dev  libthai0  libtheora0  libtinfo5
  libtinfo6 (for ncurses-bin)  libtirpc-common  libtirpc-dev  libtirpc3  libtk8.6  libtool  libtry-tiny-perl  libtsan0  libubsan1 (for g++, gcc)  libudev1
  libudfread0  libunbound8  libunistring2  liburi-perl  libusb-1.0-0  libustr-1.0-1  libutempter0  libuuid1  libuv1  libuv1-dev  libva-drm2  libva-wayland2
  libva-x11-2  libva2  libvbr2  libvdpau1  libvulkan1  libwayland-client0  libwayland-cursor0  libwayland-egl1  libwayland-server0  libwbclient0  libwebp-dev
  libwebpdemux2 (for libwebp-dev)  libwebpmux3 (for ffmpeg, libwebp-dev)  libwmf-dev  libwpd-0.10-10  libwrap0  libwv-1.2-4  libwww-perl  libx11-6  libx11-data
  libx11-dev  libx11-xcb1  libx265-dev  libxapian30 (for aptitude)  libxaw7  libxcb-dri2-0  libxcb-dri3-0  libxcb-glx0  libxcb-present0  libxcb-randr0
  libxcb-render0  libxcb-render0-dev  libxcb-shape0  libxcb-shm0  libxcb-shm0-dev  libxcb-sync1  libxcb-xfixes0  libxcb1  libxcb1-dev  libxcursor1  libxdamage1
  libxdot4 (for libgraphviz-dev)  libxext-dev  libxext6  libxfixes3  libxft-dev  libxft2  libxi6  libxinerama1  libxkbcommon0  libxml-namespacesupport-perl
  libxml-sax-base-perl  libxml-sax-expat-perl  libxml-sax-perl  libxml2 (for libxml2-dev)  libxml2-dev  libxmu6  libxmuu1  libxpm4  libxrandr2  libxrender-dev
  libxrender1  libxslt1-dev  libxslt1.1  libxt6  libxtables12 (for iptables)  libxtst6  libxv1  libxxf86dga1  libxxhash0  libyajl2  libyaml-0-2  libyaml-dev
  libz3-4 (for postgresql, rustc)  libzip-dev  libzip4 (for libzip-dev)  libzmq5  libzvbi-common  libzvbi0  link-grammar-dictionaries-en  linux-base  linux-libc-dev
  lm-sensors  login  logrotate  logsave  logwatch  lsb-base  lsb-release  lshw  lsof  lua-bitop  lua-event  lua-expat  lua-filesystem  lua-ldap  lua-lpeg  lua-sec
  lua-socket  lua-zlib  lua5.3  lynx  lynx-common  m4  mailcap  mailutils  mailutils-common  man-db  manpages  manpages-dev  manpages-fr  mariadb-common
  mariadb-server{b}  mawk  media-types  mesa-va-drivers  mesa-vdpau-drivers  mesa-vulkan-drivers  mlocate  mlock  mount  munin  munin-common (for munin)  munin-doc
  munin-node  munin-plugins-core  munin-plugins-extra  musl  mysql-common  nano  ncal  ncdu  ncurses-base  ncurses-bin  ncurses-term  net-tools  netbase
  netcat-openbsd  netcat-traditional  nethogs  netpbm  nfs-common{b}  nftables  ninja-build  nmap  nmap-common (for nmap)  nodejs{b}  nodejs-doc  nslcd  nslcd-utils
  ntp  ntpdate  ocaml  ocaml-base  ocaml-compiler-libs  ocaml-interp  ocaml-man  ocl-icd-libopencl1  offlineimap  offlineimap3  opam  opam-doc
  opam-installer (for opam)  opendkim-tools  openssh-client  openssh-server  openssh-sftp-server  openssl  pango1.0-tools (for libpango1.0-dev)  parted  passwd
  pci.ids  pciutils  pflogsumm  php-cli  php-common  php-gd  php-mbstring  php-pear  php-php-gettext  php-xml  php7.0-cli  php7.0-common  php7.0-gd  php7.0-json
  php7.0-mbstring  php7.0-opcache  php7.0-readline  php7.0-xml  php7.1-cli  php7.1-common  php7.1-json  php7.1-opcache  php7.1-readline  php7.2-cli  php7.2-common
  php7.2-json  php7.2-opcache  php7.2-readline  php7.3-cli  php7.3-common  php7.3-gd  php7.3-json  php7.3-mbstring  php7.3-opcache  php7.3-readline  php7.3-xml
  php7.4  php7.4-cli  php7.4-common  php7.4-curl  php7.4-fpm  php7.4-gd  php7.4-intl  php7.4-json  php7.4-ldap  php7.4-mbstring  php7.4-mysql  php7.4-opcache
  php7.4-readline  php7.4-xml  php8.0  php8.0-cli  php8.0-common  php8.0-fpm  php8.0-gd  php8.0-mbstring  php8.0-opcache  php8.0-readline  php8.0-xml  php8.1
  php8.1-cli  php8.1-common  php8.1-fpm  php8.1-gd  php8.1-ldap  php8.1-mbstring  php8.1-opcache  php8.1-readline  php8.1-xml  php8.2  php8.2-bcmath  php8.2-cli
  php8.2-common  php8.2-curl  php8.2-fpm  php8.2-gd  php8.2-gmp  php8.2-igbinary  php8.2-intl  php8.2-ldap  php8.2-mbstring  php8.2-mysql  php8.2-opcache
  php8.2-readline  php8.2-redis  php8.2-tidy  php8.2-xml  php8.2-zip  php8.3  php8.3-apcu  php8.3-bcmath  php8.3-bz2  php8.3-cli  php8.3-common  php8.3-curl
  php8.3-fpm  php8.3-gd  php8.3-gmp  php8.3-igbinary  php8.3-imagick  php8.3-imap  php8.3-intl  php8.3-ldap  php8.3-mbstring  php8.3-mysql  php8.3-opcache
  php8.3-pgsql  php8.3-readline  php8.3-redis  php8.3-soap  php8.3-ssh2  php8.3-xml  php8.3-zip  pinentry-curses  pkg-config  pocketsphinx-en-us  policykit-1
  poppler-data  poppler-utils  popularity-contest  postfix  postfix-ldap  postfix-pcre  postfix-policyd-spf-perl  postfix-sqlite  postgresql
  postgresql-client-common (for postgresql)  postgresql-common (for postgresql)  postsrsd  procmail  procps  psmisc  publicsuffix  python-apt-common
  python-is-python3  python3-attr  python3-blinker  python3-bottle  python3-bs4  python3-certifi  python3-chardet  python3-cryptography  python3-dateutil
  python3-debconf  python3-debian  python3-debianbts  python3-defusedxml  python3-distlib  python3-distro  python3-distro-info  python3-dnspython  python3-fasteners
  python3-filelock  python3-freezegun  python3-future  python3-gevent-websocket  python3-httplib2  python3-idna  python3-ifaddr  python3-invoke  python3-isodate
  python3-jinja2  python3-jwt  python3-lexicon  python3-monotonic  python3-oauthlib  python3-openssl  python3-packaging  python3-paramiko  python3-pexpect
  python3-pkg-resources  python3-prompt-toolkit  python3-ptyprocess  python3-publicsuffix2  python3-pyasn1  python3-pyasn1-modules  python3-pygments
  python3-pyinotify  python3-pyparsing  python3-pysimplesoap  python3-reportbug (for reportbug)  python3-requests  python3-requests-toolbelt  python3-setuptools
  python3-six  python3-soupsieve  python3-tldextract  python3-toml  python3-tz  python3-urllib3  python3-wcwidth  python3-webencodings  python3-wheel  python3-zeep
  python3-zeroconf  radeontop  readline-common  rebound  redis-server  redis-tools  reportbug  resolvconf  rpcbind  rrdtool  rsnapshot  rsync  rsyslog
  runit-helper (for acpid)  rustc  samba-common  samba-libs  sane-utils  screen  sed  sensible-utils  shared-mime-info  shellcheck  shellinabox  slapd
  smartmontools  smbclient  smem  socat  squashfuse  ssl-cert  startpar  sudo-ldap  sysstat  systemd  systemd-sysv  sysv-rc  sysvinit-utils  tar  task-french
  task-ssh-server  tasksel  tasksel-data  tcl8.6  tcpdump  telnet  tex-common  time  tk8.6  traceroute  tree  ttf-bitstream-vera  tzdata  ucf  udev
  unattended-upgrades  unzip  update-inetd  usb.ids  usbutils  util-linux  util-linux-locales  uuid-dev  va-driver-all  vainfo  vdpau-driver-all  vim  vim-common
  vim-runtime (for vim)  vim-tiny  virtualenv  w3m  wamerican  wfrench  wget  whiptail  whois  x11-common  x11proto-core-dev  x11proto-dev  xauth  xbitmaps
  xdg-user-dirs  xkb-data (for keyboard-configuration)  xterm  xxd  xz-utils  yasm  zlib1g  zlib1g-dev
Les paquets suivants sont RECOMMANDÉS mais ne seront pas installĂ©s :
  libatm1  libpam-cap  libperl4-corelibs-perl  python3-matplotlib  samba-common-bin  uuid-runtime
1188 paquets mis à jour, 181 nouvellement installés, 121 à enlever et 4 non mis à jour.
Il est nécessaire de télécharger 47,4 ko/1 004 Mo d'archives. AprÚs dépaquetage, 1 066 Mo seront utilisés.
Les paquets suivants ont des dépendances non satisfaites :
 libselinux1-dev : DĂ©pend: libsepol-dev (>= 3.4) but it is not going to be installed
 mariadb-server : DĂ©pend: mariadb-client (>= 1:10.11.6-0+deb12u1) but it is not going to be installed
                  DĂ©pend: mariadb-server-core (>= 1:10.11.6-0+deb12u1) but it is not going to be installed
 libopenexr-dev : DĂ©pend: libimath-dev (>= 3.1.2) but it is not going to be installed
 nfs-common : DĂ©pend: libnfsidmap1 (= 1:2.6.2-4) but it is not going to be installed
 nodejs : DĂ©pend: libnode108 (= 18.19.0+dfsg-6~deb12u2) but it is not going to be installed
 libsemanage1 : DĂ©pend: libsemanage-common (= 3.1-1) but 3.4-1 is to be installed
Les actions suivantes permettront de résoudre ces dépendances :

      Supprimer les paquets suivants :
1)      libsemanage1 [3.1-1+b2 (now)]

      Installer les paquets suivants :
2)      libdaxctl1 [76.1-1 (stable)]
3)      libimath-dev [3.1.6-1 (stable)]
4)      libndctl6 [76.1-1 (stable)]
5)      libnfsidmap1 [1:2.6.2-4 (stable)]
6)      libnode108 [18.19.0+dfsg-6~deb12u2 (stable)]
7)      libpmem1 [1.12.1-2 (stable)]
8)      libsepol-dev [3.4-2.1 (stable)]
9)      mariadb-client [1:10.11.6-0+deb12u1 (stable)]
10)     mariadb-client-core [1:10.11.6-0+deb12u1 (stable)]
11)     mariadb-server-core [1:10.11.6-0+deb12u1 (stable)]
12)     node-acorn [8.8.1+ds+~cs25.17.7-2 (stable)]
13)     node-busboy [1.6.0+~cs2.6.0-2 (stable)]
14)     node-cjs-module-lexer [1.2.2+dfsg-5 (stable)]
15)     node-undici [5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4 (stable)]
16)     node-xtend [4.0.2-3 (stable)]

      Conserver les paquets suivants dans leur version actuelle :
17)     libconfig-inifiles-perl [3.000003-1 (now)]

      Leave the following dependencies unresolved:
18)     mariadb-client recommande libterm-readkey-perl
19)     rustc recommande cargo (< 0.65.0~~)

EDIT: moved forward with that, and the aptitude upgrade finished. I could then restart the yunohost migration command


Thanks and congrats for that major upgrade! :+1:

1 Like

Hi,

The migration failed with the following error message:

Warning: E: Sub-process /usr/bin/dpkg returned an error code (1)                                                          
Warning: Job for php7.3-fpm.service failed because the control process exited with error code.                            
Warning: See "systemctl status php7.3-fpm.service" and "journalctl -xeu php7.3-fpm.service" for details.                  
Warning: invoke-rc.d: initscript php7.3-fpm, action "restart" failed.                                                     
Warning: dpkg: error processing package php7.3-fpm (--configure):                                                         
Warning:  installed php7.3-fpm package post-installation script subprocess returned error exit status 1                   
Warning: Errors were encountered while processing:                                                                        
Warning:  php7.3-fpm                                                                                                      
Error: Migration 0027_migrate_to_bookworm did not complete, aborting. Error: Failed to run command 'aptitude full-upgrade 
--show-why -o Dpkg::Options::='--force-confold''                                                                          
Info: The operation 'Run migrations' could not be completed. Please share the full log of this operation using the command
 'yunohost log share 20241101-045400-tools_migrations_migrate_forward' to get help    

Now the problem is that I can’t execute commands with sudo because I am “not in the sudoers file”.

(I access the server with the app Shell in a box and I’ve launched the migration process in tmux)

1 Like

It’s better to make sur the upgrade and migrations go forward. Let’s keep the backups as last resort.

That seems like a way to access the server. :stuck_out_tongue: Do you mean that it’s not accessible with your browser? What’s the error (do not be vague)? Can you check the following commands?

sudo systemctl status yunohost-api
sudo systemctl status yunohost-portal-api
sudo systemctl status nginx
1 Like