如何构建源包?

我是一个名为GDevelop的开源软件( https://github.com/4ian/GD )的首席开发人员:我想在Ubuntu上发布它并从Launchpad平台中获益,以便最近自动编译它Ubuntu版本。

现在,我发布了一个可以正常安装的.deb软件包。 该程序包使用调用dpkg的自制脚本“手动”构建。 它运行良好,但我只能为单个版本的Ubuntu(我用来开发软件的那个)构建软件,如果GDevelop有PPA,显然会更好,而不是要求用户去GDevelop网站上每次发布新版本时都会下载最新的.deb文件。

但是我很难构建一个源代码包:我一直在阅读这篇文章https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage ,但是Ubuntu打包指南的链接已经破了。 我一直在寻找信息,网上到处都有很多关于打包的文章,但大多数都没有从源头开始的分步指南,直到我准备好发送到Launchpad的包:/

你能帮我指点一些好的文章/教程/询问Ubuntu的答案吗? 我必须承认我有点失落。 例如,我无法获得有关某些非常具体细节的信息:

  • 我的软件是使用CMake构建的。 构建系统如何与包装过程集成? 使用make强制性的吗?
  • 如何指定软件的依赖关系? 例如,GDevelop使用wxWidgetsSFML
  • 有什么方法可以获得在Launchpad上制作的构建的输出吗? 我试图上传一些源代码包,但上传完成后我没有通知(我除了得到至少错误消息或通知,但没有)。 当我得到源包时,如何模拟源包的构建?

谢谢你的帮助 :)

刚看到我从未解释过我是如何最终获得构建并被Launchpad接受的源包:)由于GDevelop是开源的,对于想要创建这样的包的人来说,最好的办法就是查看制作该软件的源代码包: https : //github.com/4ian/GD/blob/master/Binaries/Packaging/PackageForUbuntu.sh

大部分工作都是通过debuild完成的。 构建系统是自动猜测的,这很好但是如果你的软件需要额外的参数它将无法工作:你可以使用rule文件覆盖传递给打包工具的大多数参数。

应在control文件中列出构建依赖项。 然后在Launchpad上构建时计算实际依赖项。

最后你可能已经看过各种教程/文档了,应该添加一些带有深奥内容的文件( compatsource/format );)