Пьер Швецер, один из основных разработчиков операционной системы ReactOS, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows, сделал в своеи твиттере резонансное заявление. Теперь новые билды операционной системы можно собирать, пользуясь исключительно средствами этой ОС и ее официальной среды сборки RosBE. Сама среда сборки так же собирается из исходников при первом запуске сценария сборки.Таким образом, ОС ReactOS достигла состояния называемого [ Self-Hosted ](
https://en.wikipedia.org/wiki/Self-hosting ) . Символично, что данное событие происходит в тот момент, когда проект, по некоторым расчетам, достигает своего полного совершеннолетия по человеческим меркам (21 год). На скриншоте показан заключительный этап сборки и смонтированный средствами ОС, только что собранный, новый образ Live-дистрибутива ReactOS. Официальная инструкция по сборке [ обновлена в соотвествии ](
https://www.reactos.org/wiki/Building_ReactOS ) с новым положением дел.В целом, это эпохальное событие стало возможно благодаря совместной целенаправленой работе Томаса Фабера над контролером кеша и Пьера над драйвером файловых систем FastFAT и CDFS непосредственно. О чем будет рассказано гораздо подробнее к в анонсе к грядущей версии 0.4.9. За поддержанием возможности самосборки теперь будут следить. Поэтому, следующим этапом будет установка билд-бота для регулярной сборки публичных тестовых образов ReactOS на ReactOS.Одним из последних, недостающих для самосборки компонентов, стала несовершенная реализация алгоритма qsort в библиотеке msvcrt.dll. Это обнаружилось при очередных попытках скомпилировать ReactOS в ReactOS, когда сборка останаливалась из-за сбоя в подготивтельном этапе компиляции компонета USB-стека [ библиотеки ](
https://doxygen.reactos.org/dir_7d4ff58ba0b2cebbcecb41bbd2237878.html ) USBD. Правильную реализацию qsort быстро перенесли из FreeBSD, за что этому проекту отдельная благодарность.Заключительным штрихом стало [ устранение Гермесом Белуской древних несовершенств ](
https://github.com/reactos/reactos/commit/a16599906794d2069392fbd57b1f01ae9dcc983c ) в командной оболочке CMD, связанных с управлением заголовком окна, которые раньше можно было игнорировать или обходить хаком.Состояние self-hosted достигалось и ранее в [ 2003 ](
https://developers.slashdot.org/story/03/02/02/2031252/reactos-010-released ) и [ 2009 ](
https://developers.slashdot.org/story/03/02/02/2031252/reactos-010-released ) годах. Но оба раза утрачивалось, так как не являлось приоритетным. В первом случае - из-за экспоненциального роста функционала и объема кодовой базы, а во втором - из-за значительной модернизации средств среды сборки и формата исходников (переход с rbuld на cmake)Релиз 0.4.9 станет первым в новейшей истории проекта, который будет полностью поддерживать самосборку. Хотя до выхода этой версии еще около месяца - для предварительного тестирования уже [ доступен релиз-кандидат ](
https://sourceforge.net/projects/reactos/files/ReactOS/0.4.9/ ) , впечатляющие своей сравнительной стабильностью работы.
Ссылка:
https://www.linux.org.ru/news/opensource/14259384