Source: architecture-properties Section: devel Priority: optional Maintainer: Architecture Properties Maintainers Uploaders: Niels Thykier , Build-Depends: debhelper-compat (= 13), perl:any Rules-Requires-Root: no Standards-Version: 4.6.1 Vcs-Git: https://salsa.debian.org/debian/architecture-properties.git Vcs-Browser: https://salsa.debian.org/debian/architecture-properties Package: architecture-properties Architecture: any Multi-Arch: same Provides: architecture-is-${DEB-HOST-ARCH-BITS}-bit, architecture-is-${DEB-HOST-ARCH-ENDIAN}-endian Description: Declarative architecture constraints This is a meta package that provide declarative architecture constraints like "architecture-is-64-bit" or "architecture-is-little-endian" for cases where architecture wildcard support in the Architecture field is insufficient. . Example usage: "Build-Depends: architecture-is-64-bit". . This package is provided solely for the purpose of being used in build-dependencies to simplify management of architecture support. Package: native-architecture Architecture: all Multi-Arch: no # Due to being M-A:no, this package can only ever satisfy native architecture # dependencies and that quite precisely is its purpose. Its Multi-Arch value # must not change even if the hinter says so. Description: Declarative native architecture constraint This is a meta package that can only satisfy a dependency for the native architecture. The native architecture is defined as the architecture of the dpkg package by the Multi-Arch specification. By depending on native-architecture, a client package can prevent its installation for a non-native architecture. Package: native-architecture-is Architecture: any Multi-Arch: foreign Depends: native-architecture Provides: native-architecture-is-${DEB-HOST-ARCH} # Due to the dependency on native-architecture, this package can only ever be # installed for the native architecture. The native instance of this package # can always be installed. A dependency on native-architecture-is is thus # always satisfiable and thereby meaningless. The benefit of this package # arises from its Provides where the architecture constraint is lifted into the # package name. Description: Declarative native architecture assertions This is a meta package that can be used to assert that a particular architecture is native. The native architecture is defined as the architecture of the dpkg package by the Multi-Arch specification. By depending on e.g. native-architecture-is-amd64, a client package can prevent its installation unless the native architecture is amd64. Package: cross-exe-wrapper Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, native-architecture | native-architecture-is-amd64 [i386] | native-architecture-is-x32 [i386] | native-architecture-is-armhf [armel] | native-architecture-is-mips64el [mipsel] | native-architecture-is-ppc64 [powerpc] | native-architecture-is-sparc64 [sparc] | qemu-user | qemu-user-static, # The dependency ensures that either the architecture we use for installing is # the native architecture or the native architecture is sibling architecture of # the package architecture that is known to reliably run its code or a qemu is # installed. For instance, native-architecture-is-arm64 [armhf] is missing as # some recent arm64 CPUs no longer run 32bit code. The alternatives also ensure # that e.g. no qemu is required for installing cross-exe-wrapper:i386 on amd64 # as we can reliably run i386 executables there without emulation. Description: Wrapper for executing binaries from other architectures Provides a tool ${DEB_HOST_GNU_TYPE}-cross-exe-wrapper that can be used to run ${DEB_HOST_ARCH} ELF executables on the current CPU employing emulation technology if required. . Since the tools are named per architecture, they should generally always be referred to via the substituion variable as done above.