跳至内容

模块化

有一些软件包使用了名为流的功能。模块化使得在同一个仓库中拥有同一个软件包的多个版本成为可能,并支持版本切换。为了能够构建模块软件包,我们使用了名为“模块构建服务”的东西,简称“MBS”。它也称为“fm-orchestrator”。

具有模块化条目的软件包不应直接从其 dist/ 仓库构建,因为这样不会将该软件包正确标记为流。

正确的 {name}.yaml 文件在使用 srpmproc 导入时生成,并从 SOURCES/modulemd.src.txt 派生。

Koji 设置

MBS 应该能够使用内容生成器,以便 Koji 可以管理工件。要启用内容生成,请对数据库运行以下查询

insert into content_generator (name) values ('module-build-service');
insert into btype (name) values ('module');

使用以下命令授予 koji 上的 mbs 用户 cg-access 权限

koji grant-cg-access mbs module-build-service

还要创建一个名为 modular-updates-candidate 的标签,使用以下命令:

koji add-tag modular-updates-candidate

模块化软件包应添加到此标签中。

MBS

需要最新的 MBS 版本。版本 2.32 缺少标签上的 mock.yum.module_hotfixes=1 标志,并且 DNF 故障安全机制会破坏构建。

有关模块化和我们如何利用 MBS 的更多信息,请参见此处