UPDATE-MULTIARCH(1)

Name

update-multiarch.pl - Multiarch helper for dpkg-cross and related tools

Description

Identifies the binary package names from the specified Packages file
and compare the identified list against the lists in
/etc/dpkg-cross/multiarch-cross.d then write out the list of additional package names to /var/lib/apt-cross/multiarch.list.

The list is overwritten each time update-multiarch.pl is run.

This config file helper is tied absolutely to a single target suite use a chroot for a different target suite.
Example of how dpkg-cross handles the list
If libfoo1 depends on libbar0 and libbar0 has transitioned to MultiArch compliance (and is listed in either
/etc/dpkg-cross/multiarch-cross.d/* or /var/lib/apt-cross/multiarch.list, then libfoo1-ARCH-cross will have a versioned depends on libbar0 to ensure that the multiarch version is
installed.

Depends: libc6-armel-cross (>= 2.4), libbar0 (>= 0.0.2-1), libbaz2-armel-cross Provides: libfoo1-armel-dcv1
Once libfoo has transitioned and the list updated using this helper or some alternative method, a rebuilt libfoo-ARCH-cross will be empty, and contain a new control field: x-Multiarch: delete along with a mangled
package description that tells users to delete all these packages as
soon as practical. (emprunecross can be used here.)

Depends: libc6-armel-cross (>= 2.4), libbar0 (>= 0.0.2-1), libbaz2-armel-cross Provides: libfoo1-armel-dcv1
X-Multiarch: delete

Alternatives

A simple list of packages can be found using "grep-aptavail":
grep-aptavail -s Package -F Multi-Arch same
grep-aptavail -s Package -F Multi-Arch foreign
grep-aptavail -s Package -F Multi-Arch allowed
However, note that grep-aptavail uses all sources in your apt
configuration and the results will not necessarily match either the
list for the target suite or for the target architecture.

Multi-arch field meanings for dpkg-cross:

Multi-Arch: same
This package is co-installable with itself, but it must not be used to satisfy the dependency of any package of a different architecture from itself.
dpkg-cross needs to include this dependency as a native dependency, so that the package for the cross architecture can be installed.

Multi-Arch: foreign
The package is not co-installable with itself, but should be allowed to satisfy the dependencies of a package of a different arch from itself.
dpkg-cross needs to include this dependency as a native dependency, so that the package is deemed to already meet the cross dependency.

Multi-Arch: allowed
This permits the reverse-dependencies of the package to annotate their Depends: field to indicate that a foreign architecture version of the
package satisfies the dependencies, but does not change the resolution of any existing dependencies. This value exists to prevent any packages from incorrectly annotating dependencies as being architecture-neutral without coordination with the maintainer of the depended-on package.
dpkg-cross needs to include this dependency as a native dependency, so that the package is deemed to already meet the cross dependency.
See:

https://wiki.ubuntu.com/MultiarchSpec
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout