Provided by: dpkg-dev_1.19.0.5ubuntu2.4_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 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. 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
              Geef   de   omgevingsvariabelen,   per   regel   één,   weer  volgens  de  indeling
              VARIABELE=waarde. Dit is de standaardactie.

       -e, --equal architectuur
              Ga na 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
              Ga  na  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
              Toon de waarde van één enkele variabele.

       -s, --print-set
              Toon een export-commando. Dit kan gebruikt worden  om  de  omgevingsvariabelen  met
              behulp van eval in te stellen.

       -u, --print-unset
              Toon  een  commando dat vergelijkbaar is met --print-unset, maar om alle variabelen
              leeg te maken.

       -c, --command command-string
              Execute a command-string in an environment which  has  all  variables  set  to  the
              determined value.

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

       -?, --help
              Toon info over het gebruik en sluit af.

       --version
              Toon de versie en sluit af.

OPTIES

       -a, --host-arch architectuur
              Stel de Debian-architectuur in voor de host.

       -t, --host-type gnu-systeemtype
              Stel het GNU-systeemtype in voor de host.

       -A, --target-arch architectuur
              Stel de Debian-architectuur in voor het doel (sinds dpkg 1.17.14).

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

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

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

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

       -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.  Dit is enkel nodig bij het bouwen van een
           kruisgereedschapskist (cross-toolchain), een gereedschapskist die gebouwd  zal  worden
           op  de  bouwarchitectuur  om  uitgevoerd te worden op de hostarchitectuur en code moet
           bouwen 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 door dpkg-architecture ingesteld:

       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 CPU-gedeelte van DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           Het systeemgedeelte 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 CPU-gedeelte van DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           The systeemgedeelte 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 CPU-gedeelte van DEB_TARGET_GNU_TYPE (sinds dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           Het systeemgedeelte 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`

       Verifieer of de huidige of opgegeven hostarchitectuur gelijk is aan een architectuur:

              dpkg-architecture -elinux-alpha

              dpkg-architecture -amips -elinux-mips

       Verifieer 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».

OPMERKINGEN

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

ZIE OOK

       dpkg-buildpackage(1).