Перечень компонентов программного обеспечения FreeBSD (FreeBSD Software Bill of Materials - SBOM)
Ссылки:
pkgconf PR
429, добавляющий spdxtool URL: https://github.com/pkgconf/pkgconf/pull/429
Документация
SPDX Lite 3.0.1 URL: https://spdx.github.io/spdx-spec/v3.0.1/
FreeBSD SPDX 3.0.1 JSON-LD файл: FreeBSD.jsonld URL: https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/json-ld/FreeBSD.jsonld
Исходные файлы для создания SBOM URL: https://github.com/illuusio/freebsd-src/tree/freebsd-sbom/share/sbom
Текущее состояние сбора лицензий для SBOM в файле Markdown URL:
https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/license.md
Добавление цели sbom в
Makefile и необходимых Lua-скриптов URL: https://reviews.freebsd.org/D53318
Lua-функции для
обработки вывода команды make для определённых целей портов
FreeBSD URL: https://reviews.freebsd.org/D53317
Добавление модуля
протоколирования на Lua в дерево портов FreeBSD и внедрение функций
и модулей на языке Lua в порты URL: https://reviews.freebsd.org/D53316
Контакт: Tuukka Pasanen <tuukka.pasanen@ilmi.fi>
Проект по созданию перечня компонентов программного обеспечения (SBOM) ведётся с мая, его целью является предоставление необходимых инструментов для создания SBOM из портов FreeBSD и базовой системы.
Одним из основных событий в IV квартале 2025 года стала передача spdxtool в вышестоящий (upstream) проект pkgconf. Переданный код гарантирует, что инструменты pkgconf будут включать в себя средство создания SBOM, совместимое с профилем SPDX Lite 3.0.1, в следующем релизе.
Ещё одной существенной активностью стал сбор информации о приложениях, являющихся частью базовой системы FreeBSD. Эти приложения в основном находятся в каталогах usr.bin, usr.sbin, sbin и bin внутри git-репозитория FreeBSD. Проект FreeBSD Alpha Omega Beach Cleaning сыграл важную роль, так как он собирает информацию о сторонних библиотеках и приложениях, и я внёс свой вклад в эти усилия. Теперь есть Lua-скрипты и файл, способные создавать необходимые файлы для spdxtool из pkgconf, которые можно экспортировать в формате SPDX JSON-LD.
Инструменты, использующие эту собранную информацию, и текущие необработанные данные можно найти в моём форке дерева исходных текстов FreeBSD (src). В основном, теперь собираются и обрабатываются все C-файлы и заголовочные файлы, содержащие SPDX-License-Identifier.
Также были предприняты усилия по передаче в вышестоящий проект (upstream) создания SBOM для каждого пакета из Коллекции портов FreeBSD, но эта работа застопорилась и требует обновления.
Если вы хотите помочь этим усилиям:
-
Добавьте заголовки SPDX-License-Identifier в C-файлы и заголовочные файлы в дереве исходных текстов FreeBSD (src).
-
Проверьте, корректен ли текущий SPDX-License-Identifier в файлах.
-
Проверьте точность собранной информации. В настоящее время добавляются все инструменты, имеющие справочную страницу (man page) для разделов 1, 7 и 8, с описаниями, взятыми со страницы Справочника с помощью скрипта. Они могут быть неверны.
Спонсор: Фонд FreeBSD
Дата последнего изменения: 24 февраля 2026 г. выполнил Vladlen Popolitov
