1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
|
*****************************************************
* GENERATED FILE, DO NOT EDIT *
* THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
*****************************************************
This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.
In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.
=encoding UTF-8
=head1 BEZEICHNUNG
dpkg-architecture - Architektur zum Paketbau setzen und bestimmen
=head1 ÜBERSICHT
B<dpkg-architecture> [I<Option> …] [I<Befehl>]
=head1 BESCHREIBUNG
B<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 due Variable B<DEB_BUILD_ARCH> (falls diese gesetzt und B<--force> nicht angegeben ist) oder durch einen externen Aufruf an L<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 B<--host-arch> oder B<--host-type> verwenden (andernfalls wird die Variable B<DEB_HOST_ARCH> verwandt, falls sie gesetzt und B<--force> nicht angegeben ist). Der Standardwert wird über einen externen Aufruf an L<gcc(1)> ermittelt oder ist identisch mit der Bauarchitektur, falls sowohl B<CC> als auch GCC nicht verfügbar sind. Einer von B<--host-arch> oder B<--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 B<dpkg-architecture> Sie warnen wird, falls Ihre Wahl nicht mit dem Standardwert übereinstimmt.
=head1 BEFEHLE
=over
=item B<-l>, B<--list>
Zeigt die Umgebungsvariablen, eine pro Zeile, in dem Format I<VARIABLE=Wert>. Dies ist die Standardaktion.
=item B<-e>, B<--equal> I<Architektur>
Überprüft auf Gleichheit der Architekturen (seit Dpkg 1.13.13). Es prüft die aktuelle oder angegebene Debian-Host-Architektur mit I<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.
=item B<-i>, B<--is> I<Architektur-Platzhalter>
Überprüft auf Gleichheit der Architekturen (seit Dpkg 1.13.13). Es prüft die aktuelle oder angegebene Debian-Host-Architektur mit I<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.
=item B<-q>, B<--query> I<Variablenname>
Zeigt den Wert einer einzelnen Variablen an.
=item B<-s>, B<--print-set>
Zeigt einen Export-Befehl. Dies kann dazu verwendet werden, um Umgebungsvariablen mittels der POSIX-Shell oder make B<eval> zu setzen, abhängig vom Ausgabeformat.
=item B<-u>, B<--print-unset>
Gibt ähnlich wie B<--print-set> einen Export-Befehl aus, der alle Variablen löscht.
=item B<-c>, B<--command> I<Befehlszeichenkette>
Führt eine I<Befehlszeichenkette> in einer Umgebung aus, in der alle Variablen auf die festgelegten Werte gesetzt sind.
Falls die I<Befehlszeichenkette> Shell-Metazeichen enthält, dann wird sie durch die System-Bourne-Shell aufgerufen.
=item B<-L>, B<--list-known>
Gibt eine Liste von gültigen Architekturnamen aus. Möglicherweise durch eine oder mehrere der Abgleich-Optionen B<--match-wildcard>, B<--match-bits> oder B<--match-endian> eingeschränkt (seit Dpkg 1.17.14).
=item B<-?>, B<--help>
Zeigt einen Hinweis zum Aufruf und beendet das Programm.
=item B<--version>
Gibt die Version aus und beendet das Programm.
=back
=head1 OPTIONEN
=over
=item B<-a>, B<--host-arch> I<Architektur>
Setzt die Debian-Host-Architektur.
=item B<-t>, B<--host-type> I<GNU-Systemtyp>
Setzt den Host-GNU-Systemtyp.
=item B<-A>, B<--target-arch> I<Architektur>
Setzt die Ziel-Debian-Architektur (seit Dpkg 1.17.14).
=item B<-T>, B<--target-type> I<GNU-Systemtyp>
Setzt den Ziel-GNU-Systemtyp (seit Dpkg 1.17.14).
=item B<-W>, B<--match-wildcard> I<Architektur-Platzhalter>
Begrenzt die mit B<--list-known> aufgeführten Architekturen auf solche, die auf den angegebenen Architektur-Platzhalter passen (seit Dpkg 1.17.14).
=item B<-B>, B<--match-bits> I<Architektur-Bits>
Begrenzt die mit B<--list-known> aufgeführten Architekturen auf solche mit den angegebenen CPU-Bits (seit Dpkg 1.17.14). Entweder B<32> oder B<64>.
=item B<-E>, B<--match-endian> I<Architektur-Bytereihenfolge>
Begrenzt die mit B<--list-known> aufgeführten Architekturen auf solche mit der angegebenen Bytereihenfolge (seit Dpkg 1.17.14). Entweder B<little> oder B<big>.
=item B<--print-format> I<Format>
Setzt das Ausgabeformat für B<--print-set> und B<--print-unset> (seit Dpkg 1.20.6), auf entweder B<shell> (Vorgabe) oder B<make>.
=item B<-f>, B<--force>
Existierende Umgebungsvariablen mit dem gleichen Namen wie vom Skript verwendet werden nicht überschrieben (d.h. sie werden von B<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 B<dpkg-architecture> tief in einem anderen Skript versteckt ist (beispielsweise L<dpkg-buildpackage(1)>).
=back
=head1 AUSDRÜCKE
=over
=item Baumaschine
Die Maschine, auf der das Paket gebaut wird.
=item Host-Maschine
Die Maschine, für die das Paket gebaut ist.
=item Ziel-Maschine
Die Maschine, für die der Compiler baut oder dem Emulator, für den Code ausgeführt wird. Dies wird nur beim Bau einer Cross-Toolchain (oder einem Emulator) und zum Bau von Code für die Ziel-Architektur benötigt. Die Cross-Toolchain wird auf der Bauarchitektur gebaut (oder emuliert ausgeführt) und läuft dann auf der Host-Architektur.
=item Debian-Architektur
Die Debian-Architektur-Zeichenkette, die den binären Baum im FTP-Archiv spezifiziert. Beispiele: i386, sparc, hurd-i386.
=item Debian-Architekturtupel
Ein Debian-Architekturtupel ist eine vollqualifizierte Architektur mit allen Komponenten ausgeschrieben. Dies unterscheidet sich von der Debian-Architektur zumindest in der Weise, dass das I<ABI> nicht eingebettet ist. Das aktuelle Tupel hat die Form I<ABI>-I<Libc>-I<OS>-I<CPU>. Beispiele: base-gnu-linux-amd64, eabihf-musl-linux-arm.
=item 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 B<any> ist. Fehlende Elemente des Tupels werden implizit als B<any> vorangestellt und daher sind die folgenden Tupel äquivalent:
=over
=item B<any>-B<any>-B<any>-B<any> = B<any>
=item B<any>-B<any>-I<os>-B<any> = I<os>-B<any>
=item B<any>-I<libc>-B<any>-B<any> = I<libc>-B<any>-B<any>
=back
Beispiele: linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-any.
=item GNU-Systemtyp
Eine Architekturspezifikationszeichenkette besteht aus zwei, durch einen Bindestrich getrennten Teilen: CPU und System. Beispiele: i586-linux-gnu, sparc-linux-gnu, i686-gnu, x86_64-netbsd.
=item 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/.
=back
=head1 VARIABLEN
Die folgenden Variablen werden von der Umgebung gelesen (außer B<--force> wurde angegeben) und durch B<dpkg-architecture> gesetzt (siehe den Abschnitt B<AUSDRÜCKE> für eine Beschreibung des Benennungsschemas):
=over
=item B<DEB_BUILD_ARCH>
Die Debian-Architektur der Baumaschine.
=item B<DEB_BUILD_ARCH_ABI>
Der Debian-ABI-Name der Baumaschine. (Seit Dpkg 1.18.11).
=item B<DEB_BUILD_ARCH_LIBC>
Der Debian-Libc-Name der Baumaschine. (Seit Dpkg 1.18.11).
=item B<DEB_BUILD_ARCH_OS>
Der Debian-Systemname der Baumaschine. (Seit Dpkg 1.13.2).
=item B<DEB_BUILD_ARCH_CPU>
Der Debian-CPU-Name der Baumaschine. (Seit Dpkg 1.13.2).
=item B<DEB_BUILD_ARCH_BITS>
Die Zeigergröße der Baumaschine in Bits. (Seit Dpkg 1.15.4).
=item B<DEB_BUILD_ARCH_ENDIAN>
Die Bytereihenfolge der Baumaschine (little/big; seit Dpkg 1.15.4).
=item B<DEB_BUILD_GNU_CPU>
Der GNU-CPU-Teil von B<DEB_BUILD_GNU_TYPE>.
=item B<DEB_BUILD_GNU_SYSTEM>
Der GNU-System-Teil von B<DEB_BUILD_GNU_TYPE>.
=item B<DEB_BUILD_GNU_TYPE>
Der GNU-Systemtyp der Baumaschine.
=item B<DEB_BUILD_MULTIARCH>
Der klargestellte GNU-Systemtyp der Baumaschine, der für Dateisystempfade benutzt wird.
=item B<DEB_HOST_ARCH>
Die Debian-Architektur der Host-Maschine.
=item B<DEB_HOST_ARCH_ABI>
Der Debian-ABI-Name der Host-Maschine. (Seit Dpkg 1.18.11).
=item B<DEB_HOST_ARCH_LIBC>
Der Debian-Libc-Name der Host-Maschine. (Seit Dpkg 1.18.11).
=item B<DEB_HOST_ARCH_OS>
Der Debian-Systemname der Host-Maschine. (Seit Dpkg 1.13.2).
=item B<DEB_HOST_ARCH_CPU>
Der Debian-CPU-Name der Host-Maschine. (Seit Dpkg 1.13.2).
=item B<DEB_HOST_ARCH_BITS>
Die Zeigergröße der Host-Maschine in Bits. (Seit Dpkg 1.15.4).
=item B<DEB_HOST_ARCH_ENDIAN>
Die Bytereihenfolge der Host-Maschine (little/big; seit Dpkg 1.15.4).
=item B<DEB_HOST_GNU_CPU>
Der GNU-CPU-Teil von B<DEB_HOST_GNU_TYPE>.
=item B<DEB_HOST_GNU_SYSTEM>
Der GNU-System-Teil von B<DEB_HOST_GNU_TYPE>.
=item B<DEB_HOST_GNU_TYPE>
Der GNU-Systemtyp der Host-Maschine.
=item B<DEB_HOST_MULTIARCH>
Der klargestellte GNU-Systemtyp der Host-Maschine, wird für Dateisystempfade benutzt. (Seit Dpkg 1.16.0).
=item B<DEB_TARGET_ARCH>
Die Debian-Architektur der Ziel-Maschine (seit Dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_ABI>
Der Debian-ABI-Name der Ziel-Maschine. (Seit Dpkg 1.18.11).
=item B<DEB_TARGET_ARCH_LIBC>
Der Debian-Libc-Name der Ziel-Maschine. (Seit Dpkg 1.18.11).
=item B<DEB_TARGET_ARCH_OS>
Der Debian-Systemname der Ziel-Maschine. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_CPU>
Der Debian-CPU-Name der Ziel-Maschine. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_BITS>
Die Zeigergröße der Ziel-Maschine in Bits. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_ENDIAN>
Die Bytereihenfolge der Ziel-Maschine (little/big; seit Dpkg 1.17.14).
=item B<DEB_TARGET_GNU_CPU>
Der GNU-CPU-Teil von B<DEB_TARGET_GNU_TYPE>. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_GNU_SYSTEM>
Der GNU-System-Teil von B<DEB_TARGET_GNU_TYPE>. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_GNU_TYPE>
Der GNU-Systemtyp der Ziel-Maschine. (Seit Dpkg 1.17.14).
=item B<DEB_TARGET_MULTIARCH>
Der klargestellte GNU-Systemtyp der Ziel-Maschine, wird für Dateisystempfade benutzt. (Seit Dpkg 1.17.14).
=back
=head1 DATEIEN
=head2 Architekturtabellen
Alle diese Dateien müssen vorhanden sein, damit B<dpkg-architecture> funktioniert. Ihr Ort kann zur Laufzeit mit der Umgebungsvariable B<DPKG_DATADIR> überschrieben werden. Diese Tabellen enthalten in der ersten Zeile ein Format-B<Version>s-Pseudofeld, um ihre Version zu kennzeichnen, so dass Auswerteprogramme prüfen können, ob sie es verstehen. Beispiel: „# Version=1.0“.
=over
=item I<%PKGDATADIR%/cputable>
Tabelle der bekannten CPU-Namen und Abbildungen auf ihre GNU-Namen. Formatversion 1.0 (seit Dpkg 1.13.2).
=item I<%PKGDATADIR%/ostable>
Tabelle der bekannten Betriebssystemnamen und Abbildungen auf ihre GNU-Namen. Formatversion 2.0 (seit Dpkg 1.18.11).
=item I<%PKGDATADIR%/tupletable>
Abbildung zwischen den Debian-Architektur-Tupeln und den Debian-Architekturnamen. Formatversion 1.0 (seit Dpkg 1.18.11).
=item I<%PKGDATADIR%/abitable>
Tabelle von Debian-Architektur-ABI-Attributs-Hinwegsetzung. Formatversion 2.0 (seit Dpkg 1.18.11).
=back
=head2 Paketierungsunterstützung
=over
=item I<%PKGDATADIR%/architecture.mk>
Make-Steuerdateischnipsel, das alle Variablen, die B<dpkg-architecture> ausgibt, korrekt setzt und exportiert (seit Dpkg 1.16.1).
=back
=head1 BEISPIELE
B<dpkg-buildpackage> akzeptiert die Option B<-a> und gibt diese an B<dpkg-architecture> weiter. Weitere Beispiele:
=over
CC=i386-gnu-gcc dpkg-architecture -c debian/rules build
eval $(dpkg-architecture -u)
=back
Überprüfen, ob die aktuelle oder angegebene Host-Architektur identisch zu einer Architektur ist:
=over
dpkg-architecture -elinux-alpha
dpkg-architecture -amips -elinux-mips
=back
Überprüfen, ob die aktuelle oder angegebene Host-Architektur ein Linux-System ist:
=over
dpkg-architecture -ilinux-any
dpkg-architecture -ai386 -ilinux-any
=back
=head2 Verwendung in debian/rules
Die Umgebungsvariablen, die von B<dpkg-architecture> gesetzt werden, werden an I<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 mittels B<dpkg-architecture> mit der Option B<-q> 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:
=over
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)
=back
Etwas nur für eine bestimmte Architektur erledigen:
=over
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq ($(DEB_HOST_ARCH),alpha)
[…]
endif
=back
oder, falls Sie nur den CPU- oder OS-Typ überprüfen müssen, verwenden Sie die Variablen B<DEB_HOST_ARCH_CPU> oder B<DEB_HOST_ARCH_OS>.
Um alle Variablen, die B<dpkg-architecture> bereitstellen kann, korrekt zu setzen, können Sie auch extern ein Make-Steuerdateischnipsel verwenden:
=over
include %PKGDATADIR%/architecture.mk
ifeq ($(DEB_HOST_ARCH),alpha)
[…]
endif
=back
Auf jeden Fall sollten Sie niemals B<dpkg --print-architecture> verwenden, um die Architekturinformationen während eines Paketbaus zu erhalten.
=head1 UMGEBUNG
=over
=item B<DPKG_DATADIR>
Falls dies gesetzt ist, wird es als Datenverzeichnis von B<dpkg> verwandt, in dem sich die Architekturtabellen befinden (seit Dpkg 1.14.17). Standardmäßig „%PKGDATADIR%“.
=item B<DPKG_COLORS>
Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten Werte sind: B<auto> (Vorgabe), B<always> und B<never>.
=item B<DPKG_NLS>
Falls dies gesetzt ist, wird es zur Entscheidung, ob Native Language Support, auch als Unterstützung für Internationalisierung (oder i18n) bekannt, aktiviert wird (seit Dpkg 1.19.0). Die akzeptierten Werte sind: B<0> und B<1> (Vorgabe).
=back
=head1 BEMERKUNGEN
Alle langen Befehle und Optionennamen sind seit Dpkg 1.17.17 verfügbar.
=head1 SIEHE AUCH
L<dpkg-buildpackage(1)>.
=head1 ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2023 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.
|