Provided by: dpkg-dev_1.21.9ubuntu1_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
           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 code moet bouwen (of geëmuleerd moet uitvoeren) voor de
           doelarchitectuur.

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