你可以手动修改外部依赖以:

  • 确保依赖项与 Omnibus 嵌入式软件包一起工作。
  • 修复上游维护者尚未解决的议题。

启动补丁文件

Omnibus 有一个特定的 DSL 和约定,可以在构建过程中自动发布和应用补丁。

要应用补丁文件,请使用 patch DSL 方法将包含更改的 .patch 文件存储在特定的目录结构中:

config/patches/<software-name>

例如,对于在执行 gitlab-rails 期间应用的补丁,将 .patch 文件存储在:

config/patches/gitlab-rails

创建补丁

要创建补丁文件,你可以使用:

  • diff 命令来比较原始文件和修改后的文件。
  • Git 来输出基于一个或多个提交的补丁。

使用 diff 创建补丁

使用 diff 命令创建补丁文件:

  1. 复制你正在更改的文件,并为新文件命名。
  2. 更改原始文件。
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

使用补丁

要修补一个或多个文件:

  1. 获取原始文件,通过下载、安装软件包或使用类似方法。
  2. 在每个原始文件中添加以下行:

    patch source: '<patch_filename>.patch', target: "#{<install_directory>}/embedded/<target_file>.txt"