Bonjour, Habr! Nous avons des nouvelles soudaines!
Pierre Schweitzer, l'un des principaux développeurs du système d'exploitation ReactOS, a tweeté un
message résonnant . Désormais, de nouvelles versions du système d'exploitation peuvent être créées en utilisant uniquement les outils de ce système d'exploitation et son environnement de génération officiel RosBE. L'environnement de génération lui-même est également compilé à partir des sources lors de la première exécution du script de génération.
De cette façon, ReactOS a atteint un état appelé
Self-Hosted . Il est symbolique que cet événement se produise à un moment où le projet, selon certaines estimations, atteint son plein âge selon les normes humaines (21 ans). La capture d'écran ci-dessous montre la phase de construction finale et la nouvelle image du système d'exploitation juste assemblée de la distribution ReactOS Live.
Les instructions de montage
officielles ont été mises à jour conformément à la nouvelle situation.

En général, cet événement historique a été rendu possible grâce au travail ciblé conjoint de Thomas Faber sur le contrôleur de cache et de Pierre sur le pilote des systèmes de fichiers FastFAT et CDFS directement. Ce qui sera discuté beaucoup plus en détail dans l'annonce de la prochaine version 0.4.9. Les capacités d'auto-assemblage seront désormais constamment surveillées, la prochaine étape consistera donc à installer un bot de construction pour créer régulièrement des images de test public ReactOS sur ReactOS.
L'un des derniers composants manquants pour l'auto-assemblage était l'implémentation imparfaite de l'algorithme qsort dans la bibliothèque msvcrt.dll. Cela a été révélé lors des prochaines tentatives de compilation de ReactOS dans ReactOS, lorsque l'assemblage a été arrêté en raison d'un échec dans la phase préparatoire de compilation du composant USBD du composant de
bibliothèque USBD . L'implémentation correcte de qsort a été rapidement portée depuis FreeBSD, pour laquelle un merci spécial va à ce projet.
La touche finale a été l'élimination par Hermes Beluska des
anciennes imperfections dans le shell de commande CMD associées à la gestion du titre de la fenêtre, qui pouvaient auparavant être ignorées ou contournées par un piratage.
Le statut d'auto-hébergement a été atteint plus tôt en
2003 et
2009 . Mais les deux fois, il a été perdu, car ce n'était pas une priorité. Dans le premier cas, en raison de la croissance exponentielle des fonctionnalités et du volume de la base de code, et dans le second, en raison de la modernisation importante de l'environnement de construction et du format source (passage de rbuild à cmake)
La version 0.4.9 sera la première de l'histoire récente du projet à prendre entièrement en charge l'auto-assemblage. Bien qu'il soit environ un mois avant la sortie de la version 0.4.9, une
version candidate est déjà disponible pour les tests préliminaires, ce qui impressionne par sa stabilité par rapport aux versions précédentes du système d'exploitation.