GNOME 软件包构建指南

跳转到:导航搜索
您应该在此处找到所有使 openSUSE 的 GNOME 开发项目在打包方式上与其他项目不同的特性。遵循这些指南将有助于确保您的贡献能够被顺利接受,从而使所有相关方都能更顺畅地完成整个过程。
本文正在进行中!

设置系统以进行常规软件包更新

如果您是 openSUSE GNOME 用户,并希望帮助保持您使用的任何软件包的更新,那么学习基本的打包技能和开发工具对于软件包更新过程非常值得。大多数情况下,更新软件包是一项相当简单的任务。有时上游 GNOME 会在其稳定分支中发布一些软件的修复程序,有时他们会提供翻译改进。这些类型的更新很容易处理。然而,让 openSUSE GNOME 维护者和贡献者感到困难的是上游发布的版本数量。

虽然该过程并非完全自动化(完全自动化可能无法实现,因为 changes 文件需要人工仔细审查)。预计在解决一些问题并在 OBS 上实现一些功能后,琐碎的软件包更新在未来将变得非常容易。而且 openSUSE 作为依赖于世界各地众多贡献者的开源项目,始终欢迎对贡献时间和精力以及寻求回馈社区机会的新人。

让我们看看如何设置一个用于更新 openSUSE GNOME 软件包的环境——这种基本设置应该允许您即使在 openSUSE GNOME 开发项目之外也能使用软件包,尽管如此。

openSUSE Tumbleweed 用户

openSUSE Leap 用户

Spec 文件

Changes 文件

.changes 文件方面,我们力求尽可能保持一致。让我们看看在为 openSUSEGNOME 开发项目贡献时需要使用的具体内容。

Changes 文件条目的布局

标准项目符号

  1. 一级项目符号始终是 - (减号);
  2. 二级项目符号始终是 + (加号);
  3. 三级项目符号始终是 - (减号);
  4. 四级项目符号始终是 . (句点)。

示例

版本更新。又名版本提升

一个简单的版本提升看起来是这样的

-------------------------------------------------------------------
Mon Feb 06 00:00:00 UTC 2023 - Geeko, The Chameleon <geeko@opensuse.org>

- Update to version x.y.z:
  + This is change number one.
  + This is change number two.
  + This is change number three:
    - This is change a.
    - This is change b.
    - This is change c:
      . This is change foo.
      . This is change bar.
      . This is change baz.

多版本更新

当上游发布多个版本,但 openSUSE 软件包没有相应更新时,多版本提升看起来是这样的

-------------------------------------------------------------------
Mon Feb 06 00:00:00 UTC 2023 - Geeko, The Chameleon <geeko@opensuse.org>

- Update to version x.y.z:
  ...
- Changes from version a.b.c:
  ...

翻译相关的条目

每当添加或更新语言翻译时,我们仅使用一个二级项目符号来总结它们(并且应该是最后一个二级项目符号)

-------------------------------------------------------------------
Mon Feb 06 00:00:00 UTC 2023 - Geeko, The Chameleon <geeko@opensuse.org>

- Update to version x.y.z:
  ...
  + Updated translations.

使用 OBS 服务的软件包

当一个软件包使用 _service 设施来生成 tarball/存档,同时使用选项从 Git 提交中自动生成 changes 条目时,请记住需要编辑它们以符合上述标准。最初可能看起来像这样

-------------------------------------------------------------------
Mon Feb 06 00:00:00 UTC 2023 - geeko@opensuse.org

- Update to version x.y.z:
  * First change.
  * Second change.
  * Third change, with a looooooooooooooooooooooooooooooooooooooong line.
  * Fourth change with another looooooooooooooooooooooooooooooooooooong line.
  * Fifth change with yet another looooooooooooooooooooooooooooooooong line.

但是,它应该看起来更像这样

-------------------------------------------------------------------
Mon Feb 06 00:00:00 UTC 2023 - Geeko, The Chameleon <geeko@opensuse.org>

- Update to version x.y.z:
  + First change.
  + Second change.
  + Third change, with a wrapped looooooooooooooooooooooooooooooong
    line.
  + Fourth change with another wrapped
    looooooooooooooooooooooooooooooooooooong line.
  + Fifth change with yet another wrapped loooooooooooooooooooooong
    line.

请不要忘记确保标题包含 full name <email>,而不是仅包含电子邮件(这是 obs-service-tar_scm 包的一个缺点,希望将来能够修复)。
换行当它超过 67 个字符时,是任何项目(不仅仅是 openSUSE GNOME都应遵循的指南

术语表

您可以在此查找您可能不熟悉的在本页中使用的术语。

  • 上游下游 - 这里的想法是,一个组织,在本例中是 GNOME 项目,——或者只是个人——开发/维护开源软件,好东西。每当他们在流中发布他们的好东西时,下游的任何人——openSUSE、许多其他 Linux 发行版、其他操作系统(如 BSD 系列(FreeBSDNetBSDOpenBSD 等))、个人等——都会受益于河流的流动,以获得这些好东西

参见

changes 文件的通用指南仍然被 openSUSEGNOME 开发项目以及打包指南使用。