Home Wiki > openSUSE:Maintenance of update stack
Sign up | Login

openSUSE:Maintenance of update stack

tagline: From openSUSE

Code 11 Maintenance Howto

Introduction

By request from the maintenance team, now all updates for packages involved in the update stack are being handled by ZYpp developers. If you want to update a package, please contact them to know who is the current person coordinating all package submissions.

This workflow may change in the future. As it is not responsibility of the ZYpp developers to handle for example, desktop packages.

Build service project

for openSUSE, the maintenance is handled in the devel:updatestack project.

There are various subprojects on this repository:

devel:updatestack:10.3

  • All packages needs to be submitted manually from its maintainers

devel:updatestack:11.0

  • ZYpp related packages are linked automatically to zypp:SL11_0-Branch repository
  • Other packages needs to be submitted manually from its maintainers

devel:updatestack:11.1

  • ZYpp related packages are linked automatically to zypp:Code11-Branch repository
  • Other packages needs to be submitted manually from its maintainers

devel:updatestack:SLE-11

  • ZYpp related packages are linked automatically to zypp:Code11-Branch repository
  • Other packages needs to be submitted manually from its maintainers

Overview

To get an overview of a distribution, you can use the osc overview plugin and also to get patchinfo prototypes.

For example, you could use the following in ~/.osc-overview/swmgmt.ini

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

This tells osc overview to compare these sources, and to use the package list from the second source.

The result would be:

** 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

You can also use the -p option on osc overview to get a prototype patchinfo, with all the buglist set. Or the -c option to get a diff of changes.

Warning Dont use the template description/changelog as the final description

Then you can copy it to softwaremgmt.patch.{maintained|box}.<swampid>

Process for Developers

  • If you make a fix that should be released as an update, don't create a patchinfo, but submit the package to the right project (unless it is handled automatically via links)
  • If it is urgent fix, poke softwaremgmt-coord mailing list to see how feasible is to update the whole stack now, in any case, keep your current package updated in the right project.
  • Otherwise just announce any change in the mailing list, and your changes will be released in the next big patch by the current coordinator.

Process for Coordinator

  • Use osc overview to see the current accumulated fixes in the devel:updatestack:$dist project
  • ask developers to submit additional fixes they may want in
  • look that the repository builds correctly
  • Review the fixes
  • Use osc overview to get a patchinfo prototype
  • edit the patchinfo, create meanfull descriptions, add or remove packages (use check_patchinfo script)
  • Coordinate with security and maintenance coordination teams about an update
  • submit the packages:
osc sr create devel:updatestack:11.1 $package1 openSUSE:11.1:Update
osc sr create devel:updatestack:11.1 $package2 openSUSE:11.1:Update
...

For internal products, you can submit for example from the external devel:updatestack:SLE-11 to the external SUSE:SLE-11 as well.

  • submit patchinfo internally to maintenance

Other important information

PackageKit and gnome-packagekit problems in 11.0

In the released version of PackageKit in 11.0 the zypp-backend provides only one restart patch per GetUpdates-request even if there are more than one available (this was a feature request). Unfortunately, the provided patch is quite random. Therefore there is bugix for PackageKit to show all available patches at a time.

Due to a bug in the Updater-Applet of gnome-packagekit the applet does not restart itself and look for further available updates anymore until the user reboots the computer or does a relogin. On grounds of that, it has to be assured that at least the bugfix for gnome-packagekit is in every restart-patch.

Workarounds

  • keep only one restart flagged patch with all update stack packages for which there is a fix.
  • keep gnome-packagekit in every restart flagged patch.