版本控制系统中的RPM spec文件

4
我面临一个任务:从 c++(或其他任何语言)项目的源代码中构建 RPM 包,该项目由 Git 控制。我的问题是,在这个任务中应该把“.spec”文件存储在哪里?它应该独立于项目主要源代码存储还是包含在其中?
此任务的复杂性在于我参与不同的项目并使用不同的版本控制系统:SVN、Git、Mercurial。因此,我正在尝试找到最常见和方便的解决方案,而不引用特定版本控制系统的功能。

类似于https://dev59.com/u2rXa4cB1Zd3GeqPA5_u的版本控制RPM规范文件。 - MarkHu
1个回答

8
如果您直接参与这些项目,将.spec文件放在主代码库中似乎是合理的。毕竟,它只是一个文件,将其放在那里不需要版本控制系统做什么特别的事情。
如果您要维护第三方项目的软件包,我建议您有一个类似于https://github.com/RussianFedorahttps://github.com/RussianFedora/unzip的单独的存储库结构。这个结构恰好很简单和舒适 - 您可以在一个存储库中拥有您的spec文件,用于构建所选发行版的必要补丁,以及使用的上游源的校验和。

3
作为一个参与Debian的人,我同意:上游提供自己的“debianization”被认为是不好的做法,因为这被认为是下游(发行版维护者)的任务。所以,如果您认为自己是该软件包的下游,请提供规范文件,否则让下游决定如何打包您的东西。另一种方法是将规范文件保留为参考,例如在“contrib”目录下。 - kostix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接