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


索引

名称
描述
支持的 EAPIs
函数
EClass 变量
作者
维护者
报告 Bug
文件
参见

本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林尼治标准时间 03:27:01