Provided by: dpkg-dev_1.22.18ubuntu3_all bug

NAAM

       dpkg-architecture - de architectuur voor het bouwen van pakketten instellen en vaststellen

OVERZICHT

       dpkg-architecture [optie...] [commando]

BESCHRIJVING

       dpkg-architecture biedt een mogelijkheid om de bouw- en host-architectuur voor het bouwen van pakketten
       vast te stellen en in te stellen.

       De bouwarchitectuur wordt steeds bepaald door ofwel de variabele DEB_BUILD_ARCH indien deze ingesteld is
       (en --force niet werd opgegeven), of door een externe aanroep van dpkg(1) en kan niet ingesteld worden
       aan de commandoregel.

       U kunt de host-architectuur specificeren door een van of allebei de opties --host-arch en --host-type op
       te geven, anders wordt de variabele DEB_HOST_ARCH gebruikt als die ingesteld werd (en --force niet
       opgegeven werd). Wat de standaard is, wordt vastgesteld door een externe aanroep van gcc(1) of, als zowel
       CC als gcc onbeschikbaar zijn, gelijkgesteld aan de bouwarchitectuur. Een van beide, --host-arch of
       --host-type, volstaat. De andere waarde zal op een gebruikelijke standaardwaarde ingesteld worden. Het is
       inderdaad dikwijls beter om slechts één waarde op te geven, vermits dpkg-architecture een waarschuwing
       zal geven als de keuze die u maakt niet met de standaardwaarde overeenkomt.

COMMANDO'S

       -l, --list
           De  omgevingsvariabelen  weergeven,  één  per  regel, volgens de indeling VARIABELE=waarde. Dit is de
           standaardactie.

       -e, --equal architectuur
           Nagaan of de architecturen gelijk zijn (sinds dpkg 1.13.13). Het vergelijkt de huidige  of  opgegeven
           Debian  host-architectuur  met  architectuur  om  na  te  gaan of ze gelijk zijn. Deze actie zal geen
           architectuurjokertekens verwerken. Het commando sluit af met een afsluitstatus 0 bij gelijkheid en  1
           bij ongelijkheid.

       -i, --is architectuurjokerteken
           Nagaan  of  de architecturen gelijk zijn (sinds dpkg 1.13.13). Het vergelijkt de huidige of opgegeven
           Debian  host-architectuur  met  architectuurjokerteken,  nadat  dit  als  een  architectuurjokerteken
           verwerkt  werd, om na te gaan of beide gelijk zijn. Het commando sluit af met een afsluitstatus 0 bij
           gelijkheid en 1 bij ongelijkheid.

       -q, --query variabelenaam
           De waarde van één enkele variabele tonen.

       -s, --print-set
           Een export-commando tonen. Dit kan gebruikt worden om de omgevingsvariabelen in te stellen met behulp
           van het commando eval van de POSIX shell of van make, afhankelijk van de indeling van de uitvoer.

       -u, --print-unset
           Een commando tonen dat vergelijkbaar is met --print-set, maar om alle variabelen leeg te maken.

       -c, --command commando-tekenreeks
           Een commando-tekenreeks uitvoeren in een  omgeving  waarin  alle  variabelen  ingesteld  zijn  op  de
           vastgelegde waarde.

           Als  de commando-tekenreeks shell-metatekens bevat, dan wordt het aangeroepen via de bourne-shell van
           het systeem.

       -L, --list-known
           Een lijst van geldige architectuurbenamingen tonen. Kan eventueel ingeperkt worden met  een  of  meer
           van de vergelijkingsopties --match-wildcard, --match-bits of --match-endian (sinds dpkg 1.17.14).

       -?, --help
           Info tonen over het gebruik en afsluiten.

       --version
           De versie tonen en afsluiten.

OPTIES

       -a, --host-arch architectuur
           De Debian-architectuur voor de host instellen.

       -t, --host-type gnu-systeemtype
           Het GNU-systeemtype instellen voor de host.

       -A, --target-arch architectuur
           De Debian-architectuur instellen voor het doel (sinds dpkg 1.17.14).

       -T, --target-type gnu-systeemtype
           Het GNU-systeemtype instellen voor het doel (sinds dpkg 1.17.14).

       -W, --match-wildcard architectuurjokerteken
           De  architecturen  die  door --list-known weergegeven worden, beperken tot die welke beantwoorden aan
           het opgegeven architectuurjokerteken (sinds dpkg 1.17.14).

       -B, --match-bits architectuur-bits
           De architecturen die door --list-known weergegeven worden, beperken tot die met de opgegeven CPU-bits
           (sinds dpkg 1.17.14). Ofwel 32 ofwel 64.

       -E, --match-endian architectuur-bytevolgorde
           De architecturen die door  --list-known  weergegeven  worden,  beperken  tot  die  met  de  opgegeven
           bytevolgorde (endianness) (sinds dpkg 1.17.14). Ofwel little ofwel big.

       --print-format indeling
           Stelt  de  indeling  van  de uitvoer van --print-set en --print-unset (sinds dpkg 1.20.6) in op ofwel
           shell (standaard) of make.

       -f, --force
           Waarden die door bestaande omgevingsvariabelen ingesteld zijn en die dezelfde  naam  hebben  als  die
           welke  door  de scripts gebruikt worden, worden gehonoreerd (d.w.z. gebruikt door dpkg-architecture),
           behalve wanneer deze forceer-vlag gebruikt wordt.  Dit  laat  de  gebruiker  toe  om  een  waarde  te
           vervangen,   zelfs  als  het  aanroepen  van  dpkg-architecture  ingebed  zit  in  een  ander  script
           (bijvoorbeeld dpkg-buildpackage(1)).

TERMINOLOGIE

       bouwmachine
           De machine waarop het pakket gebouwd wordt.

       hostmachine
           De machine waarvoor het pakket gebouwd wordt.

       doelmachine
           The machine the compiler is building for, or the emulator will run code for.   This  is  only  needed
           when  building  a cross-toolchain (or emulator), one that will be built on the build architecture, to
           be run on the host architecture, and that itself will build (or run emulated)  code  for  the  target
           architecture.

       Debian-architectuur
           The Debian architecture string, used in binary packages, which specifies the binary tree in a package
           repository.

           Examples: i386, sparc, hurd-i386.

       Debian-architectuurtupel
           A  Debian architecture tuple is the fully qualified architecture with all its components spelled out.
           This differs with Debian architectures in that at least the cpu component does  not  embed  the  abi.
           The current tuple has the form abi-libc-os-cpu.

           Examples: base-gnu-linux-amd64, eabihf-musl-linux-arm.

       Debian-architectuurjokerteken
           Een  Debian-architectuurjokerteken  is  een  speciale  architectuurtekenreeks  die  een  overeenkomst
           oplevert met  elke  echte  architectuur  die  er  onder  hoort.  De  algemene  vorm  is  een  Debian-
           architectuurtupel  met  vier  of  minder  elementen  en  waarvan  er minstens een any is. Ontbrekende
           elementen van de tupel worden impliciet  als  any  voorgevoegd,  en  dus  zijn  de  volgende  koppels
           equivalent:

           any-any-any-any = any
           any-any-os-any = os-any
           any-libc-any-any = libc-any-any

           Voorbeelden: linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-any.

       GNU-systeemtype
           An architecture specification string consisting of two parts separated by a hyphen: CPU and system.

           The CPU part never contains a hyphen, while the system part might itself contain a hyphen to separate
           a  kernel  from  its general ABI, where the general ABI might contain both runtime (such as libc) and
           executable ABI specifiers joined without a hyphen.

           Examples: i586-linux-gnu, sparc-linux-gnu, i686-gnu, x86_64-netbsd.

       multiarch-triplet
           The clarified GNU system type, used for filesystem paths.  This triplet does not change even when the
           baseline ISA gets bumped, so that the resulting  paths  are  stable  over  time.   The  only  current
           difference with the GNU system type is that the CPU part for i386 based systems is always i386.

           Examples:    i386-linux-gnu,    x86_64-linux-gnu.     Example   paths:   /lib/powerpc64le-linux-gnu/,
           /usr/lib/i386-kfreebsd-gnu/.

VARIABELEN

       De volgende variabelen worden gelezen uit de omgeving (tenzij  --force  werd  opgegeven)  en  door  dpkg-
       architecture ingesteld (zie de sectie TERMS voor een beschrijving van het naamgevingsschema):

       DEB_BUILD_ARCH
           De Debian architectuur van de bouwmachine.

           Note:  If  you  are  not building tools that need to run during the build, these are probably not the
           variables you are looking for.  Please see "TERMS" section for the meanings of these terms.

       DEB_BUILD_ARCH_ABI
           De Debian ABI-naam van de bouwmachine (sinds dpkg 1.18.11).

       DEB_BUILD_ARCH_LIBC
           De Debian libc-naam van de bouwmachine (sinds dpkg 1.18.11).

       DEB_BUILD_ARCH_OS
           De Debian systeemnaam van de bouwmachine (sinds dpkg 1.13.2).

       DEB_BUILD_ARCH_CPU
           De Debian CPU-naam van de bouwmachine (sinds dpkg 1.13.2).

       DEB_BUILD_ARCH_BITS
           De pointergrootte van de bouwmachine (in bits; sinds dpkg 1.15.4).

       DEB_BUILD_ARCH_ENDIAN
           De bytevolgorde (endianness) van de bouwmachine (little / big; sinds dpkg 1.15.4).

       DEB_BUILD_GNU_CPU
           Het onderdeel GNU CPU van DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           Het onderdeel GNU system van DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_TYPE
           Het GNU-systeemtype van de bouwmachine.

       DEB_BUILD_MULTIARCH
           Het uitgezuiverde GNU-systeemtype van de bouwmachine, dat gebruikt  wordt  voor  bestandssysteempaden
           (sinds dpkg 1.16.0).

       DEB_HOST_ARCH
           De Debian architectuur van de hostmachine.

       DEB_HOST_ARCH_ABI
           De Debian ABI-naam van de hostmachine (sinds dpkg 1.18.11).

       DEB_HOST_ARCH_LIBC
           De Debian libc-naam van de hostmachine (sinds dpkg 1.18.11).

       DEB_HOST_ARCH_OS
           De Debian systeemnaam van de hostmachine (sinds dpkg 1.13.2).

       DEB_HOST_ARCH_CPU
           De Debian CPU-naam van de hostmachine (sinds dpkg 1.13.2).

       DEB_HOST_ARCH_BITS
           De pointergrootte van de hostmachine (in bits; sinds dpkg 1.15.4).

       DEB_HOST_ARCH_ENDIAN
           De bytevolgorde (endianness) van de hostmachine (little / big; sinds dpkg 1.15.4).

       DEB_HOST_GNU_CPU
           Het onderdeel GNU CPU van DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           Het onderdeel GNU system van DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_TYPE
           Het GNU-systeemtype van de hostmachine.

       DEB_HOST_MULTIARCH
           Het  uitgezuiverde  GNU-systeemtype van de hostmachine, dat gebruikt wordt voor bestandssysteem-paden
           (sinds dpkg 1.16.0).

       DEB_TARGET_ARCH
           De Debian architectuur van de doelmachine (sinds dpkg 1.17.14).

           Note: If you are not building cross-toolchains (or emulators), these are probably not  the  variables
           you are looking for.  Please see "TERMS" section for the meanings of these terms.

       DEB_TARGET_ARCH_ABI
           De Debian ABI-naam van de doelmachine (sinds dpkg 1.18.11).

       DEB_TARGET_ARCH_LIBC
           De Debian libc-naam van de doelmachine (sinds dpkg 1.18.11).

       DEB_TARGET_ARCH_OS
           De Debian systeemnaam van de doelmachine (sinds dpkg 1.17.14).

       DEB_TARGET_ARCH_CPU
           De Debian CPU-naam van de doelmachine (sinds dpkg 1.17.14).

       DEB_TARGET_ARCH_BITS
           De pointergrootte van de doelmachine (in bits; sinds dpkg 1.17.14).

       DEB_TARGET_ARCH_ENDIAN
           De bytevolgorde (endianness) van de doelmachine (little / big; sinds dpkg 1.17.14).

       DEB_TARGET_GNU_CPU
           Het onderdeel GNU CPU van DEB_TARGET_GNU_TYPE (sinds dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           Het onderdeel GNU system van DEB_TARGET_GNU_TYPE (sinds dpkg 1.17.14).

       DEB_TARGET_GNU_TYPE
           Het GNU-systeemtype van de doelmachine (sinds dpkg 1.17.14).

       DEB_TARGET_MULTIARCH
           Het  uitgezuiverde  GNU-systeemtype  van de doelmachine, dat gebruikt wordt voor bestandssysteempaden
           (sinds dpkg 1.17.14).

BESTANDEN

   Architectuurtabellen
       Al deze bestanden moeten aanwezig zijn, wil dpkg-architecture kunnen werken. Hun  locatie  kan  veranderd
       worden  bij  de programmauitvoering met de omgevingsvariabele DPKG_DATADIR. Deze tabellen bevatten op hun
       eerste regel een pseudo-veld format Version om hun indeling aan te geven, zodat ontleders  kunnen  nagaan
       of zij ermee kunnen omgaan, zoals "# Version=1.0".

       /usr/share/dpkg/cputable
           Tabel  met  gekende  CPU-namen  en  hun  omzetting naar een GNU-naam. Indeling versie 1.0 (sinds dpkg
           1.13.2).

       /usr/share/dpkg/ostable
           Tabel van gekende namen van besturingssystemen en hun omzetting naar een  GNU-naam.  Indeling  versie
           2.0 (sinds dpkg 1.18.11).

       /usr/share/dpkg/tupletable
           Omzetting  tussen  Debian  architectuurtupels en Debian architectuurnamen. Indeling versie 1.0 (sinds
           dpkg 1.18.11).

       /usr/share/dpkg/abitable
           Tabel van Debian architectuur-ABI-attribuutvervangingen. Indeling versie 2.0 (sinds dpkg 1.18.11).

   Ondersteuning bij het maken van een pakket
       /usr/share/dpkg/architecture.mk
           Makefile-fragment  dat  alle  variabelen  die  dpkg-architecture  uitvoert,  behoorlijk  instelt   en
           exporteert (sinds dpkg 1.16.1).

VOORBEELDEN

       dpkg-buildpackage  kan  gebruikt  worden  met de optie -a en geeft die door aan dpkg-architecture. Andere
       voorbeelden:

        CC=i386-gnu-gcc dpkg-architecture -c debian/rules build

        eval $(dpkg-architecture -u)

       Verifiëren of de huidige of opgegeven hostarchitectuur gelijk is aan een architectuur:

        dpkg-architecture -elinux-arm64

        dpkg-architecture -ariscv64 -elinux-riscv64

       Verifiëren of de huidige of opgegeven hostarchitectuur een Linux-systeem is:

        dpkg-architecture -ilinux-any

        dpkg-architecture -aamd64 -ilinux-any

   Het gebruik in debian/rules
       De omgevingsvariabelen die door dpkg-architecture ingesteld worden, worden doorgegeven  aan  debian/rules
       als  variabelen  voor  make (zie de documentatie van make). U mag er echter niet op vertrouwen, aangezien
       dit het handmatig uitvoeren van het script verhindert. In de  plaats  daarvan  zou  u  ze  altijd  moeten
       initialiseren met door dpkg-architecture met de optie -q te gebruiken. Hier volgen enkele voorbeelden die
       ook illustreren hoe u in uw pakket ondersteuning voor cross-compilatie kunt verbeteren:

       Het opvragen van het GNU-systeemtype en dit doorgeven aan ./configure:

        DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
        DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
        [...]
        ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
          confflags += --build=$(DEB_HOST_GNU_TYPE)
        else
          confflags += --build=$(DEB_BUILD_GNU_TYPE) \
                       --host=$(DEB_HOST_GNU_TYPE)
        endif
        [...]
        ./configure $(confflags)

       Iets enkel voor een specifieke architectuur doen:

        DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

        ifeq ($(DEB_HOST_ARCH),arm64)
          [...]
        endif

       of  indien  u enkel dient te controleren wat het type CPU of OS is, moet u de variabele DEB_HOST_ARCH_CPU
       of DEB_HOST_ARCH_OS gebruiken.

       Merk op dat u ook kunt betrouwen op een extern Makefile-fragment om al de  variabelen  behoorlijk  in  te
       stellen die door dpkg-architecture kunnen aangeleverd worden:

        include /usr/share/dpkg/architecture.mk

        ifeq ($(DEB_HOST_ARCH),arm64)
          [...]
        endif

       In  ieder  geval  moet  u  nooit dpkg --print-architecture gebruiken om architectuurinformatie te bekomen
       tijdens het bouwen van een pakket.

OMGEVING

       DPKG_DATADIR
           Indien deze variabele een waarde heeft, zal ze gebruikt worden als de data-map van dpkg  waarin  zich
           de   architectuurtabellen   bevinden   (sinds   dpkg   1.14.17).   Staat   standaard   ingesteld   op
           «/usr/share/dpkg».

       DPKG_COLORS
           Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt mogen  worden  zijn:  auto
           (standaard), always en never.

       DPKG_NLS
           Indien  dit  ingesteld  is,  zal  het  gebruikt  worden  om  te  beslissen  over  het  activeren  van
           moedertaalondersteuning, ook gekend als  internationaliseringsondersteuning  (of  i18n)  (sinds  dpkg
           1.19.0). Geldige waarden zijn: 0 and 1 (standaard).

OPMERKINGEN

       Alle lange commando- en optienamen kunnen slechts sinds dpkg 1.17.17 gebruikt worden.

ZIE OOK

       dpkg-buildpackage(1).

1.22.18                                            2025-04-28                               dpkg-architecture(1)