openSUSE:更新堆栈维护

跳转到:导航搜索

代码 11 维护指南

简介

应维护团队的要求,现在所有涉及更新堆栈的软件包的更新都由 ZYpp 开发者处理。如果您想更新一个软件包,请联系他们以了解当前协调所有软件包提交的人员。

此工作流程将来可能会更改。因为处理桌面软件包等内容不是 ZYpp 开发者的责任。

构建服务项目

对于 openSUSE,维护在 devel:updatestack 项目中处理。

此仓库中有各种子项目

devel:updatestack:10.3

  • 所有软件包都需要由其维护者手动提交

devel:updatestack:11.0

  • 与 ZYpp 相关的软件包会自动链接到 zypp:SL11_0-Branch 仓库
  • 其他软件包需要由其维护者手动提交

devel:updatestack:11.1

  • 与 ZYpp 相关的软件包会自动链接到 zypp:Code11-Branch 仓库
  • 其他软件包需要由其维护者手动提交

devel:updatestack:SLE-11

  • 与 ZYpp 相关的软件包会自动链接到 zypp:Code11-Branch 仓库
  • 其他软件包需要由其维护者手动提交

概述

要获得发行版的概述,您可以使用 osc overview 插件,以及获取 patchinfo 原型。

例如,您可以在 ~/.osc-overview/swmgmt.ini 中使用以下内容

[openSUSE 11.1]
repos=obs://openSUSE:11.1,obs://devel:updatestack:11.1,obs://openSUSE:11.1:Update
packages=*2

这告诉 osc overview 比较这些源,并使用第二个源中的软件包列表。

结果将是

** openSUSE 11.1 **                                                                         
+------------------+------------------+------------------+------------------+               
|     package      | obs://openSUSE:1 | obs://devel:upda | obs://openSUSE:1 |               
|                  |       1.1        |   testack:11.1   |    1.1:Update    |               
+==================+==================+==================+==================+               
| gnome-packagekit | 0.3.11           | 0.3.11           | 0.3.11           |               
+------------------+------------------+------------------+------------------+               
| kde4-kupdateappl | 0.8.34           | -                | -                |               
| et               |                  |                  |                  |               
+------------------+------------------+------------------+------------------+               
| libqdialogsolver | 1.2.5            | 1.2.9            | 1.2.6            |               
| 1                |                  |                  |                  |               
+------------------+------------------+------------------+------------------+               
| libsatsolver     | 0.13.0           | 0.13.6           | 0.13.2           |               
+------------------+------------------+------------------+------------------+               
| libzypp          | 5.24.5           | 5.29.5           | 5.25.3           |               
+------------------+------------------+------------------+------------------+               
| libzypp-bindings | 0.4.8            | 0.4.8            | -                |               
+------------------+------------------+------------------+------------------+               
| PackageKit       | 0.3.11           | 0.3.11           | 0.3.11           |               
+------------------+------------------+------------------+------------------+               
| yast2-gtk        | 2.17.8           | -                | -                |               
+------------------+------------------+------------------+------------------+               
| yast2-ncurses-   | 2.17.10          | -                | -                |               
| pkg              |                  |                  |                  |               
+------------------+------------------+------------------+------------------+               
| yast2-online-    | 2.17.10          | 2.17.13          | 2.17.13          |               
| update           |                  |                  |                  |               
+------------------+------------------+------------------+------------------+               
| yast2-pkg-       | 2.17.29          | 2.17.38          | 2.17.31          |               
| bindings         |                  |                  |                  |               
+------------------+------------------+------------------+------------------+               
| yast2-qt-pkg     | 2.17.22          | 2.17.27          | 2.17.25          |               
+------------------+------------------+------------------+------------------+               
| zypper           | 1.0.2            | 1.0.8            | 1.0.5            |               
+------------------+------------------+------------------+------------------+

Patchinfo

您还可以使用 osc overview 的 -p 选项来获取 patchinfo 原型,其中设置了所有 buglist。或者使用 -c 选项来获取更改的差异。

Icon-warning.png
警告:不要将模板描述/更改日志用作最终描述

然后您可以将其复制到 softwaremgmt.patch.{maintained|box}.<swampid>

开发者流程

  • 如果您进行了一个应该作为更新发布的修复,不要创建 patchinfo,而是将软件包提交到正确的项目(除非它通过链接自动处理)
  • 如果是紧急修复,请联系 softwaremgmt-coord 邮件列表,以了解现在更新整个堆栈的可行性,无论如何,请在正确的项目中保持您的当前软件包更新。
  • 否则,只需在邮件列表中宣布任何更改,您的更改将在当前协调员的下一个大补丁中发布。

协调员流程

  • 使用 osc overview 查看 devel:updatestack:$dist 项目中当前累积的修复
  • 要求开发者提交他们可能需要的其他修复
  • 检查仓库是否正确构建
  • 审查修复
  • 使用 osc overview 获取 patchinfo 原型
  • 编辑 patchinfo,创建有意义的描述,添加或删除软件包(使用 check_patchinfo 脚本)
  • 与安全和维护协调团队协调更新
  • 提交软件包
osc sr create devel:updatestack:11.1 $package1 openSUSE:11.1:Update
osc sr create devel:updatestack:11.1 $package2 openSUSE:11.1:Update
...

对于内部产品,您可以从外部 devel:updatestack:SLE-11 提交到外部 SUSE:SLE-11。

  • 将 patchinfo 内部提交给维护

其他重要信息

11.0 中 PackageKit 和 gnome-packagekit 问题

在 11.0 中发布的 PackageKit 版本中,zypp 后端仅为每个GetUpdates 请求提供一个重启补丁,即使有多个可用(这是一个功能请求)。不幸的是,提供的补丁是相当随机的。因此,PackageKit 存在一个 bugix,用于一次显示所有可用补丁。

由于 gnome-packagekit 的 Updater-Applet 中的一个错误,该 applet 不会自行重启并查找进一步可用的更新,直到用户重新启动计算机或重新登录。基于此,必须确保至少将 gnome-packagekit 包含在每个重启补丁中。

解决方法

  • 仅保留一个标记为重启的补丁,其中包含所有具有修复的更新堆栈软件包。
  • 在每个标记为重启的补丁中保留 gnome-packagekit。