Provided by: dpkg-dev_1.17.5ubuntu5.8_all bug

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