Пакеты, SDK и точки расширения#
После создания базовой системы в неё ставятся пакеты, формируется (по желанию) SDK-вариант и объявляются точки расширения - места, куда позже можно подключить расширения.
Пакеты среды#
Пакеты для среды добавляются флагом --package <пакет> (или -p,
повторяемо). Это набор библиотек, который получат все приложения, работающие на
этой среде. В манифесте им соответствует список packages.runtime.
SDK#
SDK - это среда для сборки приложений: к обычной среде добавляются заголовочные файлы, компиляторы и инструменты разработки.
--sdk(или-S) - дополнительно собрать SDK-вариант.--sdk-package <пакет>- пакет, устанавливаемый только в SDK (повторяемо).
Идентификатор SDK выводится из идентификатора среды по соглашению Flatpak: у
среды с именем, оканчивающимся на .Platform, окончание заменяется на
.Sdk, у остальных .Sdk дописывается в конец. Так среда
org.astralinux.Platform даёт org.astralinux.Sdk, а среда
org.astra.Qt даёт org.astra.Qt.Sdk.
В манифесте пакеты только для SDK задаются списком packages.sdk. Среда и её
SDK экспортируются в репозиторий как две отдельные ссылки и не перекрывают друг
друга.
Точки расширения#
Среда может объявлять точки расширения. Точка - это объявленное хостом место, в которое монтируется расширение (например, языковой пакет или драйверы). Само расширение собирается отдельно инструментом aft-extension (см. раздел Создание расширений (aft-extension)), а среда лишь объявляет, что такая точка существует.
Точки описываются в манифесте, в секции extensions. У каждой точки задаются
имя и каталог монтирования, а при необходимости - поддерживаемые версии,
признак набора локалей, добавление пути к библиотекам и другие параметры. Полный
перечень полей - в блоке Манифест среды выполнения.
extensions:
- name: org.astralinux.Platform.Locale
directory: share/runtime/locale
locale-subset: true
Чтобы расширение подключилось, его ветка при сборке должна совпадать с версией, объявленной у точки расширения.