Provided by: dpkg-dev_1.22.21ubuntu3.1_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
           De machine waarvoor de compiler bouwt of waar de emulator code voor zal uitvoeren. Dit is enkel nodig
           bij het bouwen van een kruisgereedschapsketen (cross-toolchain) (of emulator), een  die  gebouwd  zal
           worden  op  de  bouwarchitectuur  om uitgevoerd te worden op de hostarchitectuur en die zelf code zal
           bouwen (of geëmuleerd zal uitvoeren) voor de doelarchitectuur.

       Debian-architectuur
           De tekenreeks waarmee de  Debian-architectuur  aangeduid  wordt,  welke  gebruikt  wordt  in  binaire
           pakketten, en die de binaire boomstructuur specificeert in een pakketarchief.

           Voorbeelden: i386, sparc, hurd-i386.

       Debian-architectuurtupel
           Een  Debian-architectuurtupel  is  de volledige unieke architectuurnaam met de expliciete  vermelding
           van alle componenten. Dit verschilt minstens daarin van een Debian architectuur dat de component  cpu
           niet de abi impliceert. Het huidige tupel heeft als vorm abi-libc-os-cpu.

            Voorbeelden: 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
           Een  tekenreeks die een architectuurspecificatie inhoudt en bestaat uit twee delen met daartussen een
           koppelteken: CPU en systeem.

           Het CPU gedeelte bevat nooit een koppelteken, terwijl het systeemgedeelte zelf  een  koppelteken  kan
           bevatten  om een kernel te scheiden van de algemene ABI, waarbij de algemene ABI zowel runtime (zoals
           libc) als uitvoerbare ABI-specificaties kan bevatten die zonder koppelteken zijn samengevoegd.

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

       multiarch-triplet
           Het uitgezuiverde GNU-systeemtype dat voor bestandssysteempaden gebruikt wordt. Dit triplet verandert
           zelfs niet wanneer het referentie-ISA verhoogd wordt, waardoor de resulterende paden stabiel  blijven
           door  de  tijd.  Het  enige verschil met het GNU-systeemtype is momenteel dat voor op i386 gebaseerde
           systemen het CPU-gedeelte steeds i386 is.

           Voorbeelden: i386-linux-gnu, x86_64-linux-gnu. Voorbeelden  van  paden:  /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.

           Opmerking: Als u geen gereedschappen bouwt die tijdens de bouw moeten  worden  uitgevoerd,  zijn  dit
           waarschijnlijk niet de variabelen die u zoekt. Zie sectie "TERMS" voor de betekenis van deze termen.

       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).

           Opmerking:  Als  u  geen cross-gereedschapssets bouwt (of emulators), zijn dit waarschijnlijk niet de
           variabelen die u zoekt. Zie sectie "TERMS" voor de betekenissen van deze termen.

       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.21                                            2025-10-16                               dpkg-architecture(1)