focal (1) dpkg-architecture.1.gz

Provided by: dpkg-dev_1.19.7ubuntu3.2_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 Befehlszeichenkette
              Führe eine Befehlszeichenkette 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-Architekturtupel
           Ein   Debian-Architekturtupel   ist   eine   vollqualifizierte   Architektur  mit  allen  Komponenten
           ausgeschrieben. Dies unterscheidet sich von der Debian-Architektur zumindestens in  der  Weise,  dass
           das  ABI  nicht  eingebettet  ist.  Das  aktuelle  Tupel  hat  die  Form  ABI-Libc-OS-CPU. Beispiele:
           base-gnu-linux-amd64, eabihf-musl-linux-arm.

       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 ein Debian-Architektur-Tupel mit
           vier oder weniger Elementen und bei dem mindestens eines any ist. Fehlende Elemente des Tupels werden
           implizit als any vorangestellt und daher sind die folgenden Tupel äquivalent:
               any-any-any-any = any
               any-any-os-any = os-any
               any-libc-any-any = libc-any-any
           Beispiele: linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-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 (siehe  den  Abschnitt  AUSDRÜCKE  für  eine
       Beschreibung des Benennungsschematas):

       DEB_BUILD_ARCH
           Die Debian-Architektur der Baumaschine.

       DEB_BUILD_ARCH_ABI
           Der Debian-ABI-Name der Baumaschine. (Seit Dpkg 1.18.11).

       DEB_BUILD_ARCH_LIBC
           Der Debian-Libc-Name der Baumaschine. (Seit Dpkg 1.18.11).

       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_ABI
           Der Debian-ABI-Name der Host-Maschine. (Seit Dpkg 1.18.11).

       DEB_HOST_ARCH_LIBC
           Der Debian-Libc-Name der Host-Maschine. (Seit Dpkg 1.18.11).

       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_ABI
           Der Debian-ABI-Name der Ziel-Maschine. (Seit Dpkg 1.18.11).

       DEB_TARGET_ARCH_LIBC
           Der Debian-Libc-Name der Ziel-Maschine. (Seit Dpkg 1.18.11).

       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. Diese Tabellen enthalten in der ersten Zeile
       ein Format-Versions-Pseudofeld, um ihre Version zu kennzeichnen, so dass Auswerteprogramme prüfen können,
       ob sie es verstehen. Beispiel: »# Version=1.0«.

       /usr/share/dpkg/cputable
              Tabelle der bekannten CPU-Namen und Abbildungen auf ihre GNU-Namen. Formatversion 1.0  (seit  Dpkg
              1.13.2).

       /usr/share/dpkg/ostable
              Tabelle  der  bekannten  Betriebssystemnamen und Abbildungen auf ihre GNU-Namen. Formatversion 2.0
              (seit Dpkg 1.18.11).

       /usr/share/dpkg/tupletable
              Abbildung zwischen den Debian-Architektur-Tupeln und  den  Debian-Architekturnamen.  Formatversion
              1.0 (seit Dpkg 1.18.11).

       /usr/share/dpkg/abitable
              Tabelle  von  Debian-Architektur-ABI-Attributs-Außerkraftsetzungen.  Formatversion  2.0 (seit Dpkg
              1.18.11).

   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.

UMGEBUNG

       DPKG_DATADIR
              Falls dies gesetzt ist,  wird  es  als  Datenverzeichnis  von  dpkg  verwandt,  in  dem  sich  die
              Architekturtabellen befinden (seit Dpkg 1.14.17). Standardmäßig „/usr/share/dpkg“.

       DPKG_COLORS
              Setzt  den  Farbmodus  (seit  Dpkg  1.18.5). Die derzeit unterstützten Werte sind: auto (Vorgabe),
              always und never.

       DPKG_NLS
              Falls dies  gesetzt  ist,  wird  es  zur  Entscheidung,  ob  Native  Language  Support,  auch  als
              Internationalisierung  (oder  i18n)  Unterstützung bekannt, aktiviert wird (seit Dpkg 1.19.0). Die
              akzeptierten Werte sind: 0 und 1 (Vorgabe).

BEMERKUNGEN

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

SIEHE AUCH

       dpkg-buildpackage(1).

ÜBERSETZUNG

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