alpm-architecture(7)

NAME

architecture - architecture definition for ALPM based packages.

DESCRIPTION

The architecture format is a custom string format that contains CPU instruction set architectures[1] and further identifiers and is used for representing the architecture of ALPM based packages. This format is used in build scripts or file formats for package metadata (e.g. in PKGBUILD, BUILDINFO, PKGINFO) to describe the architecture of a package, or the architecture of dependency packages.

The architecture format comprises values defined by convention. The values are custom keywords, most of which are derived directly from CPU instruction set architectures[1] or specific microarchitectures.

The architecture value must be covered by the set of alphanumeric characters and '_'.

EXAMPLES

The below architecture values all relate to specific CPU instruction set architectures[1] or microarchitectures and can be used to specify a package architecture. This usually means that packages of a specific architecture can only be used in a particular context.

    "any"

A package can be used on any hardware as its contents are not specific to any architecture.

    "x86_64"

A package can only be used on hardware compatible with the x86-64[2] instruction set version 1 and above (see x86-64 microarchitecture levels[3]).

    "x86_64_v2"

A package can only be used on hardware compatible with the x86-64[2] instruction set version 2 and above (see x86-64 microarchitecture levels[3]).

    "x86_64_v3"

A package can only be used on hardware compatible with the x86-64[2] instruction set version 3 and above (see x86-64 microarchitecture levels[3]).

    "x86_64_v4"

A package can only be used on hardware compatible with the x86-64[2] instruction set version 4 and above (see x86-64 microarchitecture levels[3]).

    "i686"

A package can only be used on hardware compatible with the IA-32[4] instruction set version 6 (aka. P6[5], or 'i686'). This architecture is considered legacy.

    "i486"

A package can only be used on hardware compatible with the IA-32[4] instruction set version 4 (aka. i486[6]). This architecture is considered legacy.

    "pentium4"

A package can only be used on hardware compatible with the Pentium 4[7] microarchitecture. This architecture is considered legacy.

    "armv7"

A package can only be used on hardware compatible with the ARMv7 architecture family[8]. This architecture is considered legacy.

    "armv8"

A package can only be used on hardware compatible with the ARMv8 architecture family[9].

    "aarch64"

A package can only be used on hardware compatible with the AArch64[10] (64-bit execution state of the ARM architecture family[11]).

    "riscv64"

A package can only be used on hardware compatible with the 64-bit variant of the RISC-V[12] instruction set architecture (ISA[13]).

    "loong64"

A package can only be used on hardware compatible with the 64-bit variant of the LoongArch[14] instruction set architecture (ISA[13]).

SEE ALSO

BUILDINFO(5), PKGBUILD(5), PKGINFO(5), alpm-epoch(7), alpm-pkgrel(7), alpm-pkgver(7), vercmp(8)

NOTES

    1.  CPU instruction set architectures

        https://en.wikipedia.org/wiki/Comparison_of_instruction_set_architectures#Instruction_sets

    2.  x86-64

        https://en.wikipedia.org/wiki/X86-64

    3.  x86-64 microarchitecture levels

        https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels

    4.  IA-32

        https://en.wikipedia.org/wiki/IA-32

    5.  P6

        https://en.wikipedia.org/wiki/P6_(microarchitecture)

    6.  i486

        https://en.wikipedia.org/wiki/I486

    7.  pentium4

        https://en.wikipedia.org/wiki/Pentium_4

    8.  ARMv7 architecture family

        https://en.wikipedia.org/wiki/ARM_architecture_family#32-bit_architecture

    9.  ARMv8 architecture family

        https://en.wikipedia.org/wiki/ARM_architecture_family#Armv8

    10. AArch64

        https://en.wikipedia.org/wiki/AArch64

    11. ARM architecture family

        https://en.wikipedia.org/wiki/ARM_architecture_family

    12. RISC-V

        https://en.wikipedia.org/wiki/RISC-V

    13. ISA

        https://en.wikipedia.org/wiki/Instruction_set_architecture

    14. LoongArch

        https://en.wikipedia.org/wiki/Loongson#LoongArch