6 June 2018

ReactOS стал самодостаточным в год своего 21-летия

Фонд ReactOS corporate blogOpen sourceReverse engineeringDevelopment for Windows
Привет, Хабр! У нас есть внезапные новости!

image

Пьер Швейцер, один из основных разработчиков операционной системы ReactOS, сделал в своем твиттере резонансное сообщение. Теперь новые билды операционной системы можно собирать, пользуясь исключительно средствами этой ОС и ее официальной среды сборки RosBE. Сама среда сборки так же собирается из исходников при первом запуске сценария сборки.

Таким образом, ОС ReactOS достигла состояния, называемого Self-Hosted. Символично, что данное событие происходит в тот момент, когда проект, по некоторым расчетам, достигает своего полного совершеннолетия по человеческим меркам (21 год). На скриншоте ниже показан заключительный этап сборки и смонтированный средствами ОС, только что собранный, новый образ Live-дистрибутива ReactOS. Официальная инструкция по сборке обновлена в соотвествии с новым положением дел.

image

В целом, это эпохальное событие стало возможно благодаря совместной целенаправленой работе Томаса Фабера над контролером кеша и Пьера над драйвером файловых систем FastFAT и CDFS непосредственно. О чем будет рассказано гораздо подробнее к в анонсе к грядущей версии 0.4.9. За поддержанием возможности самосборки теперь будут постоянно следить, поэтому следующим этапом будет установка билд-бота для регулярной сборки публичных тестовых образов ReactOS на ReactOS.

Одним из последних, недостающих для самосборки компонентов, стала несовершенная реализация алгоритма qsort в библиотеке msvcrt.dll. Это обнаружилось при очередных попытках скомпилировать ReactOS в ReactOS, когда сборка останаливалась из-за сбоя в подготивтельном этапе компиляции компонета USB-стека библиотеки USBD. Правильную реализацию qsort быстро перенесли из FreeBSD, за что этому проекту выражается отдельная благодарность.

Заключительным штрихом стало устранение Гермесом Белуской древних несовершенств в командной оболочке CMD, связанных с управлением заголовком окна, которые раньше можно было игнорировать или обходить хаком.

Состояние self-hosted достигалось и ранее в 2003 и 2009 годах. Но оба раза утрачивалось, так как не являлось приоритетным. В первом случае — из-за экспоненциального роста функционала и объема кодовой базы, а во втором — из-за значительной модернизации средств среды сборки и формата исходников (переход с rbuild на cmake)

Релиз 0.4.9 станет первым в новейшей истории проекта, который будет полностью поддерживать самосборку. Хотя до выхода 0.4.9 еще около месяца — для предварительного тестирования уже доступен релиз-кандидат, впечатляющий своей стабильностью работы по сравнению с предыдущими выпусками ОС.
Tags:reactosself-hostedсамосборкасамокомпиляция
Hubs: Фонд ReactOS corporate blog Open source Reverse engineering Development for Windows
+104
32.8k 28
Comments 95