你可以手动修改外部依赖以:
- 确保依赖项与 Omnibus 嵌入式软件包一起工作。
- 修复上游维护者尚未解决的议题。
启动补丁文件
Omnibus 有一个特定的 DSL 和约定,可以在构建过程中自动发布和应用补丁。
要应用补丁文件,请使用 patch
DSL 方法将包含更改的 .patch
文件存储在特定的目录结构中:
config/patches/<software-name>
例如,对于在执行 gitlab-rails
期间应用的补丁,将 .patch
文件存储在:
config/patches/gitlab-rails
创建补丁
要创建补丁文件,你可以使用:
-
diff
命令来比较原始文件和修改后的文件。 - Git 来输出基于一个或多个提交的补丁。
使用 diff
创建补丁
使用 diff
命令创建补丁文件:
- 复制你正在更改的文件,并为新文件命名。
- 更改原始文件。
diff -Naur <original_file> <new_file> > <patch_filename>.patch
使用 Git 创建补丁
使用 git diff
命令在两个 Git 提交之间创建补丁文件。你必须知道两个提交 ID。
git diff <commitid1> <commitid2> > <patch_filename>.patch
你还可以基于一个 Git 提交和基本 HEAD 创建补丁文件。
git diff <commitid1> > <patch_filename>.patch
使用补丁
要修补一个或多个文件:
- 获取原始文件,通过下载、安装软件包或使用类似方法。
-
在每个原始文件中添加以下行:
patch source: '<patch_filename>.patch', target: "#{<install_directory>}/embedded/<target_file>.txt"