dpkg-architecture(1)

NAMN
dpkg-architecture - ställ in och bestäm arkitektur för paket som byggs

SYNOPS
dpkg-architecture [flagga...] [åtgärd]

BESKRIVNING
dpkg-architecture innehåller en funktion för att bestämma och ställa in bygg- och värdarkitekturerna för att bygga paket.

Byggarkitekturen bestäms alltid av ett externt anrop till dpkg(1) och kan inte ställas in på kommandoraden.

Du kan ange värdarkitektur genom att ange en av, eller båda, flaggorna -a och -t. Förvalet bestäms av ett externt anrop till gcc(1), eller är detsamma som byggarkitekturen varken CC eller gcc är tillgängliga. Det räcker att ange en av -a och -t, värdet på den andra kommer ställas in till ett fungerande förval. Det är faktiskt oftast bättre att bara ange den ena eftersom dpkg-architecture kommer varna dig om ditt val inte överensstämmer med förvalet.

KOMMANDON

-l  Skriv miljövariabler, en per rad, på formatet VARIABEL=värde. Detta är förvald åtgärd.

-edebianarkitektur
    Kontrollera arkitektur för likhet. Som standard jämförs debianarkitektur mot den aktuella Debianarkitekturen, som är värd. Åtgärden expanderar inte jokertecken i arkitekturer. Kommandet avslutar med status 0 om det är en träff, 1 om det inte är en träff.

-iarkitektursökmönster
    Kontrollera identitet på arkitekturen genom att expandera arkitektursökmönster som ett arkitektursökmönster med jokertecken, och jämföra med den aktuella Debianarkitekturen. Kommandot avslutas med status 0 vid träff, 1 om inte träff.

-qvariabelnamn
    Skriv värdet på en enkel variabel.

-s  Visar ett exportkommando. Detta kan användas för att sätta miljövariabler med eval.

-u  Visar ett kommando liknande -s som för att nollställa alla variabler.

-c kommando
    Exekvera ett kommando i en miljö som har alla variabler satta till det bestämda värdet.

-L  Visa en lista över giltiga arkitekturnamn.

-?, --help
    Visar hjälpskärm och avslutar.

--version
    Visar version och avslutar.

FLAGGOR

-adebianarkitektur
    Välj Debianarkitektur.

-tgnu-systemtyp
    Välj GNU-systemtyp.

-f  Värden som sätts av befintliga miljövariabler med samma namn som de som används av skriptet används (t.ex av dpkg-architecture), såvida inte denna tvingande flagga anges. Det gör det möjligt för användaren att överstyra ett värde även om anropet till dpkg-architecture är begravt djupt inuti ett annat skript (till exempel dpkg-buildpackage(1)).

TERMINOLOGI

byggmaskin
    Maskinen paketet byggs på.

värdmaskin
    Maskinen paketet byggs för.

Debianarkitektur
    Debianarkitektursträngen, vilken anger binärträdet i -s1FT-arkivet. Exempel: i386, sparc, hurd-i386.

arkitektursökmönster
    Ett arkitektursökmönster är en speciell arkitektursträng som matchar alla äkta arkitekturer som finns i den. Den genella formen är <kärna>-<cpu>. Exempel: linux-any, any-i386, hurd-any.

GNU-systemtyp
    En arkitekturspecificeringssträng består av två delar, avdelade med bindestreck: processor och system. Exempel: i386-linux-gnu, sparc-linux-gnu, i386-gnu, x86_64-netbsd.

VARIABLER
Följande variabler sätts av dpkg-architecture:

DEB_BUILD_ARCH
    Debianarkitekturen för byggmaskinen.

DEB_BUILD_ARCH_OS
    Debiansystemnamnet för byggmaskinen.

DEB_BUILD_ARCH_CPU
    Debian-processornamnet för byggmaskinen.

DEB_BUILD_ARCH_BITS
    Pekarstorleken för byggmaskinen (i bitar).

DEB_BUILD_ARCH_ENDIAN
    Endian för byggmaskinen (little / big).

DEB_BUILD_GNU_CPU
    CPU-delen av DEB_BUILD_GNU_TYPE.

DEB_BUILD_GNU_SYSTEM
    Systemdelen av DEB_BUILD_GNU_TYPE.

DEB_BUILD_GNU_TYPE
    GNU-systemtypen för byggmaskinen.

DEB_BUILD_MULTIARCH
    Den förtydligade GNU-systemtypen för byggmaskinen, används för sökvägar i filsystemet.

DEB_HOST_ARCH
    Debianarkitekturen för värdmaskinen.

DEB_HOST_ARCH_OS
    Debiansystemnamnet för värdmaskinen.

DEB_HOST_ARCH_CPU
    Debian-processornamnet för värdmaskinen.

DEB_HOST_ARCH_BITS
    Pekarstorleken för värdmaskinen (i bitar).

DEB_HOST_ARCH_ENDIAN
    Endian för värdmaskinen (little / big).

DEB_HOST_GNU_CPU
    CPU-delen av DEB_HOST_GNU_TYPE.

DEB_HOST_GNU_SYSTEM
    Systemdelen av DEB_HOST_GNU_TYPE.

DEB_HOST_GNU_TYPE
    GNU-systemtypen för värdmaskinen.

DEB_HOST_MULTIARCH
    Den förtydligade GNU-systemtypen för värdmaskinen, används för sökvägar i filsystemet.

DEBIAN/RULES
Miljövariablerna som sätts av dpkg-architecture sänds till debian/rules som make-variabler (se dokumentationen för make). Du bör dock inte bero på dem eftersom detta förhindrar manuella anrop till skriptet. Du bör istället alltid initiera dem med dpkg-architecture med -q-flaggan. Här är några exempel, vilka även visar hur du kan förbättra stödet för korskompilering i ditt paket:

Hämta GNU-systemtypen och vidaresänd den till ./configure:

    DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
    DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
    [...]
    configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)

Gör något endast för en specifik arkitektur:

    DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
    ifeq ($(DEB_HOST_ARCH),alpha)
      [...]
    endif

eller, om du bara vill testa på processor- eller OS-typ, använd variablerna DEB_HOST_ARCH_CPU eller DEB_HOST_ARCH_OS.

Observera att du även kan bero på att ett externt Makefile-utklipp sätter alla variabler dpkg-architecture kan tillhandahålla:

    include /usr/share/dpkg/architecture.mk
    ifeq ($(DEB_HOST_ARCH),alpha)
      [...]
    endif

Oavsett bör du aldrig använda dpkg --print-architecture för att hämta arkitekturinformation när paketet byggs.

BAKÅTKOMPATIBILITET
Makefile-utklippet /usr/share/dpkg/architecture.mk tillhandahålls av dpkg-dev från version 1.16.1.

Variablerna DEB_*_ARCH_BITS och DEB_*_ARCH_ENDIAN introducerades i dpkg-dev 1.15.4. Om de används i debian/rules måste därför ett byggberoende deklareras på dpkg-dev (>= 1.15.4).

Variablerna DEB_HOST_ARCH_CPU och DEB_HOST_ARCH_OS introducerades i dpkg-dev 1.13.2.

Flaggorna -e och -i introducerades i dpkg-architecture relativt nyligen (sedan dpkg 1.13.13).

EXEMPEL
dpkg-architecture godtar flaggan -a och sänder den vidare till dpkg-architecture. Andra exempel:

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

    eval `dpkg-architecture -u`

Kontrollera om en arkitektur är samma som den nuvarande eller en given:

    dpkg-architecture -elinux-alpha

    dpkg-architecture -amips -elinux-mips

Se om den aktuella arkitekturen eller en arkitektur som anges med -a är ett Linuxsystem:

    dpkg-architecture -ilinux-any

    dpkg-architecture -ai386 -ilinux-any

FILER
Alla dessa filer måste finnas för att dpkg-architecture måste finnas. Deras placering kan överstyras vid körning med miljövariabeln DPKG_DATADIR.

/usr/share/dpkg/cputable
    Tabell över kända processornamn och deras motsvarande GNU-namn.

/usr/share/dpkg/ostable
    Tabell över kända operativsystemsnamn och deras motsvarande GNU-namn.

/usr/share/dpkg/triplettable
    Tabell över Debianarkitekturtripplar och deras motsvarande Debianarkitekturnamn.

SE ÄVEN
dpkg-buildpackage(1), dpkg-cross(1).

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.