Создание собственных пакетов из портов с нужными опциями используя Poudriere
- Информация о материале
- Автор: sapatgusom

Официальный репозиторий пакетов FreeBSD предоставляет бинарные пакеты, собранные с параметрами по умолчанию. Если Вам нужны пакеты, скомпилированные с нужными опциями, то есть два варианта: собрать пакеты вручную из портов на каждом сервере/десктопе или использовать Poudriere для однократной сборки пакетов с нужными опциями и их распространения в виде полноценного репозитория.
Poudriere — это тот же инструмент, который проект FreeBSD использует для сборки своих официальных пакетов. Он создает чистые среды jail, собирает порты изолированно и создает подписанный репозиторий пакетов.
Создание портов непосредственно на производственном сервере — сложная задача. Зависимости сборки загрязняют систему. Сборка может завершиться с ошибкой на полпути, оставив частично неиспользованное состояние. На разных серверах могут использоваться разные параметры компиляции для одного и того же порта. Poudriere решает все эти проблемы:
- Чистые сборки : каждая сборка выполняется в новой среде (jail). Никакие артефакты сборки или зависимости не попадают на хост.
- Воспроизводимость : одна и та же версия дерева портов и параметры всегда приводят к созданию одних и тех же пакетов.
- Параллелизм : Poudriere создает несколько портов одновременно, используя все ядра ЦП.
- Работа репозитория : Результат - совместимый репозиторий с корректным каталогом и возможностью подписи.
- Журнал аудита : записи для каждой сборки, четко показывающие успех, неудачу и пропущенные порты.