我是菜鸟。我真的很想学习或者至少了解一下如何在 Ubuntu 中打包软件。
是否由软件包作者编译并打包?
或者它是由 Ubuntu 开发人员编译的?
Ubuntu 如何选择可以通过 apt 包管理器直接安装的软件包。
非常感谢 ELI5 的解释
谢谢
答案1
我建议选择一个软件包并跟踪它在 Ubuntu 中的创建过程,直至上游。我将使用gcc-10
(https://packages.ubuntu.com/focal/gcc-10),因为这是我查找的最后一个包。在包详细信息的右侧,你会看到主页 (上游线索)、维护者、变更日志等。编译由基础设施/构建者完成(机器而非人)...
编译在本地完成;然后经常上传到 PPA 以供我们自己和团队中的其他人测试,然后再提交源代码以上传到 Ubuntu 等。
有用的参考(但还有更多!)
但有很多指南,例如 Lubuntu 的指南可以在https://phab.lubuntu.me/w/packaging/
在评论中你问到paraview
链接可能有用(https://packages.ubuntu.com/impish/paraview) 显示 Ubuntu 开发人员维护该软件包,正如您所说;在顶部我看到它是一个宇宙包(即。仅社区支持)与上游开发者 Debian 科学团队(https://packages.debian.org/bookworm/paraview)例如我接下来可以查找https://tracker.debian.org/pkg/paraview寻找更多线索如果Ubuntu 更新日志还不够(https://changelogs.ubuntu.com/changelogs/pool/universe/p/paraview/paraview_5.9.0-2ubuntu1/changelog;查看变化;姓名/电子邮件等)。
Debian 是上游,即源头。
Ubuntu 软件包很大一部分来自上游。我参与了 Lubuntu (因此我提供我之前知道的链接);我们提供的 LXQt 在 Ubuntu 上比 Debian 的最近几个版本更新,因为 Debian 经常冻结,而且只为 Ubuntu/Lubuntu 打包更容易。Debian 不再冻结,所以 Lubuntu开发者/packagers 最近才开始讨论在 Debian 中打包下一个版本,所以它会回流到我们这里(因此 Debian 也从包装中受益... 许多开发者(但不是所有的)有 @debian 和 @ubuntu 电子邮件..您会发现,所以如果一个名字同时使用这两个名字,请不要感到惊讶!)
答案2
Ubuntu 目前有两个软件包系统,传统的 APT 系统和新系统 SNAP。前者继续用于核心系统组件和许多应用软件。后者用于应用软件。
APT 存储库中的软件由 Ubuntu 开发人员和 Ubuntu 社区从源代码编译并打包成.deb
软件包文件。软件包在进入官方 Ubuntu 软件源之前要经过质量控制流程。对于非核心软件包的应用程序,它们是否以及多快进入官方软件源在一定程度上取决于贡献者。
Ubuntu 打包指南向希望参与包装的人们介绍其技术工作原理。
Snap 上发布的软件由软件开发者编译和发布。再加上 Snap 独立于发行版,因此可以更轻松、更快速地向用户推送新版本的软件。