Provided by: dpkg-dev_1.16.1.2ubuntu7_all bug

NAMN

       dpkg-architecture - stall in och bestam arkitektur for paket som byggs

SYNOPS

       dpkg-architecture [flagga...] [oatg"ard]

BESKRIVNING

       dpkg-architecture innehaller en funktion for att bestamma och stalla in
       bygg- och vardarkitekturerna for att bygga paket.

       Byggarkitekturen bestams alltid av ett externt anrop till  dpkg(1)  och
       kan inte stallas in pa kommandoraden.

       Du  kan ange vardarkitektur genom att ange en av, eller bada, flaggorna
       -a och -t. Forvalet bestams av ett externt anrop till gcc(1), eller  ar
       detsamma  som byggarkitekturen varken CC eller gcc ar tillgangliga. Det
       racker att ange en av -a och -t, vardet pa den andra kommer stallas  in
       till ett fungerande forval. Det ar faktiskt oftast battre att bara ange
       den ena eftersom dpkg-architecture kommer varna dig om  ditt  val  inte
       overensstammer med forvalet.

KOMMANDON

       -l     Skriv  miljovariabler,  en  per rad, pa formatet VARIABEL=v"arde.
              Detta ar forvald atgard.

       -edebianarkitektur
              Kontrollera  arkitektur  for  likhet.   Som   standard   jamfors
              debianarkitektur  mot  den  aktuella  Debianarkitekturen, som ar
              vard.  Atgarden  expanderar  inte  jokertecken  i  arkitekturer.
              Kommandet  avslutar  med  status  0 om det ar en traff, 1 om det
              inte ar en traff.

       -iarkitekturs"okm"onster
              Kontrollera  identitet  pa  arkitekturen  genom  att   expandera
              arkitekturs"okm"onster    som    ett    arkitektursokmonster   med
              jokertecken, och jamfora med  den  aktuella  Debianarkitekturen.
              Kommandot avslutas med status 0 vid traff, 1 om inte traff.

       -qvariabelnamn
              Skriv vardet pa en enkel variabel.

       -s     Visar  ett  exportkommando.  Detta  kan  anvandas  for att satta
              miljovariabler med eval.

       -u     Visar ett kommando liknande  -s  som  for  att  nollstalla  alla
              variabler.

       -c kommando
              Exekvera  ett  kommando  i en miljo som har alla variabler satta
              till det bestamda vardet.

       -L     Visa en lista over giltiga arkitekturnamn.

       --help Visar hjalpskarm och avslutar.

       --version
              Visar version och avslutar.

FLAGGOR

       -adebianarkitektur
              Valj Debianarkitektur.

       -tgnu-systemtyp
              Valj GNU-systemtyp.

       -f     Varden som satts av befintliga miljovariabler med samma namn som
              de  som anvands av skriptet anvands (t.ex av dpkg-architecture),
              savida inte denna tvingande flagga anges. Det  gor  det  mojligt
              for  anvandaren  att  overstyra  ett  varde aven om anropet till
              dpkg-architecture ar begravt djupt inuti ett annat skript  (till
              exempel dpkg-buildpackage(1)).

TERMINOLOGI

       byggmaskin
           Maskinen paketet byggs pa.

       vardmaskin
           Maskinen paketet byggs for.

       Debianarkitektur
           Debianarkitekturstrangen, vilken anger binartradet i -s1FT-arkivet.
           Exempel: i386, sparc, hurd-i386.

       arkitektursokmonster
           Ett  arkitektursokmonster  ar  en  speciell  arkitekturstrang   som
           matchar  alla akta arkitekturer som finns i den. Den genella formen
           ar <karna>-<cpu>. Exempel: linux-any, any-i386, hurd-any.

       GNU-systemtyp
           En arkitekturspecificeringsstrang bestar av tva delar, avdelade med
           bindestreck:   processor   och   system.  Exempel:  i386-linux-gnu,
           sparc-linux-gnu, i386-gnu, x86_64-netbsd.

VARIABLER

       Foljande variabler satts av dpkg-architecture:

       DEB_BUILD_ARCH
           Debianarkitekturen for byggmaskinen.

       DEB_BUILD_ARCH_OS
           Debiansystemnamnet for byggmaskinen.

       DEB_BUILD_ARCH_CPU
           Debian-processornamnet for byggmaskinen.

       DEB_BUILD_ARCH_BITS
           Pekarstorleken for byggmaskinen (i bitar).

       DEB_BUILD_ARCH_ENDIAN
           Endian for 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 for byggmaskinen.

       DEB_BUILD_MULTIARCH
           Den fortydligade  GNU-systemtypen  for  byggmaskinen,  anvands  for
           sokvagar i filsystemet.

       DEB_HOST_ARCH
           Debianarkitekturen for vardmaskinen.

       DEB_HOST_ARCH_OS
           Debiansystemnamnet for vardmaskinen.

       DEB_HOST_ARCH_CPU
           Debian-processornamnet for vardmaskinen.

       DEB_HOST_ARCH_BITS
           Pekarstorleken for vardmaskinen (i bitar).

       DEB_HOST_ARCH_ENDIAN
           Endian for vardmaskinen (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 for vardmaskinen.

       DEB_HOST_MULTIARCH
           Den  fortydligade  GNU-systemtypen  for  vardmaskinen,  anvands for
           sokvagar i filsystemet.

DEBIAN/RULES

       Miljovariablerna som satts av dpkg-architecture sands till debian/rules
       som make-variabler (se dokumentationen for make). Du bor dock inte bero
       pa dem eftersom detta forhindrar manuella anrop till skriptet.  Du  bor
       istallet  alltid initiera dem med dpkg-architecture med -q-flaggan. Har
       ar nagra exempel, vilka aven visar hur  du  kan  forbattra  stodet  for
       korskompilering i ditt paket:

       Istallet for:

              ARCH=`dpkg --print-architecture`
              configure $(ARCH)-linux

       anvander du foljande:

              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)

       Istallet for:

              ARCH=`dpkg --print-architecture`
              ifeq ($(ARCH),alpha)
                ...
              endif

       anvander du:

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

              ifeq ($(DEB_HOST_ARCH),alpha)
                ...
              endif

       eller,  om  du  bara  vill  testa  pa  processor-  eller OS-typ, anvand
       variablerna DEB_HOST_ARCH_CPU eller DEB_HOST_ARCH_OS.

       Generellt rekommenderas det inte att anropa dpkg i rules-filen for  att
       hamta  information  om arkitekturen (savida du inte vill tillhandahalla
       bakatkompatibilitet, se nedan). Speciellt gar  det  inte  att  lita  pa
       flaggan  --print-architecture  eftersom  vi  har Debianarkitekturer som
       inte ar identiskt med namnet pa processorn.

BAKoATKOMPATIBILITET

       Variablerna  DEB_*_ARCH_BITS  och  DEB_*_ARCH_ENDIAN  introducerades  i
       dpkg-dev  1.15.4.  Om  de  anvands  i  debian/rules  maste  darfor  ett
       byggberoende deklareras pa dpkg-dev (>= 1.15.4).

       Variablerna  DEB_HOST_ARCH_CPU  och  DEB_HOST_ARCH_OS  introduceras   i
       dpkg-dev 1.13.2. Tidigare sag debian/rules-filer oftast pa innehallet i
       variablerna DEB_HOST_GNU_CPU och DEB_HOST_GNU_TYPE,  vilka  har  kunnat
       andra pa sig.

       Om  debian/rules ser pa dessa variabler for att valja hur eller vad som
       skall  kompileras  bor  detta  uppdateras  till  att  anvanda  de   nya
       variablerna  och  vardena. Om du vill bibehalla bakatkompatibilitet med
       tidigare versioner av dpkg-dev kan du anvanda foljande kod:

              DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
              DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)

              # Ta gammalt utdataformat fran dpkg-architecture i beaktning.
              ifeq ($(DEB_HOST_ARCH_CPU),)
                DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
                ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
                  DEB_HOST_ARCH_CPU := amd64
                endif
              endif
              ifeq ($(DEB_HOST_ARCH_OS),)
                DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
                ifeq ($(DEB_HOST_ARCH_OS),gnu)
                  DEB_HOST_ARCH_OS := hurd
                endif
              endif

       Och pa motsvarande satt for DEB_BUILD_ARCH_CPU och DEB_BUILD_ARCH_OS.

       Om du fortfarande vill stoda versioner av dpkg-dev  som  inte  inneholl
       dpkg-architecture fungerar foljande:

              DEB_BUILD_ARCH := $(shell dpkg --print-architecture)
              DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
              ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
                DEB_BUILD_GNU_SYSTEM := gnu
              else
                DEB_BUILD_GNU_SYSTEM := linux-gnu
              endif
              DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)

              DEB_HOST_ARCH := $(DEB_BUILD_ARCH)
              DEB_HOST_GNU_CPU := $(DEB_BUILD_GNU_CPU)
              DEB_HOST_GNU_SYSTEM := $(DEB_BUILD_GNU_SYSTEM)
              DEB_HOST_GNU_TYPE := $(DEB_BUILD_GNU_TYPE)

       Lagg  in  en  delmangd  av  dessa  rader overst i din debian/rules-fil.
       Standardvariablerna kommer skrivas over om dpkg-architecture anvands.

       Du behover inte alla. Valj en konsistent  delmangd  som  innehaller  de
       varden  du  anvander  i  rules-filen.  Om  du till exempel bara behover
       vard-Debianarkitekturen    racker    det    med    "DEB_HOST_ARCH=`dpkg
       --print-architecture`"  (ja, det ar Debianarkitekturen pa byggmaskinen,
       men kom ihag att vi bara forsoker vara bakatkompatibel med  kompilering
       pa samma plattform).

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

EXEMPEL

       dpkg-architecture  godtar  flaggan  -a  och  sander  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 ar 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 ar
       ett Linuxsystem:

              dpkg-architecture -ilinux-any

              dpkg-architecture -ai386 -ilinux-any

FILER

       Alla dessa filer maste finnas for att dpkg-architecture  maste  finnas.
       Deras   placering   kan   overstyras  vid  korning  med  miljovariabeln
       DPKG_DATADIR.

       /usr/share/dpkg/cputable
              Tabell over kanda processornamn och deras motsvarande GNU-namn.

       /usr/share/dpkg/ostable
              Tabell over  kanda  operativsystemsnamn  och  deras  motsvarande
              GNU-namn.

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

SE "AVEN

       dpkg-buildpackage(1), dpkg-cross(1).

F"ORFATTARE

       dpkg-architecture och denna manualsida skrevs ursprungligen  av  Markus
       Brinkmann <brinkmd@debian.org>.

"OVERS"ATTNING

       Peter Krefting och Daniel Nylander.