Package repositories

Debusine is in the process of gaining the ability to host package repositories. These work by including the necessary index files in debian:suite collections. When the packages in a suite changes, the update_suites workflow generates updated indexes for it. Debusine will be able to serve all the relevant files in an APT-compatible layout.

Snapshots

It is useful to serve historical snapshots as well as the current state of the archive, as long as Debusine still retains the necessary data under whatever retention policies are in effect. The collection data model already includes timestamps for when collection items were created or removed, and supports retaining items even after they are no longer active in their parent collection; as a result, repository indexes at a particular timestamp can be found by querying for collection items containing indexes that were not created after that timestamp and not removed before that timestamp.

Overrides

Overrides are used by Debian’s traditional archive management software to store the component, section, and (for binary packages) priority of each package. (Ubuntu’s archive management software also supports phased update percentages, which are handled by overrides; other extensions are possible.)

While the name “override” might suggest that these are only applied where the values are something other than the ones supplied by the package, in fact every package in the archive has overrides even if those are equal to the ones supplied by the package. In Debian’s traditional archive management software, uploads of packages without overrides go into the NEW queue for manual review.

Review workflows of this kind are not yet in scope, but we already have per-item data for component, section, and priority in the debian:suite collection which represent the common set of overrides and are considered when generating Packages and Sources files. Debian also publishes override summaries in an indices directory; we treat these as just another kind of repository index file, although they are stored at the archive level rather than at the suite level.