寒冬将至,把你的代码提交进来!
2013年9月5日 | Jos Poortvliet | 无许可
已经九月了!你没注意到吗? 坏天气要来了,很快就会冻僵了!
根据路线图,openSUSE Factory 的完全功能冻结将在9月19日到来。那天,openSUSE 13.1 Beta 将会看到刺眼的光芒。
但现在,工具链和基本系统已经深度冻结,只有叶子包还有时间赶进来。确切地说,还有两周,14天,Factory 将迎来寒冬。在它们冻僵之前,提交你的包更新吧!继续阅读,了解如何做到。
关于 Factory
Factory 是 一个仓库 在 openSUSE 的 Open Build Service 上。 拥有 近 6K 个包,它是最大的 OBS 项目,也是我们所做事情的核心。 Factory 由 openSUSE 发布团队维护。 包从开发项目通过 Devel Projects 流入 Factory。

Devel 项目
Factory 开发模型描述了包开发发生在devel 项目中。正如其名,devel 项目是一个为特定包组(如多媒体、GNOME、KDE 或内核)进行开发的项目。
每个 devel 项目都有其自身的过程、规则和沟通渠道,以适应它们的需求。通常可以在项目主页上找到相关信息。否则,在 IRC 或 Factory 邮件列表中提问也可以。目前向 factory 输送的 devel 项目可以在 此页顶部的下拉菜单中找到。可以在 此处找到 Open Build Service 中所有公共项目的列表。
openSUSE 团队最近完成了对整个开发过程的更详细的文档编写,如果您感兴趣,可以从 此页开始,但请记住:兔子洞很深!
BURPing!
假设 devel 项目中有一个包过时或损坏。您可能需要这个包并希望修复它。现在您可以轻松地在 OBS 中分支它并获得一个修复后的包。但是,为什么不将修复贡献回 Factory 呢?这样 - 您就不必维护它了。由于 OBS 的协作功能,合并更改非常容易。一旦您分支并修复了包,创建一个提交请求,就完成了。devel 项目的维护者会收到它并合并更改。这个过程被称为 Branching(分支)、Updating(更新)和 Requesting a Package(请求包)(BURPing)。请参阅下图或阅读更多信息 在此页,了解命令行步骤。
引入新包
你需要什么?不多。您不需要“批准”或拥有任何特殊技能,除了构建包的能力。而且这并不难,特别是考虑到有这么多开发人员乐于帮助您!提示:复制一个现有的包并将其修改成您需要的。
如前所述,Factory 的包必须通过 Devel 项目。原因很简单:作为一个团队,维护者可以比单独工作做得更好。一个 devel 项目为您提供有关您工作的反馈和需要的帮助。当然,它还可以让您的软件进入成千上万用户的手中!您可以在 此页上的下拉菜单中找到合适的 devel 项目,或者,如果这不能提供太多信息,请在 factory 邮件列表中提问。
因此,一旦您找到了合适的 devel 项目(请参阅 此页上的下拉菜单),就该联系团队并告诉他们您想引入一个包了。最简单的方法是提交它!创建一个提交请求,输入 devel 项目的详细信息(请参阅 BURP 图片中的示例),然后发送它。如果您找不到合适的 devel 项目,可以使用 catchall 项目 devel:openSUSE:Factory,甚至可以启动一个新的 devel 项目。启动一个新的 devel 项目意味着在 factory 邮件列表中提问,您会得到关于您的包以及是否需要单独的 devel 项目的输入。
在您找到一个 devel 项目后,您可以将您的包提交到 openSUSE:Factory。提交请求必须包含有关包的信息。最好在 opensuse-factory 列表中介绍该包,并在您的提交请求中指向该介绍。一个好的介绍包含有关上游项目状态和可维护性的信息,以及将其包含在发行版中的目的是什么。
以上所有操作都可以通过 OBS 的漂亮 Web 界面或按照 此页上的命令行说明来完成。
结论
因此,将更新或完全新包引入 openSUSE 13.1 并不难。成为 Factory 维护者听起来可能是一项繁重的责任,在某种程度上确实如此。但更有可能的是,在 Devel 项目中担任维护者实际上并不比您目前为构建您自己的包所做的工作更多。您甚至会得到一些帮助。而且您会获得做出贡献并成为一个很棒团队的一部分的满足感!
尽情享受黑客乐趣吧!

