如何构建源码包?

如何构建源码包?

我是开源软件 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 的包的分步指南 :/

您能帮我指出一些不错的文章/教程/ Ask Ubuntu 答案吗?我必须承认我有点迷茫。例如,我无法获取有关一些非常具体的细节的信息:

  • 我的软件是使用 CMake 构建的。构建系统如何与打包过程集成?使用是make强制性的吗?
  • 如何指定软件的依赖项?GDevelop 使用插件SFML例如。
  • 有什么方法可以获取在 Launchpad 上构建的输出?我尝试上传一些源包,但上传完成后没有收到任何通知(我原本以为至少会收到错误消息或通知,但什么都没有)。我如何在收到源包后模拟其构建?

谢谢你的帮助 :)

答案1

刚刚看到我从来没有解释过我最终如何让该源包被 Launchpad 构建和接受 :) 因为 GDevelop 是开源的,所以对于想要创建这样一个包的人来说,最好的事情就是查看为该软件制作源包的脚本:https://github.com/4ian/GD/blob/master/Binaries/Packaging/PackageForUbuntu.sh

大部分工作由 完成debuild。构建系统是自动地猜猜哪个好,但如果您的软件需要额外的参数,它将无法工作:您可以使用rule文件

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

最后,正如您可能通过查看各种教程/文档所看到的,应该添加一些具有深奥内容的文件( compat, );)source/format

相关内容