| .\"******************************************************************* |
| .\" |
| .\" This file was generated with po4a. Translate the source file. |
| .\" |
| .\"******************************************************************* |
| .TH dpkg\-architecture 1 2011\-08\-14 Debianprojektet dpkg\-verktygen |
| .SH NAMN |
| dpkg\-architecture \- ställ in och bestäm arkitektur för paket som byggs |
| . |
| .SH SYNOPS |
| \fBdpkg\-architecture\fP [\fIflagga\fP...] [\fIåtgärd\fP] |
| .PP |
| . |
| .SH 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. |
| .PP |
| Byggarkitekturen bestäms alltid av ett externt anrop till \fBdpkg\fP(1) och kan |
| inte ställas in på kommandoraden. |
| .PP |
| Du kan ange värdarkitektur genom att ange en av, eller båda, flaggorna \fB\-a\fP |
| och \fB\-t\fP. Förvalet bestäms av ett externt anrop till \fBgcc\fP(1), eller är |
| detsamma som byggarkitekturen varken \s-1CC\s0 eller gcc är |
| tillgängliga. Det räcker att ange en av \fB\-a\fP och \fB\-t\fP, 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 \fBdpkg\-architecture\fP kommer varna dig om ditt |
| val inte överensstämmer med förvalet. |
| . |
| .SH KOMMANDON |
| .TP |
| \fB\-l\fP |
| Skriv miljövariabler, en per rad, på formatet \fIVARIABEL=värde\fP. Detta är |
| förvald åtgärd. |
| .TP |
| \fB\-e\fP\fIdebianarkitektur\fP |
| Kontrollera arkitektur för likhet. Som standard jämförs \fIdebianarkitektur\fP |
| 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. |
| .TP |
| \fB\-i\fP\fIarkitektursökmönster\fP |
| Kontrollera identitet på arkitekturen genom att expandera |
| \fIarkitektursökmönster\fP 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. |
| .TP |
| \fB\-q\fP\fIvariabelnamn\fP |
| Skriv värdet på en enkel variabel. |
| .TP |
| \fB\-s\fP |
| Visar ett exportkommando. Detta kan användas för att sätta miljövariabler |
| med eval. |
| .TP |
| \fB\-u\fP |
| Visar ett kommando liknande \fB\-s\fP som för att nollställa alla variabler. |
| .TP |
| \fB\-c\fP\fI kommando\fP |
| Exekvera ett \fIkommando\fP i en miljö som har alla variabler satta till det |
| bestämda värdet. |
| .TP |
| \fB\-L\fP |
| Visa en lista över giltiga arkitekturnamn. |
| .TP |
| \fB\-\-help\fP |
| Visar hjälpskärm och avslutar. |
| .TP |
| \fB\-\-version\fP |
| Visar version och avslutar. |
| . |
| .SH FLAGGOR |
| .TP |
| \fB\-a\fP\fIdebianarkitektur\fP |
| Välj Debianarkitektur. |
| .TP |
| \fB\-t\fP\fIgnu\-systemtyp\fP |
| Välj GNU\-systemtyp. |
| .TP |
| \fB\-f\fP |
| Värden som sätts av befintliga miljövariabler med samma namn som de som |
| används av skriptet används (t.ex av \fBdpkg\-architecture\fP), 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 \fBdpkg\-architecture\fP är begravt |
| djupt inuti ett annat skript (till exempel \fBdpkg\-buildpackage\fP(1)). |
| . |
| .SH TERMINOLOGI |
| .IP byggmaskin 4 |
| Maskinen paketet byggs på. |
| .IP värdmaskin 4 |
| Maskinen paketet byggs för. |
| .IP Debianarkitektur 4 |
| Debianarkitektursträngen, vilken anger binärträdet i |
| \-s1FT\s0\-arkivet. Exempel: i386, sparc, hurd\-i386. |
| .IP arkitektursökmönster 4 |
| 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. |
| .IP \s-1GNU\s0\-systemtyp 4 |
| 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. |
| . |
| .SH VARIABLER |
| Följande variabler sätts av \fBdpkg\-architecture\fP: |
| .IP \s-1DEB_BUILD_ARCH\s0 4 |
| Debianarkitekturen för byggmaskinen. |
| .IP \s-1DEB_BUILD_ARCH_OS\s0 4 |
| Debiansystemnamnet för byggmaskinen. |
| .IP \s-1DEB_BUILD_ARCH_CPU\s0 4 |
| Debian\-processornamnet för byggmaskinen. |
| .IP \s-1DEB_BUILD_ARCH_BITS\s0 4 |
| Pekarstorleken för byggmaskinen (i bitar). |
| .IP \s-1DEB_BUILD_ARCH_ENDIAN\s0 4 |
| Endian för byggmaskinen (little / big). |
| .IP \s-1DEB_BUILD_GNU_CPU\s0 4 |
| \s-1CPU\s0\-delen av \s-1DEB_BUILD_GNU_TYPE\s0. |
| .IP \s-1DEB_BUILD_GNU_SYSTEM\s0 4 |
| Systemdelen av \s-1DEB_BUILD_GNU_TYPE\s0. |
| .IP \s-1DEB_BUILD_GNU_TYPE\s0 4 |
| \s-1GNU\s0\-systemtypen för byggmaskinen. |
| .IP \s-1DEB_BUILD_MULTIARCH\s0 4 |
| Den förtydligade \s-1GNU\s0\-systemtypen för byggmaskinen, används för |
| sökvägar i filsystemet. |
| .IP \s-1DEB_HOST_ARCH\s0 4 |
| Debianarkitekturen för värdmaskinen. |
| .IP \s-1DEB_HOST_ARCH_OS\s0 4 |
| Debiansystemnamnet för värdmaskinen. |
| .IP \s-1DEB_HOST_ARCH_CPU\s0 4 |
| Debian\-processornamnet för värdmaskinen. |
| .IP \s-1DEB_HOST_ARCH_BITS\s0 4 |
| Pekarstorleken för värdmaskinen (i bitar). |
| .IP \s-1DEB_HOST_ARCH_ENDIAN\s0 4 |
| Endian för värdmaskinen (little / big). |
| .IP \s-1DEB_HOST_GNU_CPU\s0 4 |
| \s-1CPU\s0\-delen av \s-1DEB_HOST_GNU_TYPE\s0. |
| .IP \s-1DEB_HOST_GNU_SYSTEM\s0 4 |
| Systemdelen av \s-1DEB_HOST_GNU_TYPE\s0. |
| .IP \s-1DEB_HOST_GNU_TYPE\s0 4 |
| \s-1GNU\s0\-systemtypen för värdmaskinen. |
| .IP \s-1DEB_HOST_MULTIARCH\s0 4 |
| Den förtydligade \s-1GNU\s0\-systemtypen för värdmaskinen, används för |
| sökvägar i filsystemet. |
| . |
| .SH DEBIAN/RULES |
| Miljövariablerna som sätts av \fBdpkg\-architecture\fP sänds till |
| \fIdebian/rules\fP 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 \fBdpkg\-architecture\fP 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: |
| .PP |
| |
| Istället för: |
| .IP |
| .nf |
| ARCH=\`dpkg \-\-print\-architecture\` |
| configure $(\s-1ARCH\s0)\-linux |
| .fi |
| .PP |
| använder du följande: |
| .IP |
| .nf |
| \&\s-1DEB_BUILD_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_BUILD_GNU_TYPE) |
| \&\s-1DEB_HOST_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_HOST_GNU_TYPE) |
| |
| configure \-\-build=$(\s-1DEB_BUILD_GNU_TYPE\s0) \-\-host=$(\s-1DEB_HOST_GNU_TYPE\s0) |
| .fi |
| .PP |
| |
| Istället för: |
| .IP |
| .nf |
| ARCH=\`dpkg \-\-print\-architecture\` |
| ifeq ($(\s-1ARCH\s0),alpha) |
| ... |
| endif |
| .fi |
| .PP |
| använder du: |
| .IP |
| .nf |
| \&\s-1DEB_HOST_ARCH\s0 := $(shell dpkg\-architecture \-qDEB_HOST_ARCH) |
| |
| ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha) |
| ... |
| endif |
| .fi |
| .PP |
| eller, om du bara vill testa på processor\- eller OS\-typ, använd variablerna |
| DEB_HOST_ARCH_CPU eller DEB_HOST_ARCH_OS. |
| .PP |
| Generellt rekommenderas det inte att anropa dpkg i rules\-filen för att hämta |
| information om arkitekturen (såvida du inte vill tillhandahålla |
| bakåtkompatibilitet, se nedan). Speciellt går det inte att lita på flaggan |
| \-\-print\-architecture eftersom vi har Debianarkitekturer som inte är |
| identiskt med namnet på processorn. |
| . |
| .SH BAKÅTKOMPATIBILITET |
| Variablerna DEB_*_ARCH_BITS och DEB_*_ARCH_ENDIAN introducerades i dpkg\-dev |
| 1.15.4. Om de används i \fIdebian/rules\fP måste därför ett byggberoende |
| deklareras på dpkg\-dev (>= 1.15.4). |
| .PP |
| Variablerna DEB_HOST_ARCH_CPU och DEB_HOST_ARCH_OS introduceras i dpkg\-dev |
| 1.13.2. Tidigare såg \fIdebian/rules\fP\-filer oftast på innehållet i |
| variablerna DEB_HOST_GNU_CPU och DEB_HOST_GNU_TYPE, vilka har kunnat ändra |
| på sig. |
| .PP |
| Om \fIdebian/rules\fP ser på dessa variabler för att välja hur eller vad som |
| skall kompileras bör detta uppdateras till att använda de nya variablerna |
| och värdena. Om du vill bibehålla bakåtkompatibilitet med tidigare versioner |
| av dpkg\-dev kan du använda följande kod: |
| .IP |
| .nf |
| 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 från 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 |
| .fi |
| .PP |
| Och på motsvarande sätt för DEB_BUILD_ARCH_CPU och DEB_BUILD_ARCH_OS. |
| .PP |
| Om du fortfarande vill stöda versioner av dpkg\-dev som inte innehöll |
| \fBdpkg\-architecture\fP fungerar följande: |
| .IP |
| .nf |
| \&\s-1DEB_BUILD_ARCH\s0 := $(shell dpkg \-\-print\-architecture) |
| \&\s-1DEB_BUILD_GNU_CPU\s0 := $(patsubst hurd\-%,%,$(\s-1DEB_BUILD_ARCH\s0)) |
| ifeq ($(filter\-out hurd\-%,$(\s-1DEB_BUILD_ARCH\s0)),) |
| \s-1DEB_BUILD_GNU_SYSTEM\s0 := gnu |
| else |
| \s-1DEB_BUILD_GNU_SYSTEM\s0 := linux\-gnu |
| endif |
| DEB_BUILD_GNU_TYPE=$(\s-1DEB_BUILD_GNU_CPU\s0)\-$(\s-1DEB_BUILD_GNU_SYSTEM\s0) |
| |
| \&\s-1DEB_HOST_ARCH\s0 := $(\s-1DEB_BUILD_ARCH\s0) |
| \&\s-1DEB_HOST_GNU_CPU\s0 := $(\s-1DEB_BUILD_GNU_CPU\s0) |
| \&\s-1DEB_HOST_GNU_SYSTEM\s0 := $(\s-1DEB_BUILD_GNU_SYSTEM\s0) |
| \&\s-1DEB_HOST_GNU_TYPE\s0 := $(\s-1DEB_BUILD_GNU_TYPE\s0) |
| .fi |
| .PP |
| Lägg in en delmängd av dessa rader överst i din |
| debian/rules\-fil. Standardvariablerna kommer skrivas över om |
| dpkg\-architecture används. |
| .PP |
| Du behöver inte alla. Välj en konsistent delmängd som innehåller de värden |
| du använder i rules\-filen. Om du till exempel bara behöver |
| värd\-Debianarkitekturen räcker det med "DEB_HOST_ARCH=\`dpkg |
| \-\-print\-architecture\`" (ja, det är Debianarkitekturen på byggmaskinen, men |
| kom ihåg att vi bara försöker vara bakåtkompatibel med kompilering på samma |
| plattform). |
| .PP |
| Flaggorna \fB\-e\fP och \fB\-i\fP introducerades i \fBdpkg\-architecture\fP relativt |
| nyligen (sedan dpkg 1.13.13). |
| . |
| .SH EXEMPEL |
| \fBdpkg\-architecture\fP godtar flaggan \fB\-a\fP och sänder den vidare till |
| \fBdpkg\-architecture\fP. Andra exempel: |
| .IP |
| CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build |
| .IP |
| eval \`dpkg\-architecture \-u\` |
| .PP |
| Kontrollera om en arkitektur är samma som den nuvarande eller en given: |
| .IP |
| dpkg\-architecture \-elinux\-alpha |
| .IP |
| dpkg\-architecture \-amips \-elinux\-mips |
| .PP |
| Se om den aktuella arkitekturen eller en arkitektur som anges med \-a är ett |
| Linuxsystem: |
| .IP |
| dpkg\-architecture \-ilinux\-any |
| .IP |
| dpkg\-architecture \-ai386 \-ilinux\-any |
| . |
| .SH FILER |
| Alla dessa filer måste finnas för att \fBdpkg\-architecture\fP måste |
| finnas. Deras placering kan överstyras vid körning med miljövariabeln |
| \fBDPKG_DATADIR\fP. |
| .TP |
| \fI/usr/share/dpkg/cputable\fP |
| Tabell över kända processornamn och deras motsvarande GNU\-namn. |
| .TP |
| \fI/usr/share/dpkg/ostable\fP |
| Tabell över kända operativsystemsnamn och deras motsvarande GNU\-namn. |
| .TP |
| \fI/usr/share/dpkg/triplettable\fP |
| Tabell över Debianarkitekturtripplar och deras motsvarande |
| Debianarkitekturnamn. |
| . |
| .SH "SE ÄVEN" |
| \fBdpkg\-buildpackage\fP(1), \fBdpkg\-cross\fP(1). |
| . |
| .SH FÖRFATTARE |
| \fBdpkg\-architecture\fP och denna manualsida skrevs ursprungligen av Markus |
| Brinkmann <brinkmd@debian.org>. |
| |
| .SH "ÖVERSÄTTNING" |
| Peter Krefting och Daniel Nylander. |