Главная

Haiku - отчет за март 2018

Этот отчет актуален для сборок с 51833 по 51872.

Система
Hrishi Hiraskar (один из участников GSoC) переработал управление фазой завершения работы ОС. Это включает в себя launch daemon и BRoster, которые координируют совместные действия для безопасного завершения работы Haiku. Есть определенный четкий порядок, в соответствии которому все приложения должным образом выключаются (оставляя пользователю возможность сохранить данные, если это не было сделано прежде) и только тогда системные сервера завершают работу. Были обнаружены некоторые проблемы с существующей имплементацией, когда можно было запустить приложение, пока другое ждет сохранения данных и это могло привести к потере данных (маловероятно, но все же). Теперь процесс завершения работы улучшен и все происходит по установленному порядку.

Korli исправил еще одну проблему в SMAP (подробнее написано в предыдущих отчетах).

Mmlr помог исправить ошибки, которые приводили к выпадению в KDL и в целом почистил доступ к системным библиотекам. В одном случае, связанном с KDL, создавалась зона в памяти, у которой был неправильный размер на 64–битных системах и случалось переполнение). Другое исправление связано с проверкой и заданием максимального числа разрешенных дескрипторов файлов в выбранном poll call, в соответствии с RLIMIT_NOFILES. Подобное изменение было сделано для wait_for_objects, в котором все немного сложнее, так как он отвечает не только за простые файлы.

Сборка
Kalisti5 починил ветку PowerPC и позволил ей вновь компилироваться. В настоящий момент невозможно полноценно загрузиться в PowerPC–порт Haiku, но теперь хотя бы его можно скомпилировать и наши билд–боты этим во всю занимаются.

Korli исправил утилиту gensyscalls для создания файлов в разных директориях для каждой архитектуры. Пока это мало влияет на работу (поскольку у нас один набор системных вызовов), но эта возможность пригодится позднее, когда нам надо будет запускать 32–битные приложения в 64–битной версии Haiku (ядру придется использовать набор как 32–битных, так и 64–битных системных вызовов).

Waddlesplash и Korli подчистили и обновили пакеты, которые используются для сборки Haiku. Они более напрямую не связаны с HaikuPorts, но с некоторых пор мы используем пакеты с фиксированными версиями, так что время от времени нам надо будет ре–синхронизировать некоторые вещи для того, чтобы обновлять Haiku до свежей версии. Korli также исправил несколько проблем, которые не позволяли заниматься отладкой сборок на платформе x86_64.

Драйверы и ФС
Korli исправил поддержку файловых систем NTFS и FAT для того, чтобы они как следует управляли разрешениями файлов на дисках, подключенных в режиме «только для чтения». В ряде случаев, файлы, скопированные с такого диска, оставались помеченными как «только для чтения» уже на диске с другой ФС (например BFS). Он также исправил ошибки в драйвере ATA, который позволял DMA–трансферам происходить тогда, когда нет информации для передачи. Из–за этой ошибки, к примеру, система могла упасть при использовании команды readcd (в cdrtools).

Korli исправил драйвер usb_raw, используемый для доступа к устройствам USB из пространства пользователя. Это являлось регрессией, которая появилась в феврале, сломав PhotoGrabber. К счастью, ошибку быстро обнаружил Vidrep, который много занимается тестированием и отчетами об ошибках, таким образом проблема была почти сразу идентифицирована и исправлена.

Также, Korli синхронизировал список устройств, используя sync snoop в ALSA. Это, возможно, подружит Haiku с большим количеством звуковых карт и аудиочипов (почти все компьютеры нынче используют звуковые устройства на базе hda).

Mmu_man исправил утилиту use-after–free, которая используется для сканирования и восстановления поврежденных разделов BFS.

Hy Che внес несколько патчей для BtrFS вскоре после GSoC 2017, теперь мы наконец добавили их в основное дерево. Один из участников GSoC уже в 2018 году взялся проверить их и закончить начатое.

Приложения
DeadYak продолжает работу над Отладчиком и восполняет недостающие фрагменты для полноценной поддержки отладочной информации GCC5.

Andrew Lindesay добавил возможность определения ошибки, когда используется неверный URL в репозитории.

Kim Brown сделал так, что Установщик не копирует системные логи с предыдущей инсталляции Haiku на целевой раздел или диск. В результате экономится немного места на диске, но, что более важно, это избавляет от мешанины в логах отладки запуска, после установки ОС.

Support Kit
Janus нашел ошибку в BString! Даже самые базовые классы в Haiku до сих пор до конца не отполированы. Метод Split() терпит неудачу, когда разделитель представляет собой более, чем один символ. Теперь эта проблема решена, Korli также написал новые юнит тесты для проверки.

Интерфейс
Humdinger переработал стандартное окошко «О программе», которое используется множеством приложений. Теперь оно имеет маленький значок, а его размеры и внешний вид немного подправлены. Это все — мелкие детали, но именно они помогают Haiku оставаться такой же милой и лучезарной [shiny, captain! -–прим. перев.]

Мультимедиа
Barrett сделал несколько изменений в плагине ffmpeg, пытаясь улучшить результаты кодирования в BeScreenCapture. Однако, все выглядит так, что большой погоды тут не сделаешь, нам придется основательно переработать плагин для использования современного ffmpeg API (и сохранить legacy–вариант для совместимой с BeOS ветки gcc2, которая до сих пор использует устаревшую версию ffmpeg).

Немного скриншотов Haiku из Сети

Источники:
https://www.haiku-os.org/blog/pulkomandy/2018–04–06_haiku_monthly_activi…
https://discuss.haiku–os.org/
https://t.me/haiku_os

Спасибо. Ничего

Спасибо.
Ничего в программерской тарабарщине не понял, но какое–то шевеление в сообществе присутствует.

Я отчасти

Я отчасти поэтому без большой охоты перевожу эти «технические» отчеты, где нет реальных вкусностей, типа новой софтины, поддержки железа или особо крупного продвижения вперед в целом. Ну поправили тут и там немного, здесь подчистили, офигеть теперь. Бета где?!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
P
F
j
j
t
1
Enter the code without spaces and pay attention to upper/lower case.