我正在使用pkg_deb为不同的目标平台构建debian软件包。我想在BUILD文件中使用相同的目标来实现这一目标,但是属性“ package”和“ architecture”不能使用“ select”,因为它们在规则本身的“ outputs”属性中使用。
是否有其他方法可以使“ package”和“ architecture”属性可配置?
答案 0 :(得分:0)
我也遇到了这个问题。我认为问题在于体系结构如何在宏中使用,而不是在规则中进行扩展。我已经打开了pull request,但目前尚不清楚它可能如何与兼容性约束相互作用。
答案 1 :(得分:0)
简短的回答是:
select
上使用 architecture
并让默认包命名创建 {package_name}-{version}-{architecture}.deb
(与 .changes 类似)更长的答案是
select
package_variables
从 C++ 工具链中提取 CPU 名称有关如何执行此操作的示例,请参见 https://github.com/bazelbuild/rules_pkg/tree/main/examples/naming_package_files