This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Stable request
This article describes the procedure for moving an ebuild from testing to stable.
Checklist for a stabilization request
- 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 Stabilization
component taking care to complete two special bug fields:
Package list
- 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 inCC
are assumed. Formerly, this field was calledAtoms to stabilize
and contained fully qualified atoms, which is also still supported.Runtime testing required
- indicates if additional runtime testing should be performed beyond build and tests passing. If undefined the arch tester should use their best judgement
Examples:
Summary | foo-libs/libbar-1.2.3 stabilization request |
---|---|
CC | amd64 x86 |
Runtime testing required | No |
Package list | foo-libs/libbar-1.2.3 (old syntax, still supported: =foo-libs/libbar-1.2.3) |
Explanation |
|
Summary | app-foo/bar-1.2.3 and app-foo/baz-4.5.6 stabilization request |
---|---|
CC | amd64 arm x86 |
Runtime testing required | Yes |
Package list | app-foo/bar-1.2.3 |
app-foo/baz-4.5.6 amd64 x86 | |
Explanation |
|
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 stabilization-list
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 a bot will review stabilization requests for completeness and complain if there are invalid or missing atoms, setting a sanity-check+
or sanity-check-
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.
See also
- Package testing - An article describing how to configure a Gentoo system for testing ebuilds.
- Bugzilla/Bug report guide#Package XY should be marked stable