我正在尝试基于当前没有 Debian 软件包的第三方程序创建一个全新的 Debian-ish 软件包(主要供私人使用,但我正在考虑将其发布在 GitHub 上)。
我已经整理好了所有基础知识(它构建了包并且可以工作),但是在尝试使用它创建 git 存储库时遇到了一些障碍。
我曾经git-buildpackage
从我的版本创建一个存储库.dsc
,并使用基本的构建选项,它工作得很好。我现在尝试使用 pbuilder 进行一些扩展的健全性检查,但遇到了文件问题README.md
。
上游不提供README.md
文件。我希望在我的存储库的根目录中有一个,以便浏览 GitHub 的人能够自动看到该信息。
dpkg-source
如果我添加文件而不添加补丁,我会很生气debian/patches
。
但似乎使用 git 存储库(至少使用 git 存储库git-buildpackage
)的推荐方法是让 master 分支不预先应用补丁(这有一定的意义,因为它会重复 - 特别是由于这种方式应用的补丁是通过.pc
子目录跟踪的)——但是如果我取消应用所有补丁,那么文件README.md
就会消失,这就违背了这一点。
我现在添加了一个debian/source/options
文件,其中包含:
extend-diff-ignore="README\.md$"
并且不包括创建文件的补丁。这实现了两个目标(master 是未打补丁的源,但包含一个README.md
文件,并且dpkg-source
在构建过程中不会对此感到不安)。缺点是该文件也不会出现在生成的源包(orig.tar.gz
和debian.tar.xz
)文件中的任何位置。
我可以接受这个,因为该文件并不是非常令人兴奋(主要是描述和一些如何从 git 构建它的说明),但这意味着 Git 存储库与源包“不同”。这是正确的做法吗?有没有更好的办法?