我应该如何创建 debian 包的本地分支?

Joh*_*ely 8 package-management debian aptitude

我希望维护一个 debian 包的本地分支。我需要修补一个最终会在官方软件包中修复的错误,但不会持续一段时间。

如何创建 .deb 包,以及如何使用它来在本地使用我的错误修复?

有问题的包包含一些脚本文件。

Dav*_*ley 9

这取决于是否有公开可用的 git 或 subversion 存储库。如果是这样,使用 git 来创建官方 repo 的分支可能是有意义的。

如果失败了,运气好的话,这个包会使用 dpatch 或 quilt 之类的东西,所以你可以在 debian/patches/ 中保留一个补丁。

如果您真的很不走运,那么每次手动发布新软件包时,您都将不得不更新补丁。无论如何,为此使用 git 并导入每个新版本可能是值得的。

构建 debian 软件包时,请确保安装了 build-essential 和 devscripts 软件包。

要实际进行更改,请运行

# apt-get source foo
Run Code Online (Sandbox Code Playgroud)

然后切换到 foo-1.2.3 目录并进行更改。

然后运行

# debuild -us -uc -b
Run Code Online (Sandbox Code Playgroud)

这将创建包。这将立即构建或告诉您需要先安装依赖项,然后再试一次。构建包将最终位于源代码上方的目录中。

我强烈建议更改 debian/changelog 文件中的软件包版本号,以免将本地构建的软件包与原始软件包混淆。您可以查看 dch 工具以更轻松地编辑此文件。