如何管理 FreeBSD 端口树的本地补丁?

6 freebsd

在 FreeBSD 端口树中管理本地补丁的首选方法是什么。作为一个例子看看textproc/urlview。此端口安装url_handler.sh脚本。该脚本定义了用于不同 url 类型的应用程序。默认应用程序与我的系统不匹配。

那么该怎么办?过去我用过两种不太满意的方法:

  1. 构建并安装 vanilla 端口并直接编辑 `/usr/local/bin/url_handler.sh`。由于校验和已更改,这会破坏已安装端口的删除。这可以通过直接处理 `/var/db/pkg` 中的文件来避免,但这可能会变得很黑。
  2. 在 `/usr/ports/textproc/urlview/files` 中创建一个补丁文件,相应地在 `patch` 阶段修补脚本。但是,如果您使用 `portsnap`,这将失败,因为它会在更新端口树之前将目录清除干净。

你们是怎么处理这种事情的?

jya*_*yap 2

选项 2. 我有一些针对特定端口的补丁。如果有较新的版本,请更新您的 ports 树,然后复制修改后的补丁并手动运行“make patch”以查看补丁是否干净。然后“make”看看是否可以构建。