Hi!

On Sun, 2026-05-10 at 15:39:38 +0100, Sean Whitton wrote:
> Nilesh Patra [10/May  1:04pm +0530] wrote:
> > diff --git a/policy/ch-controlfields.rst b/policy/ch-controlfields.rst
> > index 69467c4..f4d5fe9 100644
> > --- a/policy/ch-controlfields.rst
> > +++ b/policy/ch-controlfields.rst
> > @@ -1381,8 +1381,10 @@ A Debian installation can combine packages from 
> > multiple architectures.
> >  The ``Multi-Arch`` field enables individual packages to declare their
> >  support for this feature, and influences the way dependencies are
> >  handled.  It can be declared in binary package sections of a source
> > -package template control file and in binary package control files.  The
> > -permitted field values are ``no`` (default), ``foreign``, ``same`` and
> > +package template control file and in binary package control files.
> > +``Multi-Arch`` must not be used for udebs, as these semantics are out
> > +of scope for the Debian installer.
> > +The permitted field values are ``no`` (default), ``foreign``, ``same`` and
> >  ``allowed``. Their semantics are described in the following sections.
> >
> >  .. _s-f-Multi-Arch-no:
> 
> Thanks.  Helmut, do you agree with using a "must not" here?

Right, actually after having pondered a bit about this for whether to
emit a warning, error or nothing in dpkg-gencontrol, my conclusion
is that while I still agree this is not in scope, it should have no ill
effect except for increasing the .udeb size, so I think a warning is
enough (and that's what I've updated the patch to do now), and as such
for Debian Policy a must seems indeed too strong. So I rescind my
second for now. :)

Also having briefly checked the debian-installer Packages file for
amd64, I see only a handful of packages for which the field has been
explicitly set by the maintainer. This is the list for amd64, but
probably incomplete across all arches:

  fonts-freefont-udeb
  fonts-knda-udeb
  fonts-lohit-guru-udeb
  fonts-taml-udeb
  fonts-sil-abyssinica-udeb
  fonts-sil-padauk-udeb
  fonts-thai-tlwg-udeb
  fonts-ukij-uyghur-udeb
  pwgen-udeb

Thanks,
Guillem
From feb8794184d9a634f8a1611e02d7eb0d531b6e86 Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Sun, 10 May 2026 19:38:39 +0200
Subject: [PATCH] dpkg-gencontrol: Remove and warn about Multi-Arch field on
 udeb packages

The udeb packages are intended to be minimal, and on Debian these target
only the Debian Installer, where multi-arch is out of scope, but the only
ill effect of having this field is the increase in size, which we handle
with the field removal.

Proposed-by: Nilesh Patra <[email protected]>
---
 scripts/dpkg-gencontrol.pl | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/dpkg-gencontrol.pl b/scripts/dpkg-gencontrol.pl
index f07b9b9ea..0c4040716 100755
--- a/scripts/dpkg-gencontrol.pl
+++ b/scripts/dpkg-gencontrol.pl
@@ -346,6 +346,10 @@ my $pkg_type = $pkg->{'Package-Type'} ||
 if ($pkg_type eq 'udeb') {
     delete $fields->{'Package-Type'};
     delete $fields->{'Homepage'};
+    if (delete $fields->{'Multi-Arch'}) {
+        warning(g_("package '%s' (type %s) contains out of scope %s field"),
+                $oppackage, $pkg_type, 'Multi-Arch');
+    }
 } else {
     for my $f (qw(Subarchitecture Kernel-Version Installer-Menu-Item)) {
         warning(g_("%s package '%s' with udeb specific field %s"),
-- 
2.53.0

Reply via email to