Stable request

This article describes Article description::the procedure for moving an ebuild from testing to stable.

Checklist for a stabilization request
The requirements can be found in the Section Keywording of the Developer Manual


 * Live ebuilds (-9999) cannot be stabilized
 * See KEYWORDS for more information on stable/unstable branch
 * Did you test the version you want to become stable thoroughly?
 * Are there other bug reports regarding this package?
 * Is the ebuild older than 30 days?
 * Are its dependencies all marked stable?
 * The stabilization requires developer time. Until we have automatic stabilization it makes sense to limit stabilization requests to ebuilds which benefit somehow from a stabilization.

Responsibility
The primary purpose of the stabilization process is to integrate a testing ebuild into the Official Gentoo ebuild repository. This can involve maintaining the consistency of the dependency graph, basic compatibility checks with other packages, and smoke testing of the package itself.

Stabilization is not intended to relieve a package maintainer of their responsibility to ship a quality package - the primary responsibility of ensuring that a package is a good stable candidate remains with the person approving the stabilization request. The stabilization process does not include more than basic functionality checks unless explicitly requested.

Requesting stabilization
Everybody can request a stabilization. The maintainer (or Proxied Maintainer) will CC to the arches.

To request stabilization of a package, file a new bug under the  component taking care to complete two special bug fields:


 * - a fully qualified package per line, optionally followed by a space-delimited list of architectures to target. If no architecture list is provided, all architectures in  are assumed. Formerly, this field was called   and contained fully qualified atoms, which is also still supported.
 * - indicates if additional runtime testing should be performed beyond build and tests passing. If undefined the arch tester should use their best judgement

Examples:

If a large number of atoms are being stabilized at once, it might be preferred to use an attachment to list the atoms instead of the field. In that case, set the flag attachments so that  is set to. If multiple active attachments are flagged they will all be considered, so remove the flag from or mark as obsolete old attachments. If both the atoms field is completed and an attachment is flagged, only the atoms field is considered.

Sanity check
Periodically stable bot will review stabilization requests for completeness and complain if there are invalid or missing atoms, setting a  or   flag as appropriate. This allows arch team members to filter out requests that are not known-good if they wish. A series of architecture-specific saved searches are available for convenience.

Simultaneous stabilization on all architectures
If you maintain an architecture-independent package (data files, icons, pure Perl,...) then you may request that your package be stabilized on all arches at once. To do this — when you are filing the stabilization bug — please add the keyword  in addition to   and CC the arches that you would like to stabilize.

The arch teams, when encountering the  keyword, should perform their usual set of tests on a single convenient architecture. Then, if everything works, stabilize not only the arch that was used during testing, but also all of the other arches in CC on the bug. Afterwards, the CC field can be cleared and the bug closed if appropriate.