Provided by: dpkg-dev_1.17.5ubuntu5.8_all
NAME
dpkg-architecture - Architektur zum Paketbau setzen und bestimmen
ÜBERSICHT
dpkg-architecture [Option ?] [Befehl]
BESCHREIBUNG
dpkg-architecture stellt eine Möglichkeit bereit, die Rechner-Architektur für den Paketbau zu bestimmen und zu setzen. Die Bau-Architektur wird immer über einen externen Aufruf an dpkg(1) bestimmt und kann nicht auf der Kommandozeile gesetzt werden. Sie können die Host-Architektur (Wirt-Architektur) spezifizieren, indem Sie eine oder beide der Optionen -a oder -t verwenden. Der Standardwert wird über einen externen Aufruf an gcc(1) ermittelt oder ist identisch mit der Bauarchitektur, falls sowohl CC als auch Gcc nicht verfügbar sind. Einer von -a oder -t ist ausreichend, der Wert des anderen wird auf einen brauchbaren Wert gesetzt. Tatsächlich ist es oft besser, nur einen der beiden anzugeben, da dpkg-architecture Sie warnen wird, falls Ihre Wahl nicht mit dem Standardwert übereinstimmt.
BEFEHLE
-l Zeige die Umgebungsvariablen, eine pro Zeile, in dem Format VARIABLE=Wert. Dies ist die Standardaktion. -eDebian-Architektur Überprüfe auf Gleichheit der Architekturen (seit Dpkg 1.13.13). Standardmäßig wird Debian-Architektur 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. -iArchitektur-Platzhalter Überprüfe die Identität einer Architektur, indem Architektur-Platzhalter als ein Architektur-Platzhalter expandiert und mit der aktuellen Debian-Architektur verglichen wird (seit Dpkg 1.13.13). Der Befehl endet mit einem Exit-Status von 0, falls eine Übereinstimmung gefunden wurde, ansonsten mit 1. -qVariablenname Zeige den Wert einer einzelnen Variablen an. -s Zeige einen Export-Befehl. Dies kann dazu verwendet werden, um Umgebungsvariablen mittels eval zu setzen. -u Ähnlich wie -s, gebe einen Export-Befehl aus, der alle Variablen löscht. -c Befehl Führe einen Befehl in einer Umgebung aus, in der alle Variablen auf die festgelegten Werte gesetzt sind. -L Zeige eine Liste von gültigen Architekturnamen. -?, --help Zeige den Bedienungshinweis und beende. --version Gebe die Version aus und beende sich.
OPTIONEN
-aDebian-Architektur Setze die Debian-Architektur. -tGNU-Systemtyp Setze den GNU-Systemtyp. -f Existierende Umgebungsvariablen mit dem gleichen Namen wie vom Skript verwendet werden nicht überschrieben (d.h. sie werden von dpkg-architecture verwendet), es sei denn, die »force«-Markierung ist gesetzt. Dies erlaubt es dem Benutzer einen Wert zu überschreiben, selbst wenn der Aufruf von dpkg-architecture tief in einem anderen Skript versteckt ist (beispielsweise dpkg-buildpackage(1)).
AUSDRÜCKE
Baumaschine Die Maschine, auf der das Paket gebaut wird. Host-Maschine Die Maschine, für die das Paket gebaut ist. Debian-Architektur Die Debian-Architektur-Zeichenkette, die den binären Baum im FTP-Archiv spezifiziert. Beispiele: i386, sparc, hurd-i386. Architektur-Platzhalter 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. GNU-Systemtyp 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.
VARIABLEN
Die folgenden Variablen werden von dpkg-architecture gesetzt: DEB_BUILD_ARCH Die Debian-Architektur der Baumaschine. DEB_BUILD_ARCH_OS Der Debian-Systemname der Baumaschine. (Seit Dpkg 1.13.2). DEB_BUILD_ARCH_CPU Der Debian-CPU-Name der Baumaschine. (Seit Dpkg 1.13.2). DEB_BUILD_ARCH_BITS Die Zeigergröße der Baumaschine in Bits. (Seit Dpkg 1.15.4). DEB_BUILD_ARCH_ENDIAN Die Endianness der Baumaschine (little/big; seit Dpkg 1.15.4). DEB_BUILD_GNU_CPU Der CPU-Teil von DEB_BUILD_GNU_TYPE. DEB_BUILD_GNU_SYSTEM Der System-Teil von DEB_BUILD_GNU_TYPE. DEB_BUILD_GNU_TYPE Der GNU-Systemtyp der Baumaschine. DEB_BUILD_MULTIARCH Der klargestellte GNU-Systemtyp der Baumaschine, wird für Dateisystempfade benutzt. DEB_HOST_ARCH Die Debian-Architektur der Host-Maschine. DEB_HOST_ARCH_OS Der Debian-Systemname der Host-Maschine. (Seit Dpkg 1.13.2). DEB_HOST_ARCH_CPU Der Debian-CPU-Name der Host-Maschine. (Seit Dpkg 1.13.2). DEB_HOST_ARCH_BITS Die Zeigergröße der Host-Maschine in Bits. (Seit Dpkg 1.15.4). DEB_HOST_ARCH_ENDIAN Die Endianness der Host-Maschine (little/big; seit Dpkg 1.15.4). DEB_HOST_GNU_CPU Der CPU-Teil von DEB_HOST_GNU_TYPE. DEB_HOST_GNU_SYSTEM Der System-Teil von DEB_HOST_GNU_TYPE. DEB_HOST_GNU_TYPE Der GNU-Systemtyp der Host-Maschine. DEB_HOST_MULTIARCH Der klargestellte GNU-Systemtyp der Host-Maschine, wird für Dateisystempfade benutzt. (Seit Dpkg 1.16.0).
DATEIEN
Architekturtabellen Alle diese Dateien müssen vorhanden sein, damit dpkg-architecture funktioniert. Ihr Ort kann zur Laufzeit mit der Umgebungsvariable DPKG_DATADIR überschrieben werden. /usr/share/dpkg/cputable Tabelle der bekannten CPU-Namen und Abbildungen auf ihre GNU-Namen. /usr/share/dpkg/ostable Tabelle der bekannten Betriebssystemnamen und Abbildungen auf ihre GNU-Namen. /usr/share/dpkg/triplettable Abbildung zwischen den Debian-Architektur-Tripletts und den Debian-Architekturnamen. Paketierungsunterstützung /usr/share/dpkg/architecture.mk Makefile-Schnipsel, das alle Variablen, die dpkg-architecture ausgibt, korrekt setzt und exportiert (seit Dpkg 1.16.1).
BEISPIELE
dpkg-buildpackage akzeptiert die -a-Option und gibt dies an dpkg-architecture weiter. Weitere Beispiele: CC=i386-gnu-gcc dpkg-architecture -c debian/rules build eval `dpkg-architecture -u` Überprüfe, ob eine Architektur identisch zu der aktuellen Architektur oder einer übergebenen ist: dpkg-architecture -elinux-alpha dpkg-architecture -amips -elinux-mips Überprüfe, ob die aktuelle oder eine mit -a übergebene Architektur Linux-Systeme sind: dpkg-architecture -ilinux-any dpkg-architecture -ai386 -ilinux-any Verwendung in debian/rules Die Umgebungsvariablen, die von dpkg-architecture gesetzt werden, werden an debian/rules 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 dpkg-architecture 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: Ermitteln des GNU-Systemtyps und dessen Weiterleitung an ./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) Etwas nur für eine bestimmte Architektur erledigen: DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) ifeq ($(DEB_HOST_ARCH),alpha) [?] endif 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. Beachten Sie, dass Sie sich auch auf ein externes Makefile-Schnipsel abstützen können, um alle Variablen, die dpkg-architecture bereitstellen kann, korrekt zu setzen: include /usr/share/dpkg/architecture.mk ifeq ($(DEB_HOST_ARCH),alpha) [?] endif Auf jeden Fall sollten Sie niemals dpkg --print-architecture verwenden, um die Architekturinformationen während eines Paketbaus zu erhalten.
ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2013 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.
SIEHE AUCH
dpkg-buildpackage(1), dpkg-cross(1).