On Fri, Oct 29, 2021 at 10:51:44AM +0100, Simon McVittie wrote: > Here are some updated patches for Policy, incorporating this requirement.
thanks for your work on this, Simon. > I have not attempted to incorporate the corner case involving > build-profiles. I think if we were going to do that, it would require > documenting build-profiles first (#757760), and maybe even then it's too > much of a corner-case to be documenting unless/until it actually happens. sounds good. > From a332e4e787837cac0856c9c36d6e87e9f19197e2 Mon Sep 17 00:00:00 2001 > From: Simon McVittie <s...@debian.org> > Date: Thu, 9 Sep 2021 15:43:20 +0100 > Subject: [PATCH 1/2] 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. > > Signed-off-by: Simon McVittie <s...@debian.org> > Closes: #994008 > --- > policy/ch-archive.rst | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/policy/ch-archive.rst b/policy/ch-archive.rst > index ab04261..3d40f55 100644 > --- a/policy/ch-archive.rst > +++ b/policy/ch-archive.rst > @@ -130,6 +130,27 @@ In addition, the packages in *main* > > - must meet all policy requirements presented in this manual. > > +If a source package is in the *main* archive area, then at least one of > +the binary packages that it produces must be in the *main* archive area, > +and each of the remaining packages must be in either the *main* or *contrib* > +archive area. Each binary package's archive area is indicated by its > +``Section`` field: see :ref:`s-subsections`. > + > +Source packages in *main* with a mixture of *main* and *contrib* binary > +packages should be limited to situations where it would be inconvenient > +to split the source package. If it is straightforward to split the source > +package into a *main* part and a *contrib* part that are compiled > +separately, then those parts should be represented as separate source > +packages. > + > +When a *main* source package has a mixture of *main* and *contrib* > +binary packages, the source package and the *main* binary packages must > +follow the requirements for *main* packages, but the *contrib* binary > +packages may follow the weaker requirements for *contrib* packages. > +In particular, build-dependencies outside *main* are not allowed in > +these source packages, but the *contrib* binary packages may have runtime > +dependencies outside *main*. > + > .. _s-contrib: > > The contrib archive area > -- > 2.33.1 seconded. maybe it would be better to replace 'complied' with 'build' in the patch above? Obviously I'd also second this patch with that replacement... > From 14cd80454fc2ef8122315a1edcc05eed43106583 Mon Sep 17 00:00:00 2001 > From: Simon McVittie <s...@debian.org> > Date: Thu, 9 Sep 2021 15:53:20 +0100 > Subject: [PATCH 2/2] 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. > > Signed-off-by: Simon McVittie <s...@debian.org> > --- > policy/ch-archive.rst | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/policy/ch-archive.rst b/policy/ch-archive.rst > index 3d40f55..0979d87 100644 > --- a/policy/ch-archive.rst > +++ b/policy/ch-archive.rst > @@ -177,6 +177,10 @@ Examples of packages which would be included in > *contrib* are: > - wrapper packages or other sorts of free accessories for non-free > programs. > > +If a source package is in the *contrib* archive area, then each of the > +binary packages that it produces must also be in the *contrib* archive > +area. > + > .. _s-non-free: > > The non-free archive area > @@ -199,6 +203,10 @@ In addition, the packages in *non-free* > - must meet all policy requirements presented in this manual that it is > possible for them to meet. [#]_ > > +If a source package is in the *non-free* archive area, then each of the > +binary packages that it produces must also be in the *non-free* archive > +area. > + > .. _s-pkgcopyright: > > Copyright considerations > -- > 2.33.1 seconded as well. -- cheers, Holger ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ holger@(debian|reproducible-builds|layer-acht).org ⢿⡄⠘⠷⠚⠋⠀ OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C ⠈⠳⣄ Kinda weird that we’re all gonna experience climate change as a series of short, apocalyptic videos until eventually it’s your phone that’s recording. (@shocks)
signature.asc
Description: PGP signature