GNOME 软件包构建指南
设置系统以进行常规软件包更新
如果您是 openSUSE GNOME 用户,并希望帮助保持您使用的任何软件包的更新,那么学习基本的打包技能和开发工具对于软件包更新过程非常值得。大多数情况下,更新软件包是一项相当简单的任务。有时上游 GNOME 会在其稳定分支中发布一些软件的修复程序,有时他们会提供翻译改进。这些类型的更新很容易处理。然而,让 openSUSE GNOME 维护者和贡献者感到困难的是上游发布的版本数量。
虽然该过程并非完全自动化(完全自动化可能无法实现,因为 changes 文件需要人工仔细审查)。预计在解决一些问题并在 OBS 上实现一些功能后,琐碎的软件包更新在未来将变得非常容易。而且 openSUSE 作为依赖于世界各地众多贡献者的开源项目,始终欢迎对贡献时间和精力以及寻求回馈社区机会的新人。
让我们看看如何设置一个用于更新 openSUSE GNOME 软件包的环境——这种基本设置应该允许您即使在 openSUSE GNOME 开发项目之外也能使用软件包,尽管如此。
openSUSE Tumbleweed 用户
openSUSE Leap 用户
Spec 文件
Changes 文件
在 .changes 文件方面,我们力求尽可能保持一致。让我们看看在为 openSUSE 的 GNOME 开发项目贡献时需要使用的具体内容。
Changes 文件条目的布局
标准项目符号
- 一级项目符号始终是 - (减号);
- 二级项目符号始终是 + (加号);
- 三级项目符号始终是 - (减号);
- 四级项目符号始终是 . (句点)。
示例
版本更新。又名版本提升
一个简单的版本提升看起来是这样的
-------------------------------------------------------------------
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 包的一个缺点,希望将来能够修复)。术语表
您可以在此查找您可能不熟悉的在本页中使用的术语。
- 上游和下游 - 这里的想法是,一个组织,在本例中是 GNOME 项目,——或者只是个人——开发/维护开源软件,好东西。每当他们在流中发布他们的好东西时,下游的任何人——openSUSE、许多其他 Linux 发行版、其他操作系统(如 BSD 系列(FreeBSD、NetBSD、OpenBSD 等))、个人等——都会受益于河流的流动,以获得这些好东西。
参见
changes 文件的通用指南仍然被 openSUSE 的 GNOME 开发项目以及打包指南使用。