Migration to Debian style releases via the APT ecosystem

Precis of the stock Debian mental model of release management.

Distribution codenames

  • Names for a particular releases of the Debian distribution
  • Examples: stretch, buster, bullseye, sid

Distribution releases

Release Name Current Code Name Release Purpose
oldstable stretch The previous stable release
stable buster The current stable release
testing bullseye The current development state of the next stable release
unstable sid A rolling development version, always code named sid

Progression tends to be

  1. New packages are introduced into unstable
  2. Once these new packages meet a certain criteria, they graduate to testing
  3. Once the testing release meets a certain criteria, it becomes the new stable, and the previous stable is renamed to oldstable
    Over time, different codenames are assigned to various incarnations of the releases. Though the unstable release is always codenamed sid.

A single repository is exposed for all releases, and APT components are used to delineate slices according to Debian release version: deb <base_uri>/debian/ {component} ...

In addition, the first “component” is used to denote different release channels:

  • The general pattern is:
    • <short_code_name>
    • <short_code_name>-security
  • For example, for the buster release:
    • buster
    • buster-security

Reference Material

More information can be found here: