MULTIBUILD.ECLASS
章节:eclass-manpages (5)更新:2024 年 11 月
索引 返回主内容
名称
multibuild.eclass - 用于构建软件包多个变体的通用 eclass。描述
multibuild eclass 旨在提供一个通用的框架,用于构建软件包的多个“变体”(例如 multilib、Python 实现)。支持的 EAPIs
7 8函数
- multibuild_foreach_variant [<argv>...]
- 对启用的每个软件包变体重复运行传递的命令。
每次运行都将设置特定于变体的 BUILD_DIR,并将输出合并到 ${T} 中的单独日志中。
如果所有命令都返回 0,则该函数返回 0;否则返回第一个非零退出状态。但是,它仍然执行所有调用。建议在传递的函数内部调用 'die'。
- multibuild_for_best_variant [<argv>...]
- 对启用的软件包变体中的最佳变体运行一次传递的命令。
运行将设置正确的特定于变体的 BUILD_DIR,并将输出合并到 ${T} 中的单独日志中。
该函数返回命令的退出状态。
- multibuild_copy_sources
- 创建源树的每个变体副本。源树假定位于 ${BUILD_DIR} 中,如果前者未设置,则位于 ${S} 中。副本将放置在与 multibuild_foreach() 使用的 BUILD_DIR 匹配的目录中。
- multibuild_merge_root <src-root> <dest-root>
- 将目录树(伪根)从 <src-root> 合并到 <dest-root>(真实根)。这两个目录都必须是真实的绝对路径(即包括 ${D})。源根将被删除。
EClass 变量
- MULTIBUILD_VARIANTS (必需)
- 一个数组,指定 multibuild_foreach* 可以为其执行过程的所有启用的变体。
在 ebuild 中,它可以在全局范围内设置。Eclass 应在函数范围内本地设置它以正确支持嵌套。
示例
python_foreach_impl() { local MULTIBUILD_VARIANTS=( python{2_5,2_6,2_7} ... ) multibuild_foreach_variant python_compile }
- MULTIBUILD_VARIANT (由 Eclass 生成)
- 为其执行函数的当前变体。
示例值
python2_6
- MULTIBUILD_ID (由 Eclass 生成)
- multibuild 运行的唯一标识符。在简单的运行中,它等于 MULTIBUILD_VARIANT。在嵌套的 multibuild 环境中,它包含完整的选择树。
它可用于创建特定于变体的目录和文件。
示例值
amd64-double
- BUILD_DIR (由 Eclass 生成)
- 当前构建目录。在全局范围内,它应该包含一个“初始”构建目录。如果未设置,则使用 ${S}。
multibuild_foreach_variant() 将 BUILD_DIR 本地设置为基于 BUILD_DIR 的初始值的特定于变体的构建目录。
示例值
${WORKDIR}/foo-1.3-python2_6
作者
作者:Michał Górny <[email protected]>维护者
Michał Górny <[email protected]>报告 Bug
请通过 https://bugs.gentoo.org/ 报告 Bug。文件
multibuild.eclass参见
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/multibuild.eclass
索引
本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林尼治标准时间 03:27:01