Provided by: dpkg-dev_1.21.1ubuntu2.3_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.

       -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 to build (or run emulated) code for the target architecture.

       Debian-architectuur
           De  tekenreeks  waarmee  de  Debian-architectuur  aangeduid  wordt en die ook de boomstructuur met de
           binaire pakketten in het FTP-archief specificeert. 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. 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.

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

       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-alpha

        dpkg-architecture -amips -elinux-mips

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

        dpkg-architecture -ilinux-any

        dpkg-architecture -ai386 -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),alpha)
          [...]
        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),alpha)
          [...]
        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.21.1                                             2024-02-23                               dpkg-architecture(1)