blob: 12a00b9d7f5fe008bd758f4d214c47dbd5a849cf [file] [log] [blame]
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH dpkg\-architecture 1 2011\-08\-14 Debian\-Projekt dpkg\-Hilfsprogramme
.SH NAME
dpkg\-architecture \- Architektur zum Paketbau setzen und bestimmen
.
.SH ÜBERSICHT
\fBdpkg\-architecture\fP [\fIOption\fP...] [\fIBefehl\fP]
.PP
.
.SH BESCHREIBUNG
dpkg\-architecture stellt eine Möglichkeit bereit, die Rechner\-Architektur
für den Paketbau zu bestimmen und zu setzen.
.PP
Die Bau\-Architektur wird immer über einen externen Aufruf an \fBdpkg\fP(1)
bestimmt und kann nicht auf der Kommandozeile gesetzt werden.
.PP
Sie können die Host\-Architektur (Wirt\-Architektur) spezifizieren, indem Sie
eine oder beide der Optionen \fB\-a\fP oder \fB\-t\fP verwenden. Der Standardwert
wird über einen externen Aufruf an \fBgcc\fP(1) ermittelt oder ist identisch
mit der Bauarchitektur, falls sowohl \s-1CC\s0 als auch Gcc nicht verfügbar
sind. Einer von \fB\-a\fP oder \fB\-t\fP ist ausreichend, der Wert des anderen wird
auf einen brauchbaren Wert gesetzt. Tatsächlich ist es oft besser, nur einen
der beiden anzugeben, da \fBdpkg\-architecture\fP Sie warnen wird, falls Ihre
Wahl nicht mit dem Standardwert übereinstimmt.
.
.SH BEFEHLE
.TP
\fB\-l\fP
Zeige die Umgebungsvariablen, eine pro Zeile, in dem Format
\fIVARIABLE=Wert\fP. Dies ist die Standardaktion.
.TP
\fB\-e\fP\fIDebian\-Architektur\fP
Überprüfe auf Gleichheit der Architekturen. Standardmäßig wird
\fIDebian\-Architektur\fP gegen die aktuelle Debian\-Architektur auf dem Host
geprüft. Diese Aktion expandiert nicht die Architektur\-Platzhalter
(Wildcards). Der Befehl beendet sich mit einem Exit\-Status von 0, falls eine
Übereinstimmung besteht, andernfalls mit 1.
.TP
\fB\-i\fP\fIArchitektur\-Platzhalter\fP
Überprüfe die Identität einer Architektur, indem \fIArchitektur\-Platzhalter\fP
als ein Architektur\-Platzhalter expandiert und mit der aktuellen
Debian\-Architektur verglichen wird. Der Befehl endet mit einem Exit\-Status
von 0, falls eine Übereinstimmung gefunden wurde, ansonsten mit 1.
.TP
\fB\-q\fP\fIVariablenname\fP
Zeige den Wert einer einzelnen Variablen an.
.TP
\fB\-s\fP
Zeige einen Export\-Befehl. Dies kann dazu verwendet werden, um
Umgebungsvariablen mittels eval zu setzen.
.TP
\fB\-u\fP
Ähnlich wie \fB\-s\fP, gebe einen Export\-Befehl aus, der alle Variablen löscht.
.TP
\fB\-c\fP\fI Befehl\fP
Führe einen \fIBefehl\fP in einer Umgebung aus, in der alle Variablen auf die
festgelegten Werte gesetzt sind.
.TP
\fB\-L\fP
Zeige eine Liste von gültigen Architekturnamen.
.TP
\fB\-\-help\fP
Zeige den Bedienungshinweis und beende.
.TP
\fB\-\-version\fP
Gebe die Version aus und beende sich.
.
.SH OPTIONEN
.TP
\fB\-a\fP\fIDebian\-Architektur\fP
Setze die Debian\-Architektur.
.TP
\fB\-t\fP\fIGNU\-Systemtyp\fP
Setze den GNU\-Systemtyp.
.TP
\fB\-f\fP
Existierende Umgebungsvariablen mit dem gleichen Namen wie vom Skript
verwendet werden nicht überschrieben (d.h. sie werden von
\fBdpkg\-architecture\fP verwendet), es sei denn, die »force«\-Markierung ist
gesetzt. Dies erlaubt es dem Benutzer einen Wert zu überschreiben, selbst
wenn der Aufruf von \fBdpkg\-architecture\fP tief in einem anderen Skript
versteckt ist (beispielsweise \fBdpkg\-buildpackage\fP(1)).
.
.SH AUSDRÜCKE
.IP Baumaschine 4
Die Maschine, auf der das Paket gebaut wird.
.IP Host\-Maschine 4
Die Maschine, für die das Paket gebaut ist.
.IP Debian\-Architektur 4
Die Debian\-Architektur\-Zeichenkette, die den binären Baum im
\s-1FTP\s0\-Archiv spezifiziert. Beispiele: i386, sparc, hurd\-i386.
.IP Architektur\-Platzhalter 4
Ein Architektur\-Platzhalter ist eine spezielle Architektur\-Zeichenkette, die
auf jede reale Architektur, die ein Teil davon ist, passt. Die allgemeine
Form ist <Kern>\-<CPU>. Beispiele: linux\-any, any\-i386,
hurd\-any.
.IP \s-1GNU\s0\-Systemtyp 4
Eine Architektur\-Spezifikations\-Zeichenkette besteht aus zwei, durch einen
Bindestrich getrennten Teilen: CPU und System. Beispiele: i386\-linux\-gnu,
sparc\-linux\-gnu, i386\-gnu, x86_64\-netbsd.
.
.SH VARIABLEN
Die folgenden Variablen werden von \fBdpkg\-architecture\fP gesetzt:
.IP \s-1DEB_BUILD_ARCH\s0 4
Die Debian\-Architektur der Baumaschine.
.IP \s-1DEB_BUILD_ARCH_OS\s0 4
Der Debian\-Systemname der Baumaschine.
.IP \s-1DEB_BUILD_ARCH_CPU\s0 4
Der Debian\-CPU\-Name der Baumaschine.
.IP \s-1DEB_BUILD_ARCH_BITS\s0 4
Die Zeigergröße der Baumaschine in Bits.
.IP \s-1DEB_BUILD_ARCH_ENDIAN\s0 4
Die Endianness der Baumaschine (little/big).
.IP \s-1DEB_BUILD_GNU_CPU\s0 4
Der \s-1CPU\s0\-Teil von \s-1DEB_BUILD_GNU_TYPE\s0.
.IP \s-1DEB_BUILD_GNU_SYSTEM\s0 4
Der System\-Teil von \s-1DEB_BUILD_GNU_TYPE\s0.
.IP \s-1DEB_BUILD_GNU_TYPE\s0 4
Der \s-1GNU\s0\-Systemtyp der Baumaschine.
.IP \s-1DEB_BUILD_MULTIARCH\s0 4
Der klargestellte \s-1GNU\s0\-Systemtyp der Baumaschine, wird für
Dateisystempfade benutzt.
.IP \s-1DEB_HOST_ARCH\s0 4
Die Debian\-Architektur der Host\-Maschine.
.IP \s-1DEB_HOST_ARCH_OS\s0 4
Der Debian\-Systemname der Host\-Maschine.
.IP \s-1DEB_HOST_ARCH_CPU\s0 4
Der Debian\-CPU\-Name der Host\-Maschine.
.IP \s-1DEB_HOST_ARCH_BITS\s0 4
Die Zeigergröße der Host\-Maschine in Bits.
.IP \s-1DEB_HOST_ARCH_ENDIAN\s0 4
Die Endianness der Host\-Maschine (little/big).
.IP \s-1DEB_HOST_GNU_CPU\s0 4
Der \s-1CPU\s0\-Teil von \s-1DEB_HOST_GNU_TYPE\s0.
.IP \s-1DEB_HOST_GNU_SYSTEM\s0 4
Der System\-Teil von \s-1DEB_HOST_GNU_TYPE\s0.
.IP \s-1DEB_HOST_GNU_TYPE\s0 4
Der \s-1GNU\s0\-Systemtyp der Host\-Maschine.
.IP \s-1DEB_HOST_MULTIARCH\s0 4
Der klargestellte \s-1GNU\s0\-Systemtyp der Host\-Maschine, wird für
Dateisystempfade benutzt.
.
.SH DEBIAN/RULES
Die Umgebungsvariablen, die von \fBdpkg\-architecture\fP gesetzt werden, werden
an \fIdebian/rules\fP als Make\-Variablen weitergegeben (lesen Sie hierzu die
Make\-Dokumentation). Allerdings sollten Sie sich nicht auf diese verlassen,
da damit der manuelle Aufruf des Skripts verhindert wird. Stattdessen
sollten Sie sie immer mit \fBdpkg\-architecture\fP mit der \-q\-Option
initialisieren. Hier sind einige Beispiele, die auch zeigen, wie sie die
Cross\-Kompilierungs\-Unterstützung in Ihrem Paket verbessern können:
.PP
Anstatt von:
.IP
.nf
ARCH=\`dpkg \-\-print\-architecture\`
configure $(\s-1ARCH\s0)\-linux
.fi
.PP
verwenden Sie bitte das folgende:
.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
Anstatt von:
.IP
.nf
ARCH=\`dpkg \-\-print\-architecture\`
ifeq ($(\s-1ARCH\s0),alpha)
...
endif
.fi
.PP
bitte verwenden Sie:
.IP
.nf
\&\s-1DEB_HOST_ARCH\s0 := $(shell dpkg\-architecture \-qDEB_HOST_ARCH)
ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha)
...
endif
.fi
.PP
oder, falls Sie nur den CPU\- oder OS\-Typ überprüfen müssen, verwenden Sie
die DEB_HOST_ARCH_CPU\- oder DEB_HOST_ARCH_OS\-Variablen.
.PP
Im Allgemeinen wird der Aufruf von Dpkg in der »rules«\-Datei, um
Architektur\-Informationen zu erhalten, abgelehnt (falls Sie
Rückwärtskompatibilität bereitstellen wollen, siehe unten). Insbesondere die
\-\-print\-architecture\-Option ist unzuverlässig, da wir Debian\-Architekturen
haben, die nicht mit einem Prozessornamen übereinstimmen.
.
.SH RÜCKWÄRTSKOMPATIBILITÄT
Die Variablen DEB_*_ARCH_BITS und DEB_*_ARCH_ENDIAN wurden in dpkg\-dev
1.15.4 eingeführt. Werden sie in \fIdebian/rules\fP verwandt, benötigen sie
daher eine Bauabhängigkeit von dpkg\-dev (>= 1.15.4).
.PP
Die DEB_HOST_ARCH_CPU\- und DEB_HOST_ARCH_OS\-Variablen wurden in dpkg\-dev
1.13.2 eingeführt. Vorher tendierten die \fIdebian/rules\fP\-Dateien dazu, die
Werte der DEB_HOST_GNU_CPU\- oder DEB_HOST_GNU_TYPE\-Variablen zu überprüfen,
die aber Änderungen unterlagen.
.PP
Wo \fIdebian/rules\fP\-Dateien diese Variablen überprüfen um festzustellen, wie
oder was zu kompilieren ist, sollten diese aktualisiert werden, um die neuen
Variablen und Werte zu verwenden. Sie möchten eventuell
Rückwärtskompatibilität zu älteren Versionen von Dpkg\-dev erhalten, indem
Sie den folgenden Code verwenden:
.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)
# Berücksichtige die Ausgabe des alten Dpkg\-architecture.
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
Und ähnlich für DEB_BUILD_ARCH_CPU und DEB_BUILD_ARCH_OS.
.PP
Falls Sie noch Versionen von Dpkg\-dev, die \fBdpkg\-architecture\fP nicht
enthielten, unterstützen wollen, erledigt dies folgendes:
.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
Setzen Sie eine Untermenge dieser Zeilen oben in Ihre debian/rules\-Datei;
diese Standardwerte werden überschrieben, falls Dpkg\-architecture verwendet
wird.
.PP
Sie benötigen nicht den ganzen Satz. Wählen Sie einen konsistenten Satz, der
nur die Werte enthält, die Sie in der rules\-Datei verwenden. Falls Sie
beispielsweise nur die Host\-Debian\-Architektur benötigen, ist
»DEB_HOST_ARCH=\`dpkg \-\-print\-architecture\ ausreichend (dies ist in der Tat
die Debian\-Architektur der Baumaschine, aber denken Sie daran, dass wir nur
zur »natürlichen« Kompilierung rückwärtskompatibel sein wollen).
.PP
Die \fB\-e\fP\- und \fB\-i\fP\-Optionen wurden erst in relativ neuen Versionen von
\fBdpkg\-architecture\fP eingeführt (seit Dpkg 1.13.13).
.
.SH BEISPIELE
\fBdpkg\-buildpackage\fP akzeptiert die \fB\-a\fP\-Option und gibt dies an
\fBdpkg\-architecture\fP weiter. Weitere Beispiele:
.IP
CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build
.IP
eval \`dpkg\-architecture \-u\`
.PP
Überprüfe, ob eine Architektur identisch zu der aktuellen Architektur oder
einer übergebenen ist:
.IP
dpkg\-architecture \-elinux\-alpha
.IP
dpkg\-architecture \-amips \-elinux\-mips
.PP
Überprüfe, ob die aktuelle oder eine mit \-a übergebene Architektur
Linux\-Systeme sind:
.IP
dpkg\-architecture \-ilinux\-any
.IP
dpkg\-architecture \-ai386 \-ilinux\-any
.
.SH DATEIEN
Alle diese Dateien müssen vorhanden sein, damit \fBdpkg\-architecture\fP
funktioniert. Ihr Ort kann zur Laufzeit mit der Umgebungsvariable
\fBDPKG_DATADIR\fP überschrieben werden.
.TP
\fI/usr/share/dpkg/cputable\fP
Tabelle der bekannten CPU\-Namen und Abbildungen auf ihre GNU\-Namen.
.TP
\fI/usr/share/dpkg/ostable\fP
Tabelle der bekannten Betriebssystemnamen und Abbildungen auf ihre
GNU\-Namen.
.TP
\fI/usr/share/dpkg/triplettable\fP
Abbildung zwischen den Debian\-Architektur\-Tripletts und den
Debian\-Architekturnamen.
.
.SH ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2011 von Helge Kreutzmann
<debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und
2008 von Sven Joachim <svenjoac@gmx.de>
angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General Public License Version 2 oder neuer für die Kopierbedingungen.
Es gibt KEINE HAFTUNG.
.SH "SIEHE AUCH"
\fBdpkg\-buildpackage\fP(1), \fBdpkg\-cross\fP(1).
.
.SH AUTOR
\fBdpkg\-architecture\fP und diese Handbuchseite wurden ursprünglich von Marcus
Brinkmann <brinkmd@debian.org> geschrieben.