The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Отчёт о состоянии развития FreeBSD за первый квартал 2012 года "
Отправлено opennews, 14-Май-12 14:28 
Представлен отчёт о развитии проекта FreeBSD с января по март 2012 года. После выхода 13 января FreeBSD 9.0 (https://www.opennet.ru/opennews/art.shtml?num=32749) в первые месяцы 2012 года основные усилия разработчиков были направлены на подготовку релиза FreeBSD 8.3 (https://www.opennet.ru/opennews/art.shtml?num=33632), который был выпущен в середине апреля и кроме поддержки нового оборудования включал результаты бэкпортирования некоторых возможностей из FreeBSD 9.


Основные достижения:


-  
Система


-  В базовую систему FreeBSD 10.0-CURRENT и 9.0-STABLE по умолчанию установлен (http://wiki.freebsd.org/BuildingFreeBSDWithClang) распространяемый под лицензией BSD компилятор Clang 3.0. В FreeBSD 10.0-RELEASE принято решение задействовать Clang в качестве системного компилятора по умолчанию, GCC будет оставлен в качестве опции. В настоящее время, как минимум для FreeBSD 10.0-CURRENT обеспечена полноценная пересборка базовой системы и ядра в конфигурации GENERIC без предупреждений при сборке с опцией "-Werror" (для изменённых конфигураций ядра предупреждения пока могут наблюдаться).

В src.conf добавлена опция WITH_CLANG_IS_CC, при установке которой Clang по умолчанию будет установлен в качестве базового системного компилятора, т.е. заменит собой /usr/bin/cc, /usr/bin/c++ и /usr/bin/cpp. GCC пока остаётся в системе, даже при использовании опции WITHOUT_GCC, gcc будет доступен как /usr/bin/gcc, /usr/bin/g++ и /usr/bin/gcpp. Кроме того, в src.conf добавлена опция WITH_CLANG_EXTRAS, которая позволяет задействовать при сборке несколько дополнительных инструментов, созданных в рамках проектов LLVM и Clang, таких как 'llc' и 'opt'. Подобные утилиты могут оказаться полезными для работы с биткодом LLVM (.bc) и ассемблерными файлами LLVM (.ll).

В настоящее время все усилия разработчиков направлены на обеспечение сборки и запуска всей системы FreeBSD с использованием Clang, в том числе проверку работы как можно большего числа приложений, включая порты. Пользователи могут существенно помочь в этом начинании приняв участие в тестировании и сообщая о наблюдаемых проблемах. Что касается сборки потров с использованием Clang, то в
это области также отмечается значительный прогресс: многие мэйнтейнеры уже адаптировали свои порты для работы с Clang, налажен процесс автоматической  периодической проверки сборки портов с использованием Clang. Тем не менее в портах ещё можно встретить приложения, которые не могут быть собраны с Clang, как правило это очень старые программы, которые часто не собираются и с новыми версиями GCC.

Из планов упоминается работа по импортированию в систему нового снапшота Clang, на базе которого будет сформирован релиз LLVM/Clang 3.1 (релиз ожидается в ближайшие дни). В Clang 3.1 ожидается улучшение поддержки кросс-компиляции, что поможет форсировать процесс обеспечения кросс-компиляции ядра и базовой системы FreeBSD для архитектур ARM и MIPS.

-  Продолжается работа по созданию для FreeBSD полноценного С++ стека, целиком распространяемого под лицензией BSD и независящего от кода проекта GNU. Проведено расширенное тестирование и добавлены новые возможности, например, поддержка ARM EABI, в библиотеки: libc++ (реализация элементов, определённых в стандарте C++11) и libcxxrt (реализация спецификации C++ ABI). Использование предварительной версии Clang 3.1 совместно с данными библиотеками демонстрирует полное прохождение тестов на совместимость со стандартом C++11. По умолчанию библиотеки пока не используются, так как библиотека libc++ не совместима с поставляемым в базовой системе gcc и может работать только с clang. Переход на новый C++ стек ожидается во FreeBSD 10, одновременно с задействованием по умолчанию Clang.

Реализация (https://www.opennet.ru/opennews/art.shtml?num=31857) расширенных функций для работы с локалью (xlocale), от которых зависит развиваемая проектом LLVM библиотека libc++, протестирована c множеством портов, изначально написанных для реализации xlocale от проекта  Darwin. Выявленные в процессе тестирования ошибки исправлены, код библиотеки планируется выпустить в составе FreeBSD 9.1.

Во FreeBSD-CURRENT сборка libsupc++ теперь осуществлена в виде разделяемой библиотеки, что позволяет упростить замену данной библиотеки на libcxxrt от проекта LLVM. Выбор какие из библиотек использовать, GNU libsupc++ или BSD libcxxrt, осуществляется через изменение настроек в libmap.conf. Если в качестве libstdc++ используется libcxxrt, пользователь имеет возможность связывания с обоими библиотеками, использующими  libstdc++ и libc++, что значительно упрощает миграцию.

Из открытых задач остаётся создание замены для некоторых частей libgcc_s и системы динамического связывания, проведение тестирования сборки портов с libc++ (большинство портов без проблем собираются, но остаются такие, которые жестко привязаны к libstdc++ или требуют патчей), переход на сборку и использование libc++ и libcxxrt по умолчанию (когда clang станет компилятором по умолчанию в базовой системе); удаление libstdc++ из базовой системы и помещение в порты для обеспечения обратной совместимости;

-  Возобновлена работа над проектом FSC (http://people.freebsd.org/~trhodes/fsc/) (FreeBSD Services Control), в рамках которого развиваются похожие на Solaris SMF и daemontools инструменты для управления и мониторинга работой системных сервисов. Для контроля за работой сервисов используется фоновый процесс fscd, сервисы добавляются при помощи утилиты fscadm. В случае аварийного завершения работы сервиса, fscd распознает падение процесса и запускает сервис вновь. По сравнению со сторонними пакетами, такими как daemontools, система FSC имеет несколько преимуществ, например fscd использует push-нотификацию вместо поллинга (отправляет уведомления, не требуя периодического опроса состояния). Кроме того, fscd является внутренней подсистемой, легко интегрируемой в rc.d-инфраструктуру FreeBSD и полностью поддерживаемой разработчиками (daemontools является неподконтрольным портом для которого можно лишь поддерживать набор патчей). В настоящее время подготовлена (http://people.freebsd.org/~trhodes/fsc/fsc.tar) новая версия FSC и связанного порта (http://people.freebsd.org/~trhodes/fsc/fsc-port.tar) со вспомогательными утилитами, поддерживающая большее число опций, добавляющая новый файл конфигурации fscd.conf, поддерживающая отладочный режим и поставляемая с обновлённым rc.d-скриптом для запуска fscd;

-  Достигла стабильного состояния распространяемая под лицензией BSD утилита sort (http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/bsdsort/), написанная с целью замены GNU sort. Отмечается, что производительность BSD sort находится на уровне  GNU sort и поддерживаются все возможности присутствующие в GNU sort 5.3.0 (данная версия поставляется во FreeBSD). Кроме того в BSD sort реализован ряд дополнительных возможностей, например, корректно поддерживаются многобайтовые кодировки, в то время как GNU sort 5.3 в этой области испытывает проблемы. Из планов на будущее отмечается интеграция новой утилиты во FreeBSD-HEAD в качестве альтернативы, устанавливаемой под именем bsdsort (после того как будет ясно, что всё работает как задумано, утилита GNU sort будет удалена, а bsdsort переименована в sort). Также планируется интеграция в BSD sort  поддержки многопоточной сортировки и реализация некоторых возможностей, которые присутствуют в последней версии GNU sort 8.15;
-  Ведётся работа (http://svnweb.freebsd.org/base/user/gabor/tre-integration/) по замене устаревшей реализации регулярных выражений в libc на библиотеку TRE (http://laurikari.net/tre/), распространяемую под лицензией BSD, поддерживающую многобайтные символы, совместимую с POSIX и работающую не хуже других альтернатив. Практически завершена разработка нового эвристического метода выявления соответствий с поддержкой поиска по множественным шаблонам (multi-pattern), который отличается заметным ускорением поиска по шаблонам. Из планов на будущее отмечается реализация поддержки возможностей, специфичных для GNU ...

URL: http://lists.freebsd.org/pipermail/freebsd-announce/2012-May...
Новость: https://www.opennet.ru/opennews/art.shtml?num=33836

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру