[[_freebsd_software_bill_of_materials]]
=== Перечень компонентов программного обеспечения FreeBSD (FreeBSD Software Bill of Materials - SBOM)

Ссылки: +
link:https://github.com/pkgconf/pkgconf/pull/429[pkgconf PR 429, добавляющий spdxtool] URL: link:https://github.com/pkgconf/pkgconf/pull/429[] +
link:https://spdx.github.io/spdx-spec/v3.0.1/[Документация SPDX Lite 3.0.1] URL: link:https://spdx.github.io/spdx-spec/v3.0.1/[] +
link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/json-ld/FreeBSD.jsonld[FreeBSD SPDX 3.0.1 JSON-LD файл: FreeBSD.jsonld] URL: link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/json-ld/FreeBSD.jsonld[] +
link:https://github.com/illuusio/freebsd-src/tree/freebsd-sbom/share/sbom[Исходные файлы для создания SBOM] URL: link:https://github.com/illuusio/freebsd-src/tree/freebsd-sbom/share/sbom[] +
link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/license.md[Текущее состояние сбора лицензий для SBOM в файле Markdown] URL: link:https://github.com/FreeBSDFoundation/alpha-omega-beach-cleaning/blob/illuusio/update-licenses/license.md[] +
link:https://reviews.freebsd.org/D53318[Добавление цели sbom в Makefile и необходимых Lua-скриптов] URL: link:https://reviews.freebsd.org/D53318[] +
link:https://reviews.freebsd.org/D53317[Lua-функции для обработки вывода команды make для определённых целей портов FreeBSD] URL: link:https://reviews.freebsd.org/D53317[] +
link:https://reviews.freebsd.org/D53316[Добавление модуля протоколирования на Lua в дерево портов FreeBSD и внедрение функций и модулей на языке Lua в порты] URL: link: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.
Эти приложения в основном находятся в каталогах [.filename]#usr.bin#, [.filename]#usr.sbin#, [.filename]#sbin# и [.filename]#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

//
// The FreeBSD Russian Documentation Project
//
// Original EN revision (21.02.2026): 1520076b50c9e09bbeb13ef65c46b11241278e51
//
