<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Отчёт о развитии FreeBSD за четвёртый квартал 2016 года]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=38552&amp;type=atom" />
	<updated>2017-02-19T03:35:43Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=38552</id>
		<entry>
			<title type="html"><![CDATA[Отчёт о развитии FreeBSD за четвёртый квартал 2016 года]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=452490#p452490" />
			<content type="html"><![CDATA[<p>Опубликован отчёт о развитии проекта FreeBSD с октября до декабрь 2016 года.&nbsp; &nbsp;<br />Основные достижения:&nbsp; &nbsp; &nbsp; <br /></p><ul><li><p><strong>Система</strong>&nbsp; &nbsp; &nbsp;<br /></p><ul><li><p>Отмечается значительный прогресс в организации динамического связывания объектных файлов FreeBSD с использованием&nbsp; компоновщика LLD, развиваемого проектом LLVM. <br />Изменения, принятые в основные кодовые базы LLD и FreeBSD позволили осуществить связывание всей базовой системы FreeBSD/amd64 с использованием LLD. В настоящее время ведётся работа по обеспечению сборки дерева портов с использованием LLD, постепенно устраняются проблемы, всплывающие в портах и LLD. На момент написания отчёта LLD уже мог применяться для связывания около 95% портов для архитектуры&nbsp; amd64;&nbsp; &nbsp; &nbsp;</p></li><li><p>Во FreeBSD HEAD добавлена начальная реализация фильтра&nbsp; /usr/sbin/prometheus_sysctl_exporter для формирования метрик о состоянии системы для платформы мониторинга Prometheus. Целью проекта является возможность экспорта&nbsp; всего дерева sysctl в виде метрик к Prometheus. Развиваемая возможность в том числе может быть использована для упрощения отладки разработчиками ядра, например, добавив новый счётчик можно построить график с отражением динамики наступления определённых событий в ядре;&nbsp; &nbsp; &nbsp;<br /></p></li><li><p>Налажено автоматизированное тестирование в системах непрерывной интеграции (Travis CI и Jenkins)&nbsp; библиотеки Libarchive, предоставляющей средства для работы с различными форматами архивов и сжатых файлов, которая используется в таких BSD-утилитах, как tar, cpio, ar, unzip и pkg. <br />Проведена чистка кода и Fuzzing-тестирование, что позволило выявить порцию ошибок и уязвимостей. Из функциональных улучшений отмечается поддержка NFSv4 ACL для архивов pax, которая уже перенесена во FreeBSD-CURRENT, что даёт возможность сохранять и восстанавливать NFSv4 ACL из tar-архивов;&nbsp; &nbsp; </p></li><li><p>Началось воплощение проекта по созданию дополнительного репозитория для сборочного инструментария под лицензией GPLv3, который&nbsp; позволит ускорить развитие портов с внешними инструментами и пакетами на архитектурах, не поддерживаемых в LLVM на должном уровне;&nbsp; </p></li><li><p>Обсуждается вопрос перехода на реализацию Unicode _STDC_ISO_10646_, уже используемую в Linux glibc;&nbsp; &nbsp;</p></li><li><p>В рамках кампании по сбору пожертвований в 2016 году собрано более полутора миллионов долларов. Кроме оплаты работы нескольких инженеров в режиме полного рабочего дня, в 2016 году профинансированы проекты по разработке порта для архитектуры&nbsp; arm64, интеграции фреймворка виртуализации VIMAGE (базируется на Jail и виртуальном сетевом стеке VNET), усовершенствованию инструментария и интеграции динамического межсетевого экрана blacklistd. Введены в строй два новых сервера для сборки релизов, четыре сервера для сборки пакетов, сервер непрерывной интеграции (ci.FreeBSD.org),&nbsp; два сервера ThunderX&nbsp; для сборки пакетов для архитектуры arm64,&nbsp; четыре вспомогательных сборочных сервера.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </p></li></ul><p>&nbsp; &nbsp; </p></li><li><p><strong>Изолированные окружения, эмуляторы, безопасность и ограничения ресурсов</strong>&nbsp; &nbsp; &nbsp; <br /></p><ul><li><p>Развивается проект по обеспечению повторяемых сборок FreeBSD, при которых сборка одних и тех же исходных текстов приводит к генерации тождественных бинарных файлов, совпадающих побитово, что позволяет любому желающему убедиться в том, что сборка ISO-образа произведена из заявленных исходных текстов. За отчётный период проведена работа по интеграции подготовленных изменений в базовую систему FreeBSD. Обеспечена возможность повторяемой сборки базовой системы (ядро и окружение пользователя). После базовой системы усилия разработчиков смещаются на дерево портов. В настоящее время число портов, для которых поддерживаются повторяемые сборки находится на уровне 80%;&nbsp; &nbsp;</p></li><li><p>К включению в состав FreeBSD HEAD и STABLE готовится обновление пакета OpenBSM 1.2 alpha 5 с открытой реализации Sun Basic Security Module (BSM) Audit API, предоставляющего средства для управления аудитом системы;&nbsp; &nbsp; </p></li><li><p>Продолжается развитие набора драйверов для работы в гостевых системах под управлением гипервизора Hyper-V и облачной платформы Azure. За отчётный период проведена оптимизация производительности сетевого драйвера, реализована поддержка live-бэкапов виртуальных машин и возможность проброса устройств PCIe, добавлена поддержка vDSO для ускорения выполнения вызова gettimeofday(2). Подготовлен образ FreeBSD 11.0 для Azure;&nbsp; </p></li><li><p>Обеспечены регулярные сборки&nbsp; для&nbsp; облачных окружений Amazon EC2 с автоматической загрузкой снапшотов и релизов для всех ргионов.&nbsp; &nbsp;По данным каталога AWS Marketplace более 800 пользователей уже применяют FreeBSD/EC, а число активных экземпляров FreeBSD в облаке Amazon достигло 2000 (статистика не учитывает установки из консоли или через EC2 API). Добавлена поддержка сервиса&nbsp; Amazon Simple Systems Manager (&quot;run command&quot;).&nbsp; Релиз FreeBSD 11.0 вышел с поддержкой расширенных сетевых возможностей окружений EC2 C3, C4, R3, I2, D2 и M4 (кроме m4.16xlarge) и оптимизацией дисковой подсистемы (примерно на 20% возросла пропускная способность);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p></li></ul></li><li><p><strong>Системы хранения и файловые системы</strong>&nbsp; &nbsp; <br /></p><ul><li><p>Продолжается разработка порта распределённого хранилища Ceph для FreeBSD. Порт пока охватывает только объектное хранилище RADOS (Object Storage) и инструментарий.&nbsp; Блочное устройство RBD (Ceph Block Device) и&nbsp; файловая система CephFS пока не готовы. Итоговой целью проекта является предоставление возможности развёртывания кластера Ceph с узлами хранения на базе FreeBSD и ZFS, а также поддержка запуска виртуальных машин bhyve на виртуальных дисках, развёрнутых поверх блочного устройства Ceph RBD. За отчётный период реализация RBD доведена до возможности сборки и использования для управления блочными устройствами RADOS, переработан код для работы с потоками и поллингом, налажен процесс сборки компонентов ceph в системе непрерывной интеграции;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </p></li></ul><p>&nbsp; </p></li><li><p><strong>Поддержка оборудования</strong>&nbsp; &nbsp; &nbsp;<br /></p><ul><li><p>Реализована поддержка I2C, GPIO и SPI для материнской платы MinnowBoard на базе Intel Atom E38xx SoC, относящейся к категории Open Hardware;&nbsp; &nbsp; &nbsp;</p></li><li><p>В основной состав FreeBSD приняты изменения, необходимые для работы потребительскогих инфракрасных портов (CIR,&nbsp; Consumer IR) на системах с ARM-процессорами Allwinner. Драйвер основан на фреймворке evdev, пока может работать только на приём и протестирован на платах Cubieboard2 (A20 SoC), используя пакет lirc и инфракрасный пульт управления от проекта dfrobot; </p></li><li><p>Продолжена работа по усовершенствованию поддержки 64-разрядной архитектуры ARM64 (AARCH64). Добавлена поддержка Raspberry Pi 3, но&nbsp; WiFi и Bluetooth пока не работают из-за неготовности кода для шины SDIO. Добавлена поддержка доступа ядра к регистрам операций с плавающей запятой (FPR, Floating-point register), использующая аналогичный с архитектурами i386 и amd64 программный интерфейс ядра (KPI). На системах ARMv8 также удалось реализовать поддержку инструкций AES, позволивших заметно поднять производительность операций AES на платах ThunderX. При&nbsp; манипуляции блоками памяти задействованы оптимизированные для процессоров Cortex варианты функций memcpy и memmove. Реализована возможность загрузки на системе SoftIron Overdrive 3000, используя ACPI;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p></li></ul><p>&nbsp; &nbsp; &nbsp;</p></li><li><p><strong>Приложения и система портов</strong>&nbsp; &nbsp; &nbsp; &nbsp;<br /></p><ul><li><p>В дереве портов по умолчанию задействован набор компиляторов GCC 4.9, который теперь представлен как lang/gcc и используется при указании флага &quot;USE_GCC=yes&quot; (ранее применялся GCC 4.8). Порт lang/gcc49 обновлён до версии GCC 4.9.4, а порт lang/gcc6 до версии&nbsp; GCC 6.3. В качестве планов на будущее отмечен перевод lang/gcc и USE_GCC=yes на ветку GCC 5 и обеспечение поддержки архитектуры AArch64;&nbsp; &nbsp;</p></li><li><p>Дерево портов FreeBSD преодолело рубеж в 27000 портов (на 700 портов больше, чем в прошлом отчёте), число незакрытых PR держится на отметке в 2250. За отчётный период внесено 6871 изменений от 176 разработчиков. Права коммиттера получили три новых участника - Nikolai Lifanov (lifanov), Jason Bacon и Mikhail Pchelin (misha), отказался от прав Edwin Groothuis (edwin), лишился прав из-за неактивности в течение 19 месяцев - John-Mark Gurney (jmg).&nbsp; <br />Добавлены два новых USES-набора: lxqt и varnish. Обновлены версии портов, предлагаемые по умолчанию: varnish 4, GCC 4.9, Perl 5.24 и Python 3.5. Прекращена поддержка портов с версиями Perl 5.18 и Linux Fedora 10 (по умолчанию сейчас Linux CentOS 6). Обновлены версии pkg 1.9.4, Firefox 50.1.0, Firefox-esr 45.6.0, Chromium 54.0.2840.100, Ruby 2.1.10 / 2.2.6 / 2.3.3, node.js 7 (ветка node.js 6 отделена как LTS). Для FreeBSD 11 налажена сборка пакетов для архитектур mips, mips64 и armv6;&nbsp; &nbsp; </p></li><li><p>Продолжается развитие компонентов графического стека. Из ядра Linux 4.9 в веку drm-next портированы свежие DRM-драйверы i915 и amdgpu. Доведён до частично работоспособного вида&nbsp; KMS-драйвер amdgpu, в котором ещё остаётся несколько известных существенных проблем. Добавлена поддержка GPU AMD, начиная Southern Islands и заканчивая Polaris. В драйвере Intel обеспечена поддержка чипов Kaby Lake. Создана ветка xserver-mesa-next-udev, в которой развивается порт&nbsp; с&nbsp; Mesa 13.0, также включающий&nbsp; исправления для новых GPU AMD. Ветка примечательна использованием прослойки&nbsp; libudev-devd для формирования для Mesa окружения, близкого к Linux;&nbsp; &nbsp; &nbsp; &nbsp;</p></li><li><p>Отмечен прогресс в разработке порта с пользовательским окружением LXQt, развиваемым объединённой командой разработчиков проектов LXDE, Razor-qt и Maui/Hawaii. В порты импортированы средства разработки devel/lxqt-build-tools, devel/liblxqt, devel/qtxdg и&nbsp; x11/libfm-qt,&nbsp; а также развиваемые проектом LXQt просмотрщик фотографий (graphics/lximage-qt) и файловый менеджер (x11-fm/pcmanfm-qt). Обновлены порты x11/qterminal 0.7.1 и x11-toolkits/qtermwidget 0.7.1;&nbsp; &nbsp; &nbsp;</p></li><li><p>Обновлены порты, связанные с проектом Mono: Mono 4.6.2.7,&nbsp; &nbsp; &nbsp; MonoDevelop 6.1.1.15, 6.1.2.44 и&nbsp; FSharp 4.0.1.20. Флаг&nbsp; &nbsp;&quot;USES=mono&quot; расширен для упрощения использования пакетов Nuget, применяемых в FSharp, MonoDevelop и OpenRA. Началось портирование кодовой базы .NET Core;&nbsp; </p></li><li><p>Порт&nbsp; emulators/wine адап адаптирован для использования Xinerama и GNUTLS (требуется для таких приложений, как Evernote и World of Warcraft). В рамках порта emulators/wine-devel доступна ветка Wine 2.0. Из открытых задач называется портирование WoW64;&nbsp; &nbsp; &nbsp;</p></li><li><p>Обновлены порты, связанные с десктоп-окружением Xfce:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />audio/xfce4-mpc-plugin 0.5.0&nbsp; &nbsp; &nbsp; <br />deskutils/xfce4-notifyd 0.3.4&nbsp; &nbsp; &nbsp; <br />graphics/ristretto 0.8.1&nbsp; &nbsp; &nbsp; <br />sysutils/xfce4-diskperf-plugin 2.6.0&nbsp; &nbsp; &nbsp; <br />sysutils/xfce4-battery-plugin 1.1.0&nbsp; &nbsp; &nbsp; <br />sysutils/xfce4-fsguard-plugin 1.1.0&nbsp; &nbsp; &nbsp;<br /> sysutils/xfce4-netload-plugin 1.3.0&nbsp; &nbsp; &nbsp; &nbsp;<br />sysutils/xfce4-systemload-plugin 1.2.0&nbsp; &nbsp; &nbsp; <br />sysutils/xfce4-wavelan-plugin 0.6.0&nbsp; &nbsp; &nbsp; <br />x11/xfce4-clipman-plugin 1.4.1&nbsp; &nbsp; &nbsp; <br />x11/xfce4-conf 4.12.1&nbsp; &nbsp; &nbsp; <br />x11/xfce4-dashboard 0.6.1&nbsp; &nbsp; &nbsp;<br /> x11/xfce4-terminal 0.8.2&nbsp; &nbsp; &nbsp; <br />x11/xfce4-whiskermenu-plugin 1.6.2&nbsp; &nbsp; &nbsp; <br />x11-clocks/xfce4-datetime-plugin 0.7.0&nbsp; &nbsp; &nbsp; <br />x11-wm/xfce4-panel 4.12.1&nbsp; &nbsp; &nbsp; <br />www/xfce4-smartbookmark-plugin 0.5.0&nbsp; &nbsp; &nbsp; &nbsp;<br />sysutils/xfce4-settings 4.13.0&nbsp; &nbsp; &nbsp; <br />x11/libexo 0.11.2&nbsp; &nbsp; &nbsp; <br />x11/xfce4-whiskermenu-plugin 2.0.3&nbsp; &nbsp; &nbsp;</p></li><li><p>Из соображений политкорректности удалён порт&nbsp; misc/jive с реализацией фильтра для преобразования текста на английском языке в пародию на афроамериканский сленг;&nbsp; &nbsp; &nbsp; &nbsp;<br /></p></li><li><p>Порт devel/gdb обновлён до GDB 7.12. В основную кодовую базу GDB, на основе которой подготовлен релиз GDB 7.12, включены подготовленные разработчиками FreeBSD исправления для поддержи точек останова (catchpoints) для системных вызовов. В GDB 7.12 также включены дополнительные улучшения для трассировки vfork(). Для включения в будущие выпуски GDB переданы патчи с реализацией поддержки ядра FreeBSD/mips и возможностью отладки исполняемых файлов для архитектутры mips.&nbsp; &nbsp; </p></li></ul></li></ul><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; Источник: <strong><a href="http://www.opennet.ru/opennews/art.shtml?num=46071">http://www.opennet.ru/opennews/art.shtml?num=46071</a></strong><br />&nbsp; &nbsp; <br /><a href="http://www.opennet.ru/opennews/art.shtml?num=46071">_источник</a></p>]]></content>
			<author>
				<name><![CDATA[R2-D2]]></name>
				<uri>https://linuxforum.ru/profile.php?id=40794</uri>
			</author>
			<updated>2017-02-19T03:35:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=452490#p452490</id>
		</entry>
</feed>
