Debian Testing Migration Requirements
Before a software package can migrate from Debian's Unstable repository (known as Sid) into the Testing suite, it must pass a strict, automated quality assurance process governed by a tool named Britney. This migration system ensures that the Testing branch—which eventually becomes the next stable release—remains coherent, installable, and free of severe regressions. Packages must satisfy specific rules regarding package maturity, release-critical bug counts, architectural build readiness, dependency health, and automated test passes.
Minimum Aging in Unstable
A package must reside in the Unstable suite for a mandatory waiting period without being replaced by a newer upload. This quarantine period allows users and automated tools to discover and report any immediate issues. The required duration depends on the urgency set in the package's changelog:
- High urgency: 2 days
- Medium urgency: 5 days (default)
- Low urgency: 10 days
If a new revision is uploaded to Unstable before the countdown completes, the timer resets for the new version.
Absence of Release-Critical Bugs
Debian classifies severe defects—such as security vulnerabilities, data loss risks, or packaging standard violations—as Release-Critical (RC) bugs. For a package to enter Testing:
- It must not introduce any new RC bugs that are not already present in the Testing version.
- It must have the same or fewer RC bugs than the version currently in Testing.
- If a package already in Testing has RC bugs, an update in Unstable that fixes them is favored and allowed to migrate, provided it introduces no regressions.
Multi-Architecture Build Completion
A package must be successfully compiled and built across all release architectures supported by Debian for which the current version in Testing is available. If an upload fails to build on even one required architecture, the entire migration is blocked until the build failure is resolved or the architecture is explicitly dropped by the Release Team.
Installability and Dependency Co-Migration
A package must be fully installable using only packages available in the Testing suite once it lands:
- No Broken Dependencies: The migration must not render the package itself or any other package in Testing uninstallable.
- Transition Coordination: In the case of shared library updates (soname changes) or major framework transitions, a package cannot migrate alone. Britney analyzes dependency graphs to calculate transitions, requiring all dependent and related packages to migrate simultaneously in a coordinated batch.
Automated Testing Suite (autopkgtest)
Debian relies on autopkgtest to detect regressions:
- If the package includes automated integration tests, those tests must pass on the target architectures.
- The new version must not cause the automated tests of reverse-dependencies (packages that rely on it) to fail. A test failure in a dependent package will block the migration.
Release Freeze Policies
During Debian's release preparation cycle, the repository enters various freeze phases (such as transition freezes, soft freezes, and hard freezes). During these periods, default migration rules are suspended or tightened. Packages may require explicit review and manual approval (an "unblock" request) from the Debian Release Team to enter Testing.