En ce mardi 17 mars, la communauté du Projet Fedora sera ravie d'apprendre la disponibilité de la version Beta Fedora 32.
Malgré les risques concernant la stabilité d’une version Beta, il est important de la tester ! En rapportant les bogues maintenant, vous découvrirez les nouveautés avant tout le monde, tout en améliorant la qualité de Fedora 32 et réduisant du même coup le risque de retard. Les versions en développement manquent de testeurs et de retours pour mener à bien leurs buts.
La version finale est pour le moment fixée pour le 21 ou 28 avril. Voici les nouveautés annoncées pour cette version :
Expérience utilisateur
- Passage à GNOME 3.36.
- Une nouvelle image alternative Comp Neuro Lab est disponible pour proposer par défaut des paquets relatifs aux neuro-sciences.
- Plusieurs polices bitmaps sont converties en OpenType pour être exploitables par des applications plus modernes qui reposent sur la bibliothèque pango.
Gestion du matériel
- Le service fstrim.timer est activé par défaut. Il sera exécuté de façon hebdomadaire pour signaler la liste des secteurs effacés au contrôleur de mémoires flash pour améliorer leur gestion d'un point de vue performance.
Internationalisation
- Migration de la plateforme de traduction de Zanata vers Weblate pour le projet Fedora. Le premier n'était plus vraiment maintenu et souffrait de sérieux défauts.
Administration système
- Le paquet earlyoom est activé par défaut. En cas de mémoire insuffisante (RAM et swap utilisés à plus de 90%), un signal SIGTERM sera envoyé au processus ayant le plus gros score OOM. À plus de 95% d'utilisation, c'est le signal SIGKILL qui est envoyé. Le but est d'essayer de sauver la machine en cas de problèmes de disponibilité de mémoire, situation où un redémarrage brutal matériel était souvent nécessaire.
- Le gestionnaire de base de données MariaDB est mis à jour vers la version 10.4.
- Son alter-ego PostgreSQL passe quant à lui à la version 12.
- Le redémarrage des services après une mise à niveau est centralisé. Cela réduira le nombre de scriptlets à maintenir à cet effet dans les paquets, mais surtout évite de redémarrer un service alors qu'une dépendance n'a pas fini sa mise à niveau en cours ce qui peut être source de bogues.
- Le pare-feu dynamique firewalld migre de iptables vers nftables.
- Par ailleurs la variante iptables par défaut devient iptables-nft.
- Le paquet apt va fournir le projet de Debian plutôt que apt-rpm.
- L'outil de sauvegarde rdiff-backup a été mis à jour vers sa dernière version 1.2.8 qui repose sur Python 3 et est incompatible avec celle qui reposait sur Python 2.
- Les utilisateurs systèmes adoptent le format sysusers.d ce qui permet d'unifier les procédures, de facilement observer quels paquets créent un nouveau utilisateur et se rapprocher d'OpenSUSE dans l'approche de cette problématique.
Développement
- La suite de compilateurs GCC 10 est proposée.
- Son concurrent direct LLVM vient également dans sa version 10.
- La bibliothèque C GNU C Library progresse à la version 2.31.
- Mise à jour de Binutils 2.33.
- Le paquet clang-libs ne proposera plus que la bibliothèque partagée libclang-cpp.so, les 37 autres fichiers ayant fusionné avec ce dernier.
- La bibliothèque de calcul multi-précision flottant mpfr a une précision de 4.0.2.
- Le compilateur Pascal libre, Free Pascal Compiler, passe à la version 3.2.0.
- Le langage Python rampe vers la version 3.8.
- Tandis que Python 2 est retiré. Plus exactement, le paquet python2 est remplacé par celui de python27 pour des raisons de compatibilité. Les paquets qui dépendent de cette version de Python de même que les bibliothèques Python 2 sont quant à eux supprimés des dépôts. Cela met fin à la transition de Python 2 vers Python 3, ce premier n'étant plus maintenu officiellement depuis janvier 2020.
- Le paquet python-nose est déprécié en vue d'une suppression future.
- La boîte à outils Django 3 est disponible.
- Ruby brille de 2.7 feux.
- Le générateur de pages statiques Jekyll version 4 est exposé dans les dépôts.
- Le gem Ruby Bundler passe quant à lui la 2e.
- Le langage Go quant à lui file vers la version 1.14.
- Haskell Stackage LTS va vers la version 14.
- La pile .Net libre Mono évolue de la version 5.20 à 6.6.
- PHP écrase avec sa version 7.4.
- Le gestionnaire de versions Bazaar laisse place à son fork Breezy, qui est mieux maintenu.
- La chaîne de compilation mingw32 change de systèmes d'exception de SJLJ vers dwarf-2.
- Python est compilé avec le drapeau -fno-semantic-interposition pour améliorer ses performances.
Projet Fedora
- Le projet améliore la façon d'avoir des statistiques sur l'utilisation de Fedora. Actuellement le tout reposait sur la collecte de données via les miroirs pour connaître le nombre d'installation en vigueur ce qui n'était pas fiable. Pour éviter cela, chaque requête tous les 7 jours vers un dépôt officiel sera enregistrée par machine. Cela évitera les problèmes liés à la vie privée. Cette nouveauté était proposée pour Fedora 30 mais a été finalement reportée.
- Un bogue sur les images Live sur CD ne sera plus bloquant. En cas de bogues spécifiques à ces images une nouvelle version de Fedora sera proposée malgré tout. Le correctif nécessaire pourra avoir lieu après la disponibilité officielle. Cela permet de réduire la charge des tests pour finalement assez peu d'utilisateurs.
- De manière similaire, l'image Xfce 32 bits ne sera plus bloquant alors que l'image Workstation pour AArch64 le sera.
- Un nouveau buildroot pour le projet Fedora voit le jour pour proposer de tester un changement dans la micro-architecture x86_64. Ceci afin d'évaluer les possibilités d'améliorer les performances et de voir les éventuelles régressions en vue d'une mise à jour globale des exigences de l'image x86_64.
- Le lien entre une langue couverte et une police d'écriture n'est plus dans le paquet de la police mais dans un paquet langpack spécifique nommé langpacks-core-font-<code langue>.
- Juste après la séparation entre Rawhide et une nouvelle version de Fedora, ici 32, une période de gel des paquets sera observée comme avant une Beta ou une sortie finale pour améliorer la stabilisation.
- L'ensemble des paquets qui gère des unités utilisateur pour systemd doivent recourir aux preset et non gérer cela à la main pour simplifier la maintenance et la cohérence. Cela reprend le même mécanisme proposé pour les services introduit dans Fedora 18.
- Les paquets de base, qui sont notamment utilisés pour produire les images minimales pour conteneurs, réduisent leur nombre de scriptlets pour unifier les procédures et améliorer leur gestion.
Tester
Durant le développement d'une nouvelle Fedora, comme cette version Beta, quasiment chaque semaine le projet propose des journées de tests. Le but est pendant une journée de tester une fonctionnalité précise comme le noyau, Fedora Silverblue, la mise à niveau, GNOME, l’internationalisation, etc. L'équipe qualité élabore et propose une série de tests en général simples à exécuter. Suffit de les suivre et indiquer si le résultat est celui attendu. Dans le cas contraire, un bogue devra être ouvert pour permettre l'élaboration d'un correctif.
C'est très simple à suivre et requiert souvent peu de temps (15 minutes à une heure maximum) si vous avez une Beta exploitable sous la main.
Les tests à effectuer et les rapports sont à faire via la page suivante. J'annonce régulièrement sur mon blog quand une journée de tests est planifiée.
Si l'aventure vous intéresse, les images sont disponibles par Torrent ou via le site officiel.
Si vous avez déjà Fedora 31 ou 30 sur votre machine, vous pouvez faire une mise à niveau vers la Beta. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.
Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.
En cas de bogue, n'oubliez pas de relire la documentation pour signaler les anomalies sur le BugZilla ou de contribuer à la traduction sur Weblate.
Bons tests à tous !