为Debian和Ubuntu构builddeb文件

尽pipe这些工具是相同的,但Ubuntu和Debian(也可能是其他基于Debian的发行版)之间的部分和分发名称明显不同。

例如,Debian的Lua库的Debian /控制文件可能会使用

Section: contrib/libdevel 

而Ubuntu会使用

  Section: universe/interpreters 

当Debian中不存在“universe”时,每个deb文件的最佳制作方法是什么,而Ubuntu中并不存在“contrib”,因为这些工具似乎都是在单个source / config目录中执行的:debian? 如何协调这一点?

注意:这个问题也适用于更改日志条目。

通常当我需要这样做时,我为每个我支持的系统创build单独的debian / *目录。 你可以用很多不同的方式来存储它们:也许是一个专门的源代码库,叫做“包装”,它包含了每个系统的目录。 然后,您可以使用构build或CI系统(如Jenkins,Travis CI或类似软件)来下载应用程序的源代码,下载正在构build包的系统的打包代码,然后开始构build过程。

一个你可能想要帮助简化这个工作的工具是pbuilder ,它可以很容易地通过使用chroot为许多不同版本的Debian或者Ubuntu构build一个软件包。

我也写了一篇关于如何使用pbuilder的文章 ,你可能会觉得很有帮助。