dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / de / dpkg-architecture.man
CommitLineData
1479465f
GJ
1.\" dpkg manual page - dpkg-architecture(1)
2.\"
3.\" Copyright © 2005 Marcus Brinkmann <brinkmd@debian.org>
4.\" Copyright © 2005 Scott James Remnant <scott@netsplit.com>
5.\" Copyright © 2006-2015 Guillem Jover <guillem@debian.org>
6.\" Copyright © 2009-2012 Raphaël Hertzog <hertzog@debian.org>
7.\"
8.\" This is free software; you can redistribute it and/or modify
9.\" it under the terms of the GNU General Public License as published by
10.\" the Free Software Foundation; either version 2 of the License, or
11.\" (at your option) any later version.
12.\"
13.\" This is distributed in the hope that it will be useful,
14.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16.\" GNU General Public License for more details.
17.\"
18.\" You should have received a copy of the GNU General Public License
19.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
20.
21.\"*******************************************************************
22.\"
23.\" This file was generated with po4a. Translate the source file.
24.\"
25.\"*******************************************************************
26.TH dpkg\-architecture 1 %RELEASE_DATE% %VERSION% dpkg\-Programmsammlung
27.nh
28.SH BEZEICHNUNG
29dpkg\-architecture \- Architektur zum Paketbau setzen und bestimmen
30.
31.SH ÜBERSICHT
32\fBdpkg\-architecture\fP [\fIOption\fP …] [\fIBefehl\fP]
33.PP
34.
35.SH BESCHREIBUNG
36\fBdpkg\-architecture\fP stellt eine Möglichkeit bereit, die Rechner\-Architektur
37für den Paketbau zu bestimmen und zu setzen.
38.PP
39Die Bau\-Architektur wird immer über einen externen Aufruf an \fBdpkg\fP(1)
40bestimmt und kann nicht auf der Befehlszeile gesetzt werden.
41.PP
42Sie können die Host\-Architektur (Wirt\-Architektur) spezifizieren, indem Sie
43eine oder beide der Optionen \fB\-\-host\-arch\fP oder \fB\-\-host\-type\fP
44verwenden. Der Standardwert wird über einen externen Aufruf an \fBgcc\fP(1)
45ermittelt oder ist identisch mit der Bauarchitektur, falls sowohl \fBCC\fP als
46auch Gcc nicht verfügbar sind. Einer von \fB\-\-host\-arch\fP oder \fB\-\-host\-type\fP
47ist ausreichend, der Wert des anderen wird auf einen brauchbaren Wert
48gesetzt. Tatsächlich ist es oft besser, nur einen der beiden anzugeben, da
49\fBdpkg\-architecture\fP Sie warnen wird, falls Ihre Wahl nicht mit dem
50Standardwert übereinstimmt.
51.
52.SH BEFEHLE
53.TP
54\fB\-l\fP, \fB\-\-list\fP
55Zeige die Umgebungsvariablen, eine pro Zeile, in dem Format
56\fIVARIABLE=Wert\fP. Dies ist die Standardaktion.
57.TP
58\fB\-e\fP, \fB\-\-equal\fP \fIArchitektur\fP
59Überprüfe auf Gleichheit der Architekturen (seit Dpkg 1.13.13). Es prüft die
60aktuelle oder angegebene Debian\-Host\-Architektur mit \fIArchitektur\fP auf
61Gleichheit. Diese Aktion expandiert nicht die Architektur\-Platzhalter
62(Wildcards). Der Befehl beendet sich mit einem Exit\-Status von 0, falls eine
63Übereinstimmung besteht, andernfalls mit 1.
64
65.TP
66\fB\-i\fP, \fB\-\-is\fP \fIArchitektur\-Platzhalter\fP
67Überprüfe auf Gleichheit der Architekturen (seit Dpkg 1.13.13). Es prüft die
68aktuelle oder angegebene Debian\-Host\-Architektur mit
69\fIArchitektur\-Platzhalter\fP, nachdem dieser zu einem Architektur\-Platzhalter
70expandiert wurde und prüft, ob sie passen. Der Befehl beendet sich mit einem
71Exit\-Status von 0, falls eine Übereinstimmung besteht, andernfalls mit 1.
72.TP
73\fB\-q\fP, \fB\-\-query\fP \fIVariablenname\fP
74Zeige den Wert einer einzelnen Variablen an.
75.TP
76\fB\-s\fP, \fB\-\-print\-set\fP
77Zeige einen Export\-Befehl. Dies kann dazu verwendet werden, um
78Umgebungsvariablen mittels eval zu setzen.
79.TP
80\fB\-u\fP, \fB\-\-print\-unset\fP
81Ähnlich wie \fB\-\-print\-unset\fP, gebe einen Export\-Befehl aus, der alle
82Variablen löscht.
83.TP
84\fB\-c\fP, \fB\-\-command\fP \fIBefehl\fP
85Führe einen \fIBefehl\fP in einer Umgebung aus, in der alle Variablen auf die
86festgelegten Werte gesetzt sind.
87.TP
88\fB\-L\fP, \fB\-\-list\-known\fP
89Gib eine Liste von gültigen Architekturnamen aus. Möglicherweise durch eine
90oder mehrere der Abgleich\-Optionen \fB\-\-match\-wildcard\fP, \fB\-\-match\-bits\fP oder
91\fB\-\-match\-endian\fP eingeschränkt (seit Dpkg 1.17.14).
92.TP
93\fB\-?\fP, \fB\-\-help\fP
94Zeige den Bedienungshinweis und beende.
95.TP
96\fB\-\-version\fP
97Gebe die Version aus und beende sich.
98.
99.SH OPTIONEN
100.TP
101\fB\-a\fP, \fB\-\-host\-arch\fP \fIArchitektur\fP
102Setzt die Debian\-Host\-Architektur.
103.TP
104\fB\-t\fP, \fB\-\-host\-type\fP \fIGNU\-Systemtyp\fP
105Setzt den Host\-GNU\-Systemtyp.
106.TP
107\fB\-A\fP, \fB\-\-target\-arch\fP \fIArchitektur\fP
108Setzt die Ziel\-Debian\-Architektur (seit Dpkg 1.17.14).
109.TP
110\fB\-T\fP, \fB\-\-target\-type\fP \fIGNU\-Systemtyp\fP
111Setzt den Ziel\-GNU\-Systemtyp (seit Dpkg 1.17.14).
112.TP
113\fB\-W\fP, \fB\-\-match\-wildcard\fP \fIArchitektur\-Platzhalter\fP
114Begrenzt die mit \fB\-\-list\-known\fP aufgeführten Architekturen auf solche, die
115auf den angegebenen Architektur\-Platzhalter passen (seit Dpkg 1.17.14).
116.TP
117\fB\-B\fP, \fB\-\-match\-bits\fP \fIArchitektur\-Bits\fP
118Begrenzt die mit \fB\-\-list\-known\fP aufgeführten Architekturen auf solche mit
119den angegebenen CPU\-Bits (seit Dpkg 1.17.14). Entweder \fB32\fP oder \fB64\fP.
120.TP
121\fB\-E\fP, \fB\-\-match\-endian\fP \fIArchitektur\-Endianness\fP
122Begrenzt die mit \fB\-\-list\-known\fP aufgeführten Architekturen auf solche mit
123der angegebenen Endianness (seit Dpkg 1.17.14). Entweder \fBlittle\fP oder
124\fBbig\fP.
125.TP
126\fB\-f\fP, \fB\-\-force\fP
127Existierende Umgebungsvariablen mit dem gleichen Namen wie vom Skript
128verwendet werden nicht überschrieben (d.h. sie werden von
129\fBdpkg\-architecture\fP verwendet), es sei denn, die »force«\-Markierung ist
130gesetzt. Dies erlaubt es dem Benutzer einen Wert zu überschreiben, selbst
131wenn der Aufruf von \fBdpkg\-architecture\fP tief in einem anderen Skript
132versteckt ist (beispielsweise \fBdpkg\-buildpackage\fP(1)).
133.
134.SH AUSDRÜCKE
135.IP Baumaschine 4
136Die Maschine, auf der das Paket gebaut wird.
137.IP Host\-Maschine 4
138Die Maschine, für die das Paket gebaut ist.
139.IP Ziel\-Maschine 4
140Die Maschine, für die der Compiler baut. Dies wird nur beim Bau einer
141Cross\-Toolchain und zum Bau von Code für die Ziel\-Architektur benötigt. Die
142Cross\-Toolchain wird auf der Bauarchitektur gebaut und läuft dann auf der
143Host\-Architektur.
144.IP Debian\-Architektur 4
145Die Debian\-Architektur\-Zeichenkette, die den binären Baum im FTP\-Archiv
146spezifiziert. Beispiele: i386, sparc, hurd\-i386.
147.IP Debian\-Architekturtupel 4
148Ein Debian\-Architekturtupel ist eine vollqualifizierte Architektur mit allen
149Komponenten ausgeschrieben. Dies unterscheidet sich von der
150Debian\-Architektur zumindestens in der Weise, dass das \fIABI\fP nicht
151eingebettet ist. Das aktuelle Tupel hat die Form
152\fIABI\fP\-\fILibc\fP\-\fIOS\fP\-\fICPU\fP. Beispiele: base\-gnu\-linux\-amd64,
153eabihf\-musl\-linux\-arm.
154.IP Debian\-Architektur\-Platzhalter 4
155Ein Debian\-Architektur\-Platzhalter ist eine spezielle
156Architektur\-Zeichenkette, die auf jede reale Architektur, die ein Teil davon
157ist, passt. Die allgemeine Form ist ein Debian\-Architektur\-Tupel mit vier
158oder weniger Elementen und bei dem mindestens eines \fBany\fP ist. Fehlende
159Elemente des Tupels werden implizit als \fBany\fP vorangestellt und daher sind
160die folgenden Tupel äquivalent:
161.nf
162 \fBany\fP\-\fBany\fP\-\fBany\fP\-\fBany\fP = \fBany\fP
163 \fBany\fP\-\fBany\fP\-\fIos\fP\-\fBany\fP = \fIos\fP\-\fBany\fP
164 \fBany\fP\-\fIlibc\fP\-\fBany\fP\-\fBany\fP = \fIlibc\fP\-\fBany\fP\-\fBany\fP
165.fi
166Beispiele: linux\-any, any\-i386, hurd\-any, eabi\-any\-any\-arm, musl\-any\-any.
167.IP GNU\-Systemtyp 4
168Eine Architektur\-Spezifikations\-Zeichenkette besteht aus zwei, durch einen
169Bindestrich getrennten Teilen: CPU und System. Beispiele: i586\-linux\-gnu,
170sparc\-linux\-gnu, i686\-gnu, x86_64\-netbsd.
171.IP Multiarch\-Tripel 4
172Der bereinigte GNU\-Systemtyp, wird für Dateipfade verwandt. Dieses Tripel
173ändert sich auch nicht, wenn das zugrundeliegende ISA erhöht wird, so dass
174die daraus resultierenden Pfade dauerhaft stabil bleiben. Derzeit ist der
175einzige Unterschied zum GNU\-Sytemtyp, dass der CPU\-Anteil für i386\-basierte
176Systeme immer i386 lautet. Beispiele: i386\-linux\-gnu,
177x86_64\-linux\-gnu. Beispielpfade: /lib/powerpc64le\-linux\-gnu/,
178/usr/lib/i386\-kfreebsd\-gnu/.
179.
180.SH VARIABLEN
181Die folgenden Variablen werden von \fBdpkg\-architecture\fP gesetzt:
182.IP \fBDEB_BUILD_ARCH\fP 4
183Die Debian\-Architektur der Baumaschine.
184.IP \fBDEB_BUILD_ARCH_ABI\fP 4
185Der Debian\-ABI\-Name der Baumaschine. (Seit Dpkg 1.18.11).
186.IP \fBDEB_BUILD_ARCH_LIBC\fP 4
187Der Debian\-Libc\-Name der Baumaschine. (Seit Dpkg 1.18.11).
188.IP \fBDEB_BUILD_ARCH_OS\fP 4
189Der Debian\-Systemname der Baumaschine. (Seit Dpkg 1.13.2).
190.IP \fBDEB_BUILD_ARCH_CPU\fP 4
191Der Debian\-CPU\-Name der Baumaschine. (Seit Dpkg 1.13.2).
192.IP \fBDEB_BUILD_ARCH_BITS\fP 4
193Die Zeigergröße der Baumaschine in Bits. (Seit Dpkg 1.15.4).
194.IP \fBDEB_BUILD_ARCH_ENDIAN\fP 4
195Die Endianness der Baumaschine (little/big; seit Dpkg 1.15.4).
196.IP \fBDEB_BUILD_GNU_CPU\fP 4
197Der CPU\-Teil von \fBDEB_BUILD_GNU_TYPE\fP.
198.IP \fBDEB_BUILD_GNU_SYSTEM\fP 4
199Der System\-Teil von \fBDEB_BUILD_GNU_TYPE\fP.
200.IP \fBDEB_BUILD_GNU_TYPE\fP 4
201Der GNU\-Systemtyp der Baumaschine.
202.IP \fBDEB_BUILD_MULTIARCH\fP 4
203Der klargestellte GNU\-Systemtyp der Baumaschine, wird für Dateisystempfade
204benutzt.
205.IP \fBDEB_HOST_ARCH\fP 4
206Die Debian\-Architektur der Host\-Maschine.
207.IP \fBDEB_HOST_ARCH_ABI\fP 4
208Der Debian\-ABI\-Name der Host\-Maschine. (Seit Dpkg 1.18.11).
209.IP \fBDEB_HOST_ARCH_LIBC\fP 4
210Der Debian\-Libc\-Name der Host\-Maschine. (Seit Dpkg 1.18.11).
211.IP \fBDEB_HOST_ARCH_OS\fP 4
212Der Debian\-Systemname der Host\-Maschine. (Seit Dpkg 1.13.2).
213.IP \fBDEB_HOST_ARCH_CPU\fP 4
214Der Debian\-CPU\-Name der Host\-Maschine. (Seit Dpkg 1.13.2).
215.IP \fBDEB_HOST_ARCH_BITS\fP 4
216Die Zeigergröße der Host\-Maschine in Bits. (Seit Dpkg 1.15.4).
217.IP \fBDEB_HOST_ARCH_ENDIAN\fP 4
218Die Endianness der Host\-Maschine (little/big; seit Dpkg 1.15.4).
219.IP \fBDEB_HOST_GNU_CPU\fP 4
220Der CPU\-Teil von \fBDEB_HOST_GNU_TYPE\fP.
221.IP \fBDEB_HOST_GNU_SYSTEM\fP 4
222Der System\-Teil von \fBDEB_HOST_GNU_TYPE\fP.
223.IP \fBDEB_HOST_GNU_TYPE\fP 4
224Der GNU\-Systemtyp der Host\-Maschine.
225.IP \fBDEB_HOST_MULTIARCH\fP 4
226Der klargestellte GNU\-Systemtyp der Host\-Maschine, wird für Dateisystempfade
227benutzt. (Seit Dpkg 1.16.0).
228.IP \fBDEB_TARGET_ARCH\fP 4
229Die Debian\-Architektur der Ziel\-Maschine (seit Dpkg 1.17.14).
230.IP \fBDEB_TARGET_ARCH_ABI\fP 4
231Der Debian\-ABI\-Name der Ziel\-Maschine. (Seit Dpkg 1.18.11).
232.IP \fBDEB_TARGET_ARCH_LIBC\fP 4
233Der Debian\-Libc\-Name der Ziel\-Maschine. (Seit Dpkg 1.18.11).
234.IP \fBDEB_TARGET_ARCH_OS\fP 4
235Der Debian\-Systemname der Ziel\-Maschine. (Seit Dpkg 1.17.14).
236.IP \fBDEB_TARGET_ARCH_CPU\fP 4
237Der Debian\-CPU\-Name der Ziel\-Maschine. (Seit Dpkg 1.17.14).
238.IP \fBDEB_TARGET_ARCH_BITS\fP 4
239Die Zeigergröße der Ziel\-Maschine in Bits. (Seit Dpkg 1.17.14).
240.IP \fBDEB_TARGET_ARCH_ENDIAN\fP 4
241Die Endianness der Ziel\-Maschine (little/big; seit Dpkg 1.17.14).
242.IP \fBDEB_TARGET_GNU_CPU\fP 4
243Der CPU\-Teil von \fBDEB_TARGET_GNU_TYPE\fP. (Seit Dpkg 1.17.14).
244.IP \fBDEB_TARGET_GNU_SYSTEM\fP 4
245Der System\-Teil von \fBDEB_TARGET_GNU_TYPE\fP. (Seit Dpkg 1.17.14).
246.IP \fBDEB_TARGET_GNU_TYPE\fP 4
247Der GNU\-Systemtyp der Ziel\-Maschine. (Seit Dpkg 1.17.14).
248.IP \fBDEB_TARGET_MULTIARCH\fP 4
249Der klargestellte GNU\-Systemtyp der Ziel\-Maschine, wird für Dateisystempfade
250benutzt. (Seit Dpkg 1.17.14).
251.
252.SH DATEIEN
253.SS Architekturtabellen
254Alle diese Dateien müssen vorhanden sein, damit \fBdpkg\-architecture\fP
255funktioniert. Ihr Ort kann zur Laufzeit mit der Umgebungsvariable
256\fBDPKG_DATADIR\fP überschrieben werden. Diese Tabellen enthalten in der ersten
257Zeile ein Format\-\fBVersion\fPs\-Pseudofeld, um ihre Version zu kennzeichnen, so
258dass Auswerteprogramme prüfen können, ob sie es verstehen. Beispiel: »#
259Version=1.0«.
260.TP
261\fI%PKGDATADIR%/cputable\fP
262Tabelle der bekannten CPU\-Namen und Abbildungen auf ihre
263GNU\-Namen. Formatversion 1.0 (seit Dpkg 1.13.2).
264.TP
265\fI%PKGDATADIR%/ostable\fP
266Tabelle der bekannten Betriebssystemnamen und Abbildungen auf ihre
267GNU\-Namen. Formatversion 2.0 (seit Dpkg 1.18.11).
268.TP
269\fI%PKGDATADIR%/tupletable\fP
270Abbildung zwischen den Debian\-Architektur\-Tupeln und den
271Debian\-Architekturnamen. Formatversion 1.0 (seit Dpkg 1.18.11).
272.TP
273\fI%PKGDATADIR%/abitable\fP
274Tabelle von
275Debian\-Architektur\-ABI\-Attributs\-Außerkraftsetzungen. Formatversion 2.0
276(seit Dpkg 1.18.11).
277.SS Paketierungsunterstützung
278.TP
279\fI%PKGDATADIR%/architecture.mk\fP
280Makefile\-Schnipsel, das alle Variablen, die \fBdpkg\-architecture\fP ausgibt,
281korrekt setzt und exportiert (seit Dpkg 1.16.1).
282.
283.SH BEISPIELE
284\fBdpkg\-buildpackage\fP akzeptiert die \fB\-a\fP\-Option und gibt dies an
285\fBdpkg\-architecture\fP weiter. Weitere Beispiele:
286.IP
287CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build
288.IP
289eval \`dpkg\-architecture \-u\`
290.PP
291Überprüfe, ob die aktuelle oder angegebene Host\-Architektur identisch zu
292einer Architektur ist:
293.IP
294dpkg\-architecture \-elinux\-alpha
295.IP
296dpkg\-architecture \-amips \-elinux\-mips
297.PP
298Überprüfe, ob die aktuelle oder angegebene Host\-Architektur ein Linux\-System
299ist:
300.IP
301dpkg\-architecture \-ilinux\-any
302.IP
303dpkg\-architecture \-ai386 \-ilinux\-any
304.
305.SS "Verwendung in debian/rules"
306Die Umgebungsvariablen, die von \fBdpkg\-architecture\fP gesetzt werden, werden
307an \fIdebian/rules\fP als Make\-Variablen weitergegeben (lesen Sie hierzu die
308Make\-Dokumentation). Allerdings sollten Sie sich nicht auf diese verlassen,
309da damit der manuelle Aufruf des Skripts verhindert wird. Stattdessen
310sollten Sie sie immer mit \fBdpkg\-architecture\fP mit der \fB\-q\fP\-Option
311initialisieren. Hier sind einige Beispiele, die auch zeigen, wie sie die
312Cross\-Kompilierungs\-Unterstützung in Ihrem Paket verbessern können:
313.PP
314Ermitteln des GNU\-Systemtyps und dessen Weiterleitung an ./configure:
315.PP
316.RS 4
317.nf
318DEB_BUILD_GNU_TYPE ?= $(shell dpkg\-architecture \-qDEB_BUILD_GNU_TYPE)
319DEB_HOST_GNU_TYPE ?= $(shell dpkg\-architecture \-qDEB_HOST_GNU_TYPE)
320[…]
321ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
322 confflags += \-\-build=$(DEB_HOST_GNU_TYPE)
323else
324 confflags += \-\-build=$(DEB_BUILD_GNU_TYPE) \e
325 \-\-host=$(DEB_HOST_GNU_TYPE)
326endif
327[…]
328\&./configure $(confflags)
329.fi
330.RE
331.PP
332Etwas nur für eine bestimmte Architektur erledigen:
333.PP
334.RS 4
335.nf
336DEB_HOST_ARCH ?= $(shell dpkg\-architecture \-qDEB_HOST_ARCH)
337
338ifeq ($(DEB_HOST_ARCH),alpha)
339 […]
340endif
341.fi
342.RE
343.PP
344oder, falls Sie nur den CPU\- oder OS\-Typ überprüfen müssen, verwenden Sie
345die \fBDEB_HOST_ARCH_CPU\fP\- oder \fBDEB_HOST_ARCH_OS\fP\-Variablen.
346.PP
347Beachten Sie, dass Sie sich auch auf ein externes Makefile\-Schnipsel
348abstützen können, um alle Variablen, die \fBdpkg\-architecture\fP bereitstellen
349kann, korrekt zu setzen:
350.PP
351.RS 4
352.nf
353include %PKGDATADIR%/architecture.mk
354
355ifeq ($(DEB_HOST_ARCH),alpha)
356 […]
357endif
358.fi
359.RE
360.PP
361Auf jeden Fall sollten Sie niemals \fBdpkg \-\-print\-architecture\fP verwenden,
362um die Architekturinformationen während eines Paketbaus zu erhalten.
363.
364.SH UMGEBUNG
365.TP
366\fBDPKG_DATADIR\fP
367Falls dies gesetzt ist, wird es als Datenverzeichnis von \fBdpkg\fP verwandt,
368in dem sich die Architekturtabellen befinden (seit Dpkg
3691.14.17). Standardmäßig »%PKGDATADIR%«.
370.SH BEMERKUNGEN
371Alle langen Befehle und Optionennamen sind seit Dpkg 1.17.17 verfügbar.
372.
373.SH "SIEHE AUCH"
374\fBdpkg\-buildpackage\fP(1), \fBdpkg\-cross\fP(1).
375.SH ÜBERSETZUNG
376Die deutsche Übersetzung wurde 2004, 2006-2017 von Helge Kreutzmann
377<debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und
3782008 von Sven Joachim <svenjoac@gmx.de>
379angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
380GNU General Public License Version 2 oder neuer für die Kopierbedingungen.
381Es gibt KEINE HAFTUNG.