I'm an interested party, but certainly no expert on this topic. I have however a few editorial remarks, inline below.
+Note that due to limitations in the archive management software, this +value cannot currently be specified explicitly in binary package control +files.
The last paragraph here is a bit confusing. I think the text should
reiterate that "no" is the implicit default.
+
+``Multi-Arch: foreign``
+^^^^^^^^^^^^^^^^^^^^^^^
+
+A binary package may be marked with a ``Multi-Arch: foreign`` control +header if the provided interfaces are independent of the architecture of
This could also say:
+A binary package may be marked ``Multi-Arch: foreign`` if the provided
...
with no loss of meaning.
+- The installed files of a package: Architecture-dependent packages may
+ install different sets of files or files with different content for
+ multiple architectures and these differences may contribute to the
+ interface (e.g. an endianess-dependent database file). For
+ architecture-independent binary packages, there is aspect does not
s/there is/this/
+- The dependencies of a package: A package may expose functionality of
+ other packages by depending on them. In general, an executable does
+ not expose its linked shared libraries and therefore they do not
+ usually contribute to the interface.
How about:
Usually, an executable does
not expose linked shared libraries as its interface, and thus they should not be considered contributing to the package interface.
+ On the other hand, the whole
+ point of transitional packages is to expose such functionality.
+ Likewise, development packages for shared libraries necessarily expose
+ their own dependencies.
+ their own dependencies as the package interface.
+In such cases, where the package satisfies the criterion for +``Multi-Arch: foreign`` but might expose architecture dependency,
+``Multi-Arch: foreign`` but might expose an architecture-specific dependency,
?
+because it is not clear which parts of the package are its interfaces, +the interfaces of the package should be described in the file +``debian/README.multiarch``.
I assume this implies: "in the source package"
+Multiple binary packages with the same name and version may be installed +concurrently if all of them carry this header valued ``same``. Any set
+of packages with matching name and version being thus marked must
+support two properties.
+support the following properties:
+
+- All filenames that are present in multiple of these packages must
+ contain bit-identical content across architectures. [#]_
+
+ For files whose name is unique within this set, no such requirement
+ exists. Therefore, such packages usually install most of their files
+ below ``/usr/lib/${DEB_HOST_MULTIARCH}``.
+
+- The maintainer scripts must be prepared to be configured or
+ deconfigured multiple times. In particular, ``postrm`` must consider
+ that another instance may still be present. It may check the
+ ``DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT`` environment variable set by
+ ``dpkg``.
Two thoughts:
1) is DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT documented in policy? Immediate question: is it 0- or 1-based, and is it in-/decremented before or after the maintscripts run?
2) should something be said about arch-specific changelog files?
+A package annotated this way behaves as if it were annotated with the
s/annotated/marked/ for consistency?
+``no`` value except that a depender may now append ``:any`` to the +package name in a dependency relation field. In that case, thean (?)
+dependency is considered satisfied even when the architecture of the +depender differs from the dependee's. Dependencies carrying a ``:any``
Hi Chris,
On Sat, Mar 29, 2025 at 02:00:06PM +0100, Chris Hofstaedtler wrote:
I'm an interested party, but certainly no expert on this topic. I have
however a few editorial remarks, inline below.
thanks for reviewing it. I made a pass across reviews received thus far
(1) and send and update now.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 481 |
Nodes: | 16 (2 / 14) |
Uptime: | 35:38:12 |
Calls: | 9,547 |
Calls today: | 7 |
Files: | 13,656 |
Messages: | 6,141,388 |