解决-Step1-解除限制拥抱deb全网首创
操作背景
bigtop-select 默认只允许 rpm 体系编译,而不支持 deb。如果直接按官方流程打 deb 包,一定会报错! 下面只需一个小细节,既能支持 rpm 也能一键打出 deb。
# 1. 热热身,定位 bigtop.bom
我们先进入 bigtop 目录,找到核心的 bigtop.bom
文件。
如下图所示:
# 2. 搜索 bigtop-select 字样
直接在 bigtop.bom
文件中搜索 bigtop-select
关键字,可以看到如下配置片段:
'bigtop-select' {
name = "bigtop-select"
relNotes = "Service package for Apache Bigtop information to use Ambari"
version { base = bigtop.version; pkg = base - "-SNAPSHOT"; release = 1 }
tarball { destination = "bigtop-select-${version.base}.tar.gz" }
// packaging = 'rpm'
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 3. 注释 packaging = 'rpm'
提示
关键一步:
把 packaging = 'rpm'
这一行注释掉(或者直接把整个块注释)。这样 deb/rpm 都不会被限制,后续打包不会因类型受限而 fail。
位置 | 默认行为 | 修正后效果 |
---|---|---|
packaging = 'rpm' | 仅支持 rpm | deb/rpm 都支持 |
# 4. 亲测有效,效果总结
修改完成后,不仅 deb 包可以顺利打出来,原有的 rpm 包也不受影响,真正实现“一套源码,双体系产出”。
注意
注意: 如果不解除这个限制,后续所有关于 deb 的 build 步骤都会报错(比如 gradle bigtop-select-pkg),无论你目录和 rules 多么完善都没用!
- 01
- bigtop-select 打包缺 compat 报错修复 deb07-16
- 02
- bigtop-select 打包缺 control 文件报错修复 deb07-16
- 03
- 首次编译-环境初始化 必装07-16