Provided by: dpkg-dev_1.15.8.4ubuntu3_all bug

NAMN

       dpkg-architecture - stll in och bestm arkitektur fr paket som byggs

SYNOPS

       dpkg-architecture [flaggor] tgrd

BESKRIVNING

       dpkg-architecture  innehller  en  funktion  fr att bestmma och stlla in
       bygg- och vrdarkitekturerna fr att bygga paket.

       Byggarkitekturen bestms alltid av ett externt anrop  till  dpkg(1)  och
       kan inte stllas in p kommandoraden.

       Du kan ange vrdarkitektur genom att ange en av, eller bda, flaggorna -a
       och -t. Frvalet bestms av  ett  externt  anrop  till  gcc(1),  eller  r
       detsamma  som  byggarkitekturen  varken CC eller gcc r tillgngliga. Det
       rcker att ange en av -a och -t, vrdet p den andra kommer stllas in till
       ett fungerande frval. Det r faktiskt oftast bttre att bara ange den ena
       eftersom  dpkg-architecture  kommer  varna  dig  om   ditt   val   inte
       verensstmmer med frvalet.

KOMMANDON

       -l     Skriv miljvariabler, en per rad, p formatet VARIABEL=vrde. Detta
              r frvald tgrd.

       -edebianarkitektur
              Kontrollera   arkitektur   fr   likhet.   Som   standard   jmfrs
              debianarkitektur mot den aktuella Debianarkitekturen, som r vrd.
              tgrden expanderar inte  jokertecken  i  arkitekturer.  Kommandet
              avslutar med status 0 om det r en trff, 1 om det inte r en trff.

       -iarkitekturskmnster
              Kontrollera  identitet  p  arkitekturen  genom   att   expandera
              arkitekturskmnster  som  ett arkitekturskmnster med jokertecken,
              och  jmfra  med  den  aktuella   Debianarkitekturen.   Kommandot
              avslutas med status 0 vid trff, 1 om inte trff.

       -qvariabelnamn
              Skriv vrdet p en enkel variabel.

       -s     Visar   ett  exportkommando.  Detta  kan  anvndas  fr  att  stta
              miljvariabler med eval.

       -u     Visar ett  kommando  liknande  -s  som  fr  att  nollstlla  alla
              variabler.

       -c kommando
              Exekvera  ett  kommando  i  en milj som har alla variabler satta
              till det bestmda vrdet.

       -L     Visa en lista ver giltiga arkitekturnamn.

       --help Visar hjlpskrm och avslutar.

       --version
              Visar version och avslutar.

FLAGGOR

       -adebianarkitektur
              Vlj Debianarkitektur.

       -tgnu-systemtyp
              Vlj GNU-systemtyp.

       -f     Vrden som stts av befintliga miljvariabler med samma namn som de
              som anvnds av skriptet anvnds (t.ex av dpkg-architecture), svida
              inte  denna  tvingande  flagga  anges.  Det  gr  det  mjligt  fr
              anvndaren   att   verstyra   ett   vrde   ven  om  anropet  till
              dpkg-architecture r begravt djupt inuti ett annat  skript  (till
              exempel dpkg-buildpackage(1)).

TERMINOLOGI

       byggmaskin
           Maskinen paketet byggs p.

       vrdmaskin
           Maskinen paketet byggs fr.

       Debianarkitektur
           Debianarkitekturstrngen,  vilken  anger  binrtrdet i -s1FT-arkivet.
           Exempel: i386, sparc, hurd-i386.

       arkitekturskmnster
           Ett arkitekturskmnster r en speciell  arkitekturstrng  som  matchar
           alla  kta  arkitekturer  som  finns  i  den.  Den  genella formen r
           <krna>-<cpu>. Exempel: linux-any, any-i386, hurd-any.

       GNU-systemtyp
           En arkitekturspecificeringsstrng bestr av tv  delar,  avdelade  med
           bindestreck:   processor   och   system.  Exempel:  i386-linux-gnu,
           sparc-linux-gnu, i386-gnu, x86_64-netbsd.

VARIABLER

       Fljande variabler stts av dpkg-architecture:

       DEB_BUILD_ARCH
           Debianarkitekturen fr byggmaskinen.

       DEB_BUILD_ARCH_OS
           Debiansystemnamnet fr byggmaskinen.

       DEB_BUILD_ARCH_CPU
           Debian-processornamnet fr byggmaskinen.

       DEB_BUILD_ARCH_BITS
           Pekarstorleken fr byggmaskinen (i bitar).

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

       DEB_HOST_ARCH
           Debianarkitekturen fr vrdmaskinen.

       DEB_HOST_ARCH_OS
           Debiansystemnamnet fr vrdmaskinen.

       DEB_HOST_ARCH_CPU
           Debian-processornamnet fr vrdmaskinen.

       DEB_HOST_ARCH_BITS
           Pekarstorleken fr vrdmaskinen (i bitar).

       DEB_HOST_ARCH_ENDIAN
           Endian fr vrdmaskinen (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 fr vrdmaskinen.

DEBIAN/RULES

       Miljvariablerna som stts av dpkg-architecture  snds  till  debian/rules
       som make-variabler (se dokumentationen fr make). Du br dock inte bero p
       dem eftersom detta  frhindrar  manuella  anrop  till  skriptet.  Du  br
       istllet  alltid initiera dem med dpkg-architecture med -q-flaggan. Hr r
       ngra  exempel,  vilka  ven  visar  hur  du   kan   frbttra   stdet   fr
       korskompilering i ditt paket:

       Istllet fr:

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

       anvnder du fljande:

              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)

       Istllet fr:

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

       anvnder du:

              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,  anvnd
       variablerna DEB_HOST_ARCH_CPU eller DEB_HOST_ARCH_OS.

       Generellt rekommenderas det inte att anropa dpkg i rules-filen  fr  att
       hmta  information  om  arkitekturen  (svida  du inte vill tillhandahlla
       baktkompatibilitet, se nedan). Speciellt gr det inte att lita p flaggan
       --print-architecture  eftersom  vi  har  Debianarkitekturer  som inte r
       identiskt med namnet p processorn.

BAKTKOMPATIBILITET

       Variablerna  DEB_*_ARCH_BITS  och  DEB_*_ARCH_ENDIAN  introducerades  i
       dpkg-dev 1.15.4. Om de anvnds i debian/rules mste drfr ett byggberoende
       deklareras p dpkg-dev (>= 1.15.4).

       Variablerna  DEB_HOST_ARCH_CPU  och  DEB_HOST_ARCH_OS  introduceras   i
       dpkg-dev  1.13.2.  Tidigare  sg debian/rules-filer oftast p innehllet i
       variablerna DEB_HOST_GNU_CPU och DEB_HOST_GNU_TYPE,  vilka  har  kunnat
       ndra p sig.

       Om  debian/rules  ser  p  dessa variabler fr att vlja hur eller vad som
       skall kompileras br detta uppdateras till att anvnda de nya variablerna
       och  vrdena.  Om  du  vill  bibehlla  baktkompatibilitet  med  tidigare
       versioner av dpkg-dev kan du anvnda fljande 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 frn 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 p motsvarande stt fr DEB_BUILD_ARCH_CPU och DEB_BUILD_ARCH_OS.

       Om du fortfarande vill stda versioner  av  dpkg-dev  som  inte  innehll
       dpkg-architecture fungerar fljande:

              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)

       Lgg  in  en  delmngd  av  dessa  rader  verst  i  din debian/rules-fil.
       Standardvariablerna kommer skrivas ver om dpkg-architecture anvnds.

       Du behver inte alla. Vlj en konsistent delmngd som innehller  de  vrden
       du   anvnder   i   rules-filen.   Om   du   till  exempel  bara  behver
       vrd-Debianarkitekturen    rcker    det     med     "DEB_HOST_ARCH=`dpkg
       --print-architecture`"  (ja,  det  r Debianarkitekturen p byggmaskinen,
       men kom ihg att vi bara frsker vara baktkompatibel  med  kompilering  p
       samma plattform).

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

EXEMPEL

       dpkg-architecture  godtar  flaggan  -a  och  snder  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 mste finnas  fr  att  dpkg-architecture  mste  finnas.
       Deras   placering   kan   verstyras   vid   krning   med  miljvariabeln
       DPKG_DATADIR.

       /usr/share/dpkg/cputable
              Tabell ver knda processornamn och deras motsvarande GNU-namn.

       /usr/share/dpkg/ostable
              Tabell  ver  knda  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).

FRFATTARE

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

VERSTTNING

       Peter Krefting och Daniel Nylander.