TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)
  • Sqoop编译

  • Ranger编译

  • Phoenix编译

  • Dolphinscheduler编译

  • Doris编译

    • version-2.1.7

      • Doris_2.1.7 编译
      • [O] Doris 版本适配改造(一)
      • [O] Doris 版本适配改造(二)
      • [B] Doris 版本适配改造(一)
      • [B] Doris 版本适配改造(二)
      • [B] Doris 版本适配改造(三)
        • 第三步:禁用 submodule 自动下载,彻底固化 thirdparty 依赖
          • 1. 补丁放置路径与说明
          • 2. 完整的diff内容
          • 3. 应用方式与集成说明
          • 补丁生效位置
          • 补丁作用时机
          • 4. 终端反馈与图片关联说明
          • 5. 固化 thirdparty 依赖的目录要求
          • 6. 获取本地 thirdparty 固定包
  • Cloudbeaver编译

  • Atlas编译

  • Superset编译

  • Celeborn编译

  • Ozone编译

  • Impala编译

  • Trino编译

  • Paimon编译

  • Hudi编译

  • 组件编译-Bigtop-增强
  • Doris编译
  • version-2.1.7
JaneTTR
2025-06-22
目录

[B] Doris 版本适配改造(三)

# 第三步:禁用 submodule 自动下载,彻底固化 thirdparty 依赖

Doris 官方 build.sh 默认会通过 update_submodule 拉取子包(如 apache-orc、clucene),这在生产环境下极易导致构建结果漂移、依赖失控 。 本节将指导你如何应用专属补丁彻底关闭官方子包自动拉包,全部依赖走本地归档,确保编译稳定可控。


# 1. 补丁放置路径与说明

补丁完整内容请放在:

bigtop-packages/src/common/doris/patch1-NOT-USING-SUBMODULE.diff
1

该补丁将在 Doris 组件的 Bigtop 集成打包时自动应用。


# 2. 完整的diff内容


Subject: [PATCH] optimized: 不使用 doris 的 下载子包,因为子包会变
---
Index: build.sh
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/build.sh b/build.sh
--- a/build.sh	(revision 37f5d3ec9fb2933345c4411d9a581c84062f3de6)
+++ b/build.sh	(date 1736594835875)
@@ -501,8 +501,8 @@

# Clean and build Backend
if [[ "${BUILD_BE}" -eq 1 ]]; then
-    update_submodule "be/src/apache-orc" "apache-orc" "https://ghgo.xyz/https://github.com/apache/doris-thirdparty/archive/refs/heads/orc.tar.gz"
-    update_submodule "be/src/clucene" "clucene" "https://ghgo.xyz/https://github.com/apache/doris-thirdparty/archive/refs/heads/clucene.tar.gz"
     +#    update_submodule "be/src/apache-orc" "apache-orc" "https://ghgo.xyz/https://github.com/apache/doris-thirdparty/archive/refs/heads/orc.tar.gz"
     +#    update_submodule "be/src/clucene" "clucene" "https://ghgo.xyz/https://github.com/apache/doris-thirdparty/archive/refs/heads/clucene.tar.gz"
     if [[ -e "${DORIS_HOME}/gensrc/build/gen_cpp/version.h" ]]; then
     rm -f "${DORIS_HOME}/gensrc/build/gen_cpp/version.h"
     fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  • 核心变更:注释掉所有 update_submodule 调用,彻底屏蔽官方远程拉包。
  • 后续依赖只认本地 thirdparty 归档,确保可控、可复现。

# 3. 应用方式与集成说明

# 补丁生效位置

补丁会在 Bigtop Doris 组件的 RPM/SPEC 构建流程自动打上,无需手工 patch。

  • 如果你有自定义构建链路,请手动将 diff 应用到 Doris 源码 build.sh。

# 补丁作用时机

  • 应用补丁后,所有 Doris 构建均不再触发子包远程拉取,全部走本地包。
  • 若本地 thirdparty 目录无包,则构建会直接失败,避免依赖意外变动。

# 4. 终端反馈与图片关联说明

Doris 固化子包构建终端实录

提示

如上图,构建全流程无任何 update_submodule 拉包输出,所有依赖都从本地归档加载。不再出现外网依赖超时、404、内容漂移等问题 ,产物可溯源,构建强一致。

# 5. 固化 thirdparty 依赖的目录要求

所有 thirdparty 包建议提前手动归档到构建环境本地,例如:

thirdparty/
  ├── apache-orc-xxx.tar.gz
  ├── clucene-xxx.tar.gz
  ├── ...
1
2
3
4
  • 文件名需与构建脚本严格一致。
  • 新增依赖、升级包时请先归档本地并全局替换包名。

# 6. 获取本地 thirdparty 固定包

目前,Doris 编译所需的全部 thirdparty 子包我们已做本地归档管理,确保每次构建环境完全一致。 image-20250622113326251

笔记

如需获取 Doris 适配专用的 thirdparty 固定依赖包(包含所有常用子包),或希望复现本文档中的本地构建环境,欢迎联系作者。环境包归档

#Doris#源码编译#子包固化#构建一致性
[B] Doris 版本适配改造(二)
Cloudbeaver_25.1.0 编译

← [B] Doris 版本适配改造(二) Cloudbeaver_25.1.0 编译→

最近更新
01
bigtop-select 打包缺 compat 报错修复 deb
07-16
02
bigtop-select 打包缺 control 文件报错修复 deb
07-16
03
首次编译-环境初始化 必装
07-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式