答案1
我设法找到了答案。首先,这个简短的描述这也是我在这里主要问的问题。
构建系统的核心是dpkg-buildpackages
,它使用fakeroot
,然后运行debian/rules
(即 makefile)来构建软件包。如果您要为运行它的版本构建内部使用的软件包,那么这可能就足够了。
另一方面,如果您打算为debian
/做出贡献ubuntu
,那么您至少要使用debuild
,它可以运行lintian
并签署文件。
如果您想要针对不同的debian
/ubuntu
版本,您将使用pbuilder
,除其他功能外,它还会在干净的环境中构建软件包,而不会被您已安装的软件包所破坏,以查看实际的依赖关系。您可能会考虑使用pbuilder-dist
来进一步简化问题。
据说pdebuild
这是“pbuilder 执行 debuild 的方式”。我没有看到它运行lintian
,但这可能不符合pbuilder
方式。
cowbuilder
然后,如果你想要加快构建软件包的速度(包装?) ,还有pbuilder
。还有一些用于从git
存储库构建的工具,我还没有深入研究。
更新型多巴胺我被告知#debian-mentors
“sbuild
其行为与 相同buildd
,但惊喜较少”,“pbuilder
对实验的支持是错误的”,“另一方面,sbuild
仍然缺少从构建过程中移除网络的功能”,并且pbuilder
没有维护。移除网络是必要的,因为构建包不应该依赖于它的存在,它们不应该下载任何东西。
schroot
从实验据称能够隔离(取消共享)网络。
答案2
您没有过多谈论您的源环境。
如果它是开源的并且只有一个项目(目录下有一个控制文件debian/
),那么https://launchpad.net确实是一个好办法。或多或少,你只需要把文件弄好,他们会处理剩下的事情。
即使是现在,获取正确的文件对我来说也有点不可思议,但关于如何创建包的文档已经很多了。你可以从一个非常简单的示例开始,然后花时间添加其他选项/功能。这样你就不必一次学会所有的细节了。