Commit
018c1f478594478439a3e9c1f4df5cf1a7dfe080
by rra
Add the new non-free-firmware archive area
General Resolution 2022-003 added the non-free-firmware archive area for non-free packages containing firmware that may be required for functionality or security of hardware. Document that archive area in Policy with the same Policy restrictions (and tolerances) as non-free.
Commit
b9615e770942363f385c6744a9ecddf751b719c3
by rra
Move footnotes in "The Debian Archive"
Move footnotes in the section "The Debian Archive" to live with the section where they are referenced. This produces nicer output from Sphinx and avoids collecting unrelated footnotes at the end of the last section.
Commit
d5654ab423df4618eb963840fd64903f29a512f7
by rra
Footnote requirements for non-free-firmware
Reference the same footnote in non-free-firmware defining what "possible for them to meet" means as is used for non-free. This unfortunately requires explicitly numbering the footnotes so that there can be two references to the same footnote.
Commit
07ff1046636df14c37f095e358e17b84564169dc
by rra
Standardize bullet list indentation in chapter 2
"The Debian Archive" used two spaces after the hyphen for bullet lists throughout. This convention makes some sense for parallelism with numbered lists, but people don't notice it and don't preserve it in patches. Simplify to a single space, which is more typical and less surprising.
Commit
99fecac91f11ca3962061b5505a1f1bd96721a73
by rra
archive: Point out that mixed main/contrib source packages can exist
Most source packages produce only binary packages in the same archive area, but a few source packages in main (such as bumblebee) produce a mixture of main and contrib binary packages.
If an upstream project is in this situation (for example a program with optional plugins that have non-free dependencies) it isn't entirely obvious how to package it; clarify that a single source package in main is considered to be appropriate in this case, as long as no non-free build-dependencies are required.
Commit
2a68e09791cedae8ada4722186eaf3e0b298c9c8
by rra
archive: Clarify binaries produced by contrib and non-free source
A source package outside main cannot produce main binary packages, because we want main to be self-contained: if you download all main source packages, that should give you the source code of all main binary packages.
A source package in contrib cannot produce non-free binary packages, because by definition contrib only contains free software (with non-free dependencies, but those are not part of the source code).
A source package in non-free cannot produce contrib binary packages, because we want main + contrib to be self-contained: if you download all main or contrib source packages, that should give you the source code of all main and contrib binary packages.
Commit
649756c9c18c8af29d8df40a7d33a4bb61d7689d
by rra
Clarify wording of main and contrib source packages
Apply wording suggestions from Sean Whitton. Rephrase the restriction on build dependencies to use must language. Note that the reason for discouraging mixtures of main and contrib binary packages is their complexity for archive tooling.
Commit
5670ec4b8d7cac148d250706f66581eb57509301
by rra
Binary and Description optional in .changes
In .changes files for source-only uploads, the Binary and Description fields are not present. Document this, and be clearer in the description of the Description field for .changes files that only descriptions of binary packages are included.
Commit
6572dad1e33575052002c952718c8ce55d5995dc
by rra
systemd unit files are now required
systemd is dropping support for the generator that allows it to automatically create units for init scripts. As a result, all packages that want to integrate with systemd service management must start shipping systemd units.
State that arranging for services to be automatically started or stopped is a should, but if the package wishes to do that, a systemd service unit is a must unless the package is only intended for use with alternate init systems. Avoid saying that systemd uses /etc/rcn.d links to determine service ordering.
Commit
4a6f2962c85c6bbf8778a4505d4dbf31d627511d
by spwhitton
Improve alternative build dependency discussion
Alternatives in build dependencies are normally (except for backports) handled specially by autobuilders to try to maintain consistent builds. This was documented in Policy, but in a footnote that people often didn't see.
Move this text into the main body of the discussion of build dependencies and reword it for additional clarity. Add a pointer to this discussion where alternative dependencies are introduced.