Provided by: dpkg-dev_1.18.4ubuntu1.7_all bug

BEZEICHNUNG

       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 Befehlszeile gesetzt werden.

       Sie  können  die  Host-Architektur  (Wirt-Architektur)  spezifizieren, indem Sie eine oder
       beide der Optionen --host-arch oder --host-type  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 --host-arch  oder  --host-type  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, --list
              Zeige die Umgebungsvariablen, eine pro Zeile, in dem Format VARIABLE=Wert. Dies ist
              die Standardaktion.

       -e, --equal Architektur
              Überprüfe auf Gleichheit der  Architekturen  (seit  Dpkg  1.13.13).  Es  prüft  die
              aktuelle  oder  angegebene  Debian-Host-Architektur mit Architektur auf Gleichheit.
              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.

       -i, --is Architektur-Platzhalter
              Überprüfe auf Gleichheit der  Architekturen  (seit  Dpkg  1.13.13).  Es  prüft  die
              aktuelle   oder  angegebene  Debian-Host-Architektur  mit  Architektur-Platzhalter,
              nachdem dieser zu einem Architektur-Platzhalter expandiert wurde und prüft, ob  sie
              passen.   Der  Befehl  beendet  sich  mit  einem  Exit-Status  von  0,  falls  eine
              Übereinstimmung besteht, andernfalls mit 1.

       -q, --query Variablenname
              Zeige den Wert einer einzelnen Variablen an.

       -s, --print-set
              Zeige einen Export-Befehl. Dies kann dazu verwendet werden,  um  Umgebungsvariablen
              mittels eval zu setzen.

       -u, --print-unset
              Ähnlich wie --print-unset, gebe einen Export-Befehl aus, der alle Variablen löscht.

       -c, --command Befehl
              Führe  einen  Befehl  in  einer  Umgebung  aus,  in  der  alle  Variablen  auf  die
              festgelegten Werte gesetzt sind.

       -L, --list-known
              Gib eine Liste von gültigen Architekturnamen aus. Möglicherweise  durch  eine  oder
              mehrere  der  Abgleich-Optionen  --match-wildcard, --match-bits oder --match-endian
              eingeschränkt (seit Dpkg 1.17.14).

       -?, --help
              Zeige den Bedienungshinweis und beende.

       --version
              Gebe die Version aus und beende sich.

OPTIONEN

       -a, --host-arch Architektur
              Setzt die Debian-Host-Architektur.

       -t, --host-type GNU-Systemtyp
              Setzt den Host-GNU-Systemtyp.

       -A, --target-arch Architektur
              Setzt die Ziel-Debian-Architektur (seit Dpkg 1.17.14).

       -T, --target-type GNU-Systemtyp
              Setzt den Ziel-GNU-Systemtyp (seit Dpkg 1.17.14).

       -W, --match-wildcard Architektur-Platzhalter
              Begrenzt die mit --list-known aufgeführten Architekturen auf solche,  die  auf  den
              angegebenen Architektur-Platzhalter passen (seit Dpkg 1.17.14).

       -B, --match-bits Architektur-Bits
              Begrenzt  die  mit  --list-known  aufgeführten  Architekturen  auf  solche  mit den
              angegebenen CPU-Bits (seit Dpkg 1.17.14). Entweder 32 oder 64.

       -E, --match-endian Architektur-Endianness
              Begrenzt die  mit  --list-known  aufgeführten  Architekturen  auf  solche  mit  der
              angegebenen Endianness (seit Dpkg 1.17.14). Entweder little oder big.

       -f, --force
              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.

       Ziel-Maschine
           Die  Maschine, für die der Compiler baut. Dies wird nur beim Bau einer Cross-Toolchain
           und zum Bau von Code für die Ziel-Architektur benötigt. Die Cross-Toolchain  wird  auf
           der Bauarchitektur gebaut und läuft dann auf der Host-Architektur.

       Debian-Architektur
           Die  Debian-Architektur-Zeichenkette, die den binären Baum im FTP-Archiv spezifiziert.
           Beispiele: i386, sparc, hurd-i386.

       Debian-Architektur-Platzhalter
           Ein Debian-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:  i586-linux-gnu,  sparc-linux-gnu,
           i686-gnu, x86_64-netbsd.

       Multiarch-Tripel
           Der bereinigte GNU-Systemtyp, wird für Dateipfade verwandt. Dieses Tripel ändert  sich
           auch   nicht,   wenn  das  zugrundeliegende  ISA  erhöht  wird,  so  dass  die  daraus
           resultierenden Pfade dauerhaft stabil bleiben. Derzeit ist der einzige Unterschied zum
           GNU-Sytemtyp,  dass  der  CPU-Anteil  für  i386-basierte  Systeme  immer  i386 lautet.
           Beispiele:          i386-linux-gnu,          x86_64-linux-gnu.          Beispielpfade:
           /lib/powerpc64le-linux-gnu/, /usr/lib/i386-kfreebsd-gnu/.

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).

       DEB_TARGET_ARCH
           Die Debian-Architektur der Ziel-Maschine (seit Dpkg 1.17.14).

       DEB_TARGET_ARCH_OS
           Der Debian-Systemname der Ziel-Maschine. (Seit Dpkg 1.17.14).

       DEB_TARGET_ARCH_CPU
           Der Debian-CPU-Name der Ziel-Maschine. (Seit Dpkg 1.17.14).

       DEB_TARGET_ARCH_BITS
           Die Zeigergröße der Ziel-Maschine in Bits. (Seit Dpkg 1.17.14).

       DEB_TARGET_ARCH_ENDIAN
           Die Endianness der Ziel-Maschine (little/big; seit Dpkg 1.17.14).

       DEB_TARGET_GNU_CPU
           Der CPU-Teil von DEB_TARGET_GNU_TYPE. (Seit Dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           Der System-Teil von DEB_TARGET_GNU_TYPE. (Seit Dpkg 1.17.14).

       DEB_TARGET_GNU_TYPE
           Der GNU-Systemtyp der Ziel-Maschine. (Seit Dpkg 1.17.14).

       DEB_TARGET_MULTIARCH
           Der klargestellte GNU-Systemtyp der Ziel-Maschine, wird für Dateisystempfade  benutzt.
           (Seit Dpkg 1.17.14).

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.

       /usr/share/dpkg/abitable
              Tabelle von Debian-Architektur-ABI-Attributs-Außerkraftsetzungen.

   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 die aktuelle oder angegebene Host-Architektur identisch zu einer Architektur
       ist:

              dpkg-architecture -elinux-alpha

              dpkg-architecture -amips -elinux-mips

       Überprüfe, ob die aktuelle oder angegebene Host-Architektur ein Linux-System ist:

              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.

BEMERKUNGEN

       Alle langen Befehle und Optionennamen sind seit Dpkg 1.17.17 verfügbar.

ÜBERSETZUNG

       Die   deutsche    Übersetzung    wurde    2004,    2006-2015    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).