Provided by: dpkg-dev_1.22.18ubuntu3_all bug

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 antingen variabeln DEB_BUILD_ARCH om den är satt (och --force inte
       anges) eller genom ett externt anrop till dpkg(1) och kan inte väljas från kommandoraden.

       Du kan ange värdarkitektur genom att ange en av, eller båda, flaggorna --host-arch och --host-type,
       annars används variabeln DEB_HOST_ARCH om den är satt (och --force inte anges). 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 --host-arch och -host-type, 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, --list
           Skriv miljövariabler, en per rad, på formatet VARIABEL=värde. Detta är förvald åtgärd.

       -e, --equal arkitektur
           Kontrollera  arkitektur  för  likhet  (sedan  dpkg  1.13.13).  Det  jämför den aktuella eller angivna
           Debian-värdarkitekturen mot  arkitektur,  för  att  se  om  de  är  lika.  Åtgärden  expanderar  inte
           jokertecken  i  arkitekturer. Kommandot avslutar med status 0 om det är en träff, 1 om det inte är en
           träff.

       -i, --is arkitektur-jokertecken
           Kontrollera arkitekturens identitet (sedan dpkg 1.13.13).  Det  jämför  den  aktuella  eller  angivna
           Debian-värdarkitekturen  mot  arkitektur-jokertecken  efter att ha expanderat det som ett arkitektur-
           jokertecken, för att se om de är lika. Kommandot avslutar med status 0 om det är en träff, 1  om  det
           inte är en träff.

       -q, --query variabelnamn
           Skriv värdet på en enkel variabel.

       -s, --print-set
           Visar ett exportkommando. Detta kan användas för att sätta miljövariabler med POSIX-skalet eller make
           eval, beroende på utdataformatet.

       -u, --print-unset
           Visar ett kommando liknande --print-set men för att ta bort värdet för alla variabler.

       -c, --command kommandosträng
           Exekvera en kommandosträng i en miljö som har alla variabler satta till det bestämda värdet.

           Om kommandosträng innehåller skalmetatecken kommer det att anropas genom systemets bourne-skal.

       -L, --list-known
           Visar  en  lista  över  giltiga  arkitekturnamn.  Möjligen  begränsad av en eller flera av träffvalen
           --match-wildcard, --match-bits eller --match-endian (sedan dpkg 1.17.14).

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

       --version
           Visar version och avslutar.

FLAGGOR

       -a, --host-arch arkitektur
           Ange värd-Debianarkitekturen.

       -t, --host-type gnu-system-typ
           Ange värd-GNU-systemtypen.

       -A, --target-arch arkitektur
           Ange mål-Debian-arkitekturen (sedan dpkg 1.17.14).

       -T, --target-type gnu-system-typ
           Ange mål-GNU-systemtypen (sedan dpkg 1.17.14).

       -W, --match-wildcard arkitektur-jokertecken
           Begränsa arkitekturerna som visas med --list-known till en  som  motsvarar  det  angivna  arkitektur-
           jokertecknet (sedan dpkg 1.17.14).

       -B, --match-bits arkitektur-bitar
           Begränsa  arkitekturerna  som  visas med --list-known till en med angivet antal CPU-bitar (sedan dpkg
           1.17.14). Antingen 32 eller 64.

       -E, --match-endian architecture-endian
           Begränsa arkitekturerna som visas med --list-known  till  en  som  har  angiven  endian  (sedan  dpkg
           1.17.14). Antingen little (liten endian) eller big (stor endian).

       --print-format format
           Väljer  utdataformatet  för  --print-set  och  --print-unset (sedan dpkg 1.20.6), till antingen shell
           (förval) eller make.

       -f, --force
           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.

       målmaskin
           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  that  itself  will  build  (or  run  emulated) code for the target
           architecture.

       Debianarkitektur
           The Debian architecture string, used in binary packages, which specifies the binary tree in a package
           repository.

           Examples: i386, sparc, hurd-i386.

       Debianarkitektur-tupel
           A Debian architecture tuple is the fully qualified architecture with all its components spelled  out.
           This differs with Debian architectures in that at least the cpu component does not embed the abi. The
           current tuple has the form abi-libc-os-cpu.

           Examples: base-gnu-linux-amd64, eabihf-musl-linux-arm.

       Debianarkitektursökmönster
           Ett Debianarkitektursökmönster är en speciell arkitektursträng som matchar alla äkta arkitekturer som
           finns  i  den.  Den genella formen är en Debianarkitektur-tupel med fyra eller färre element, och där
           åtminstone ett av dem är any. Saknade element i tupeln läggs till i  början  implicit  som  any,  och
           följande par är därmet ekvivalenta:

           any-any-any-any = any
           any-any-os-any = os-any
           any-libc-any-any = libc-any-any

           Exempel: linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-any.

       GNU-systemtyp
           An architecture specification string consisting of two parts separated by a hyphen: CPU and system.

           The CPU part never contains a hyphen, while the system part might itself contain a hyphen to separate
           a  kernel  from  its general ABI, where the general ABI might contain both runtime (such as libc) and
           executable ABI specifiers joined without a hyphen.

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

       multiark-triplett
           The clarified GNU system type, used for filesystem paths. This triplet does not change even when  the
           baseline  ISA  gets  bumped,  so  that  the  resulting  paths  are stable over time. The only current
           difference with the GNU system type is that the CPU part for i386 based systems is always i386.

           Examples:   i386-linux-gnu,    x86_64-linux-gnu.    Example    paths:    /lib/powerpc64le-linux-gnu/,
           /usr/lib/i386-kfreebsd-gnu/.

VARIABLER

       Följande variabler läses från miljön (med mindre --force har angivits) och sätts av dpkg-architecture (se
       stycket TERMINOLOGI för en beskrivning av hur namngivningen är uppbyggd):

       DEB_BUILD_ARCH
           Debianarkitekturen för byggmaskinen.

           Note:  If  you  are  not building tools that need to run during the build, these are probably not the
           variables you are looking for. Please see "TERMS" section for the meanings of these terms.

       DEB_BUILD_ARCH_ABI
           Debian-ABI-namnet för byggmaskinen (sedan dpkg 1.18.11).

       DEB_BUILD_ARCH_LIBC
           Debian-libc-namnet för byggmaskinen (sedan dpkg 1.18.11).

       DEB_BUILD_ARCH_OS
           Debiansystemnamnet på byggmaskinen (sedan dpkg 1.13.2).

       DEB_BUILD_ARCH_CPU
           Debian-processornamnet för byggmaskinen (sedan dpkg 1.13.2).

       DEB_BUILD_ARCH_BITS
           Pekarstorleken för byggmaskinen (i bitar; sedan dpkg 1.15.4).

       DEB_BUILD_ARCH_ENDIAN
           Endian för byggmaskinen (little / big; sedan dpkg 1.15.4).

       DEB_BUILD_GNU_CPU
           GNU CPU-delen av DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           GNU-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_ABI
           Debian-ABI-namnet för värdmaskinen (sedan dpkg 1.18.11).

       DEB_HOST_ARCH_LIBC
           Debian-libc-amnet för värdmaskinen (sedan dpkg 1.18.11).

       DEB_HOST_ARCH_OS
           Debiansystemnamnet för värdmaskinen (sedan dpkg 1.13.2).

       DEB_HOST_ARCH_CPU
           Debian-processornamnet för värdmaskinen (sedan dpkg 1.13.2).

       DEB_HOST_ARCH_BITS
           Pekarstorleken för värdmaskinen (i bitar; sedan dpkg 1.15.4).

       DEB_HOST_ARCH_ENDIAN
           Endian för värdmaskinen (little / big; sedan dpkg 1.15.4).

       DEB_HOST_GNU_CPU
           GNU-processordelen av DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           GNU-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  (sedan  dpkg
           1.16.0).

       DEB_TARGET_ARCH
           Debianarkitekturen för målmaskinen (sedan dpkg 1.17.14).

           Note:  If  you are not building cross-toolchains (or emulators), these are probably not the variables
           you are looking for. Please see "TERMS" section for the meanings of these terms.

       DEB_TARGET_ARCH_ABI
           Debian-ABI-namnet för målmaskinen (sedan dpkg 1.18.11).

       DEB_TARGET_ARCH_LIBC
           Debian-libc-namnet för målmaskinen (sedan dpkg 1.18.11).

       DEB_TARGET_ARCH_OS
           Debiansystemnamnet för målmaskinen (sedan dpkg 1.17.14).

       DEB_TARGET_ARCH_CPU
           Debian-processornamnet för målmaskinen (sedan dpkg 1.17.14).

       DEB_TARGET_ARCH_BITS
           Pekarstorleken för målmaskinen (i bitar; sedan dpkg 1.17.14).

       DEB_TARGET_ARCH_ENDIAN
           Endian för målmaskinen (little / big; sedan dpkg 1.17.14).

       DEB_TARGET_GNU_CPU
           GNU CPU-delen av DEB_TARGET_GNU_TYPE (sedan dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           GNU-systemdelen av DEB_TARGET_GNU_TYPE (sedan dpkg 1.17.14).

       DEB_TARGET_GNU_TYPE
           GNU-systemnamnet för målmaskinen (sedan dpkg 1.17.14).

       DEB_TARGET_MULTIARCH
           Den förtydligade GNU-systemtypen för målmaskinen, används för  sökvägar  i  filsystemet  (sedan  dpkg
           1.17.14).

FILER

   Arkitekturtabeller
       Alla  dessa  filer måste finnas för att dpkg-architecture ska fungera. Deras placering kan överstyras vid
       körning med miljövariabeln DPKG_DATADIR. Tabellerna innehåller  ett  pseudo-fält  med  format-Version  på
       första raden för att ange format, så att tolkar kan kontrollera om de förstår det, såsom "# Version=1.0".

       /usr/share/dpkg/cputable
           Tabell  över  kända  processornamn  och  deras  motsvarande  GNU-namn.  Formatversion 1.0 (sedan dpkg
           1.13.2).

       /usr/share/dpkg/ostable
           Tabell över kända operativsystemsnamn och deras motsvarande GNU-namn. Formatversion 2.0  (sedan  dpkg
           1.18.11).

       /usr/share/dpkg/tupletable
           Mappning  mellan  Debianarkitektur-tuplar  och  Debianarkitekturnamn.  Formatversion  1.0 (sedan dpkg
           1.18.11).

       /usr/share/dpkg/abitable
           Tabell över Debianarkitektur-ABI-attributöverstyrningar. Formatversion 2.0 (sedan dpkg 1.18.11).

   Paketeringsstöd
       /usr/share/dpkg/architecture.mk
           Makefile-utklipp som sätter alla variabler dpkg-architecture skriver (sedan dpkg 1.16.1):

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 aktuell eller angiven värdarkitektur är identisk till en arkitektur:

        dpkg-architecture -elinux-arm64

        dpkg-architecture -ariscv64 -elinux-riscv64

       Se om den aktuella eller angivna arkitekturen är ett Linuxsystem:

           dpkg-architecture -ilinux-any

            dpkg-architecture -aamd64 -ilinux-any

   Använda i 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)
        [...]
        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)

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

        DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

        ifeq ($(DEB_HOST_ARCH),arm64)
          [...]
        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),arm64)
              [...]
            endif

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

MILJÖVARIABLER

       DPKG_DATADIR
           Om  satt,  används  som  datakatalog  för dpkg, där arkitekturtabellerna ligger (sedan dpkg 1.14.17).
           Förval är ”/usr/share/dpkg”.

       DPKG_COLORS
           Väljer färgläge (sedan dpkg 1.18.5). För närvarande godtas följande värden: auto (förval), always och
           never.

       DPKG_NLS
           Om  satt,  används  för  att  bestämma  om  lokalt   språkstöd   ska   aktiveras,   även   känt   som
           internationaliseringsstöd (eller i18n) (sedan dpkg 1.19.0). Tillåtna värden är: 0 och 1 (förval).

ANTECKNINGAR

       De långa kommando- och flaggnamnen är endast tillgängliga sedan dpkg 1.17.17.

SE ÄVEN

       dpkg-buildpackage(1).

ÖVERSÄTTNING

       Peter Krefting och Daniel Nylander.

1.22.18                                            2025-04-28                               dpkg-architecture(1)