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
|
*****************************************************
* 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 NOME
dpkg-architecture - define e determina a arquitectura para compilação de pacotes
=head1 RESUMO
B<dpkg-architecture> [I<option>...] [I<command>]
=head1 DESCRIÇÃO
B<dpkg-architecture> disponibiliza uma habilidade para determinar e definir a arquitectura de compilação e da máquina para compilação de pacotes.
A arquitectura de compilação é sempre determinada seja ou pela variável B<DEB_BUILD_ARCH> se definida (e se B<--force> não for especificada) ou por uma chamada externa ao L<dpkg(1)>, e não pode ser definida na linha de comandos.
Você pode especificar a arquitectura da máquina ao fornecer uma ou ambas as opções B<--host-arch> e B<--host-type>, caso contrário é usada a variável B<DEB_HOST_ARCH> se definida (e não sendo especificado B<--force>). A predefinição é determinada por uma chamada externa ao L<gcc(1)>, ou o mesmo como a arquitectura de compilação se B<CC> ou gcc estiverem ambos não disponíveis. Um de B<--host-arch> e B<--host-type> é suficiente, o valor do outro será definido para uma predefinição utilizável. De facto, é muitas vezes melhor apenas especificar um, porque B<dpkg-architecture> vai avisa-lo se a sua escolha não corresponder ao predefinido.
=head1 COMANDOS
=over
=item B<-l>, B<--list>
Escreve as variáveis de ambiente, uma em cada linha, no formato I<VARIÁVEL=valor>. Esta é a acção predefinida.
=item B<-e>, B<--equal> I<architecture>
Verifica a igualdade da arquitectura (desde dpkg 1.13.13). Compara a actual ou a arquitectura de maquina Debian especificada com I<architecture>, para verificar se são iguais. Esta acção não irá expandir as wildcards de arquitectura. O comando termina com um estado de saída 0 de corresponderem, 1 se não corresponderem.
=item B<-i>, B<--is> I<architecture-wildcard>
Verifica a identidade da arquitectura (desde dpkg 1.13.13). Compara a actual ou a arquitectura de máquina Debian especificada com I<architecture-wildcard> após a ter expandido como uma wildcard de arquitectura, para verificar se correspondem. O comando termina com estado de saída 0 se corresponderem, 1 se não corresponderem.
=item B<-q>, B<--query> I<variable-name>
Escreve o valor de uma variável única.
=item B<-s>, B<--print-set>
Escreve um comando de exportação. Isto pode ser usado para definir as variáveis de ambiente usando a shell POSIX ou make B<eval>, dependendo do formato dos resultados.
=item B<-u>, B<--print-unset>
Escreve um comando semelhante ao B<--print-set> mas para limpar o valor de todas as variáveis.
=item B<-c>, B<--command> I<command-string>
Executa uma I<command-string> num ambiente que tem todas as variáveis definidas para o determinado valor.
Se a I<string-de-comando> conter meta-caracteres de shell, então será invocada através da shell limite do sistema.
=item B<-L>, B<--list-known>
Escreve uma lista de nomes de arquitecturas válidos. Possivelmente restringidos por uma ou mais das opções de correspondência B<--match-wildcard>, B<--match-bits> ou B<--match-endian> (desde dpkg 1.17.14).
=item B<-?>, B<--help>
Mostra a mensagem de utilização e termina.
=item B<--version>
Mostra a versão e termina.
=back
=head1 OPÇÕES
=over
=item B<-a>, B<--host-arch> I<architecture>
Define a arquitectura da máquina Debian
=item B<-t>, B<--host-type> I<gnu-system-type>
Define o tipo de sistema GNU da máquina.
=item B<-A>, B<--target-arch> I<architecture>
Define a arquitectura Debian de destino (desde dpkg 1.17.14).
=item B<-T>, B<--target-type> I<gnu-system-type>
Define o tipo de sistema GNU do destino (desde dpkg 1.17.14).
=item B<-W>, B<--match-wildcard> I<architecture-wildcard>
Restringe as arquitectura listadas por B<--list-known> a aquelas que correspondem à wildcard de arquitectura especificada (desde dpkg 1.17.14).
=item B<-B>, B<--match-bits> I<architecture-bits>
Restringe as arquitectura listadas por B<--list-known> a aquelas com os bits de CPU especificados (desde dpkg 1.17.14). Seja B<32> ou B<64>.
=item B<-E>, B<--match-endian> I<architecture-endianness>
Restringe as arquitectura listadas por B<--list-known> a aquelas com a categoria endian especificada (desde dpkg 1.17.14). Seja B<little> ou B<big>.
=item B<--print-format> I<format>
Define o formato de resultados para B<--print-set> e B<--print-unset> (desde dpkg 1.20.6), para ou B<shell> (predefinição) ou B<make>.
=item B<-f>, B<--force>
Os valores definidos pelas variáveis de ambiente existentes com os mesmos nomes usados como usados pelos scripts são respeitados (isto é, usados por B<dpkg-architecture>), excepto se esta bandeira de forçar estiver presente. Isto permite ao utilizador sobrepor um valor mesmo quando a chamada a B<dpkg-architecture> está enterrada em algum outro script (por exemplo L<dpkg-buildpackage(1)>).
=back
=head1 TERMOS
=over
=item máquina de compilação
A máquina onde o pacote é compilado.
=item máquina anfitriã
A máquina para onde o pacote é compilado.
=item máquina destino (alvo)
A maquina para a qual o compilador foi construído, ou o que emulador que irá correr código para. Isto é apenas necessário quando se compila ferramenta-corrente-cruzada (ou emulador), uma que será compilada sobre a arquitectura de compilação, para ser corrida na arquitectura anfitriã, e para compilar código (ou correr emulado) para a arquitectura alvo.
=item Arquitectura Debian
A string de arquitectura Debian, a qual especifica a árvore binária no arquivo FTP. Exemplos: i386, sparc, hurd-i386.
=item Tuple de arquitectura Debian
Um tuple de arquitectura Debian é a arquitectura totalmente qualificada com todos os seus componentes soletrados. Isto difere das arquitecturas Debian em que pelo menos o componente I<cpu> não trás embutido o I<abi>. O tuple actual tem o formato I<abi>-I<libc>-I<os>-I<cpu>. Exemplos: base-gnu-linux-amd64, eabihf-musl-linux-arm.
=item Wildcard de arquitectura Debian
Um wildcard de arquitectura Debian é uma string especial de arquitectura que irá corresponder a qualquer arquitectura real que faça parte dela. O formato geral é um tuple de arquitectura Debian com quatro ou menos elementos, e com pelo menos um deles a ser B<any>. Elementos em falta no tuple são prefixados implicitamente como B<any>, e assim os seguintes pares são equivalentes:
=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
Exemplos: linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-any.
=item Tipo de sistema GNU
Uma string de especificação de arquitectura consiste de duas partes separadas por um hífen: cpu e sistema. Exemplos: i586-linux-gnu, sparc-linux-gnu, i686-gnu, x86_64-netbsd.
=item multiarch triplet
O tipo de sistema GNU clarificado, usado para caminhos do sistema de ficheiros. Este triplet não altera mesmo quando a linha base ISA entra em colisão, para que os caminhos resultantes fiquem estáveis com o tempo. A única diferença actual com o tipo de sistema GNU é que a parte de CPU para os sistemas baseados em i386 é sempre i386. Exemplos: i386-linux-gnu, x86_64-linux-gnu. Exemplos de caminhos: /lib/powerpc64le-linux-gnu/, /usr/lib/i386-kfreebsd-gnu/.
=back
=head1 VARIÁVEIS
As seguintes variáveis são lidas a partir do ambiente (a menos que B<--force> seja especificado) e definidas por B<dpkg-architecture> (veja a secção B<TERMS> para uma descrição do esquema de nomeação):
=over
=item B<DEB_BUILD_ARCH>
A arquitectura Debian da máquina de compilação.
=item B<DEB_BUILD_ARCH_ABI>
O nome ABI Debian da máquina de compilação (desde dpkg 1.18.11).
=item B<DEB_BUILD_ARCH_LIBC>
O nome libc Debian da máquina de compilação (desde dpkg 1.18.11).
=item B<DEB_BUILD_ARCH_OS>
O nome de sistema Debian da máquina de compilação (desde dpkg 1.13.2).
=item B<DEB_BUILD_ARCH_CPU>
O nome de CPU de Debian da máquina de compilação (desde dpkg 1.13.2).
=item B<DEB_BUILD_ARCH_BITS>
O tamanho do ponteiro da máquina de compilação (em bits, desde dpkg 1.15.4).
=item B<DEB_BUILD_ARCH_ENDIAN>
A classe endian da máquina de compilação (ittle / big; desde dpkg 1.15.4).
=item B<DEB_BUILD_GNU_CPU>
A parte CPU GNU de B<DEB_BUILD_GNU_TYPE>.
=item B<DEB_BUILD_GNU_SYSTEM>
A parte de system GNU de B<DEB_BUILD_GNU_TYPE>.
=item B<DEB_BUILD_GNU_TYPE>
O tipo de sistema GNU da máquina de compilação.
=item B<DEB_BUILD_MULTIARCH>
O tipo de sistema GNU clarificado da máquina de compilação, usado para caminhos do sistema de ficheiros (desde dpkg 1.16.0).
=item B<DEB_HOST_ARCH>
A arquitectura Debian da máquina anfitriã.
=item B<DEB_HOST_ARCH_ABI>
O nome ABI Debian da máquina anfitriã (desde dpkg 1.18.11).
=item B<DEB_HOST_ARCH_LIBC>
O nome libc Debian da máquina anfitriã (desde dpkg 1.18.11).
=item B<DEB_HOST_ARCH_OS>
O nome de sistema Debian da máquina anfitriã (desde dpkg 1.13.2).
=item B<DEB_HOST_ARCH_CPU>
O nome de CPU de Debian da máquina anfitriã (desde dpkg 1.13.2).
=item B<DEB_HOST_ARCH_BITS>
O tamanho do ponteiro da máquina anfitriã (em bits, desde dpkg 1.15.4).
=item B<DEB_HOST_ARCH_ENDIAN>
A classe endian da máquina anfitriã (ittle / big; desde dpkg 1.15.4).
=item B<DEB_HOST_GNU_CPU>
A parte CPU GNU de B<DEB_HOST_GNU_TYPE>.
=item B<DEB_HOST_GNU_SYSTEM>
A parte de system GNU de B<DEB_HOST_GNU_TYPE>.
=item B<DEB_HOST_GNU_TYPE>
O tipo de sistema GNU da máquina anfitriã.
=item B<DEB_HOST_MULTIARCH>
O tipo de sistema GNU clarificado da máquina anfitriã, usado para caminhos do sistema de ficheiros (desde dpkg 1.16.0).
=item B<DEB_TARGET_ARCH>
A arquitectura Debian da máquina de destino (desde dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_ABI>
O nome ABI Debian da máquina alvo (desde dpkg 1.18.11).
=item B<DEB_TARGET_ARCH_LIBC>
O nome libc Debian da máquina alvo (desde dpkg 1.18.11).
=item B<DEB_TARGET_ARCH_OS>
O nome de sistema Debian da máquina de destino (desde dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_CPU>
O nome de CPU de Debian da máquina de destino (desde dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_BITS>
O tamanho do ponteiro da máquina de destino (em bits, desde dpkg 1.17.14).
=item B<DEB_TARGET_ARCH_ENDIAN>
A classe endian da máquina de destino (ittle / big; desde dpkg 1.17.14).
=item B<DEB_TARGET_GNU_CPU>
A parte CPU GNU de B<DEB_TARGET_GNU_TYPE> (desde dpkg 1.17.14).
=item B<DEB_TARGET_GNU_SYSTEM>
A parte de system GNU de B<DEB_TARGET_GNU_TYPE> (desde dpkg 1.17.14).
=item B<DEB_TARGET_GNU_TYPE>
O tipo de sistema GNU da máquina de destino (desde dpkg 1.17.14).
=item B<DEB_TARGET_MULTIARCH>
O tipo de sistema GNU clarificado da máquina de destino, usado para caminhos do sistema de ficheiros (desde dpkg 1.17.14).
=back
=head1 FICHEIROS
=head2 Tabelas de arquitecturas
Todos estes ficheiros têm de estar presentes para o B<dpkg-architecture> funcionar. A sua localização pode ser sobreposta durante o funcionamento com a variável de ambiente B<DPKG_DATADIR>. Estas tabelas contêm um pseudo-campo B<Version> de formato na sua primeira linha para marcar o seu formato, para que os analisadores possam verificar se o compreendem, tal como "# Version=1.0".
=over
=item I<%PKGDATADIR%/cputable>
Tabela de nomes de CPU conhecidas e o mapear delas para o seu nome GNU. Formato versão 1.0 (desde dpkg 1.13.2).
=item I<%PKGDATADIR%/ostable>
Tabela de nomes de sistemas operativos conhecidos e o mapear deles para o seu nome GNU. Formato versão 2.0 (desde dpkg 1.18.11).
=item I<%PKGDATADIR%/tupletable>
Mapeamento entre tuples de arquitectura Debian e nomes de arquitectura Debian. Versão de formato 1.0 (desde dpkg 1.18.11).
=item I<%PKGDATADIR%/abitable>
Tabela de sobreposições de atributos ABI de arquitectura Debian. Versão de formato 2.0 (desde dpkg 1.18.11).
=back
=head2 Suporte a empacotamento
=over
=item I<%PKGDATADIR%/architecture.mk>
Fragmento do Makefile cuja propriedade define e exporta todas as variáveis que o B<dpkg-architecture> gera como resultado (desde dpkg 1.16.1).
=back
=head1 EXEMPLOS
B<dpkg-buildpackage> aceita a opção B<-a> e passa-a para B<dpkg-architecture>. Outros exemplos:
=over
CC=i386-gnu-gcc dpkg-architecture -c debian/rules build
eval $(dpkg-architecture -u)
=back
Verifica se a arquitectura actual ou da máquina especificada é igual a uma arquitectura:
=over
dpkg-architecture -elinux-alpha
dpkg-architecture -amips -elinux-mips
=back
Verifica se a arquitectura actual ou da máquina especificada é um sistema Linux.
=over
dpkg-architecture -ilinux-any
dpkg-architecture -ai386 -ilinux-any
=back
=head2 Utilização em debian/rules
As variáveis de ambiente definidas pelo B<dpkg-architecture> são passadas para I<debian/rules> como variáveis do make (veja a documentação do make). No entanto, você não deve confiar nelas, porque prejudicam a invocação manual do script. Em vez disso, você deve sempre inicializa-las usando B<dpkg-architecture> com a opção B<-q>. Aqui estão alguns exemplos, que também mostram como você pode melhorar o suporte a compilação cruzada no seu pacote:
Obter o tipo de sistema GNU e reencaminha-lo para ./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
Fazer algo apenas para uma arquitectura específica:
=over
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq ($(DEB_HOST_ARCH),alpha)
[...]
endif
=back
ou se você apenas precisar de verificar o tipo de CPU ou SO, use as variáveis B<DEB_HOST_ARCH_CPU> ou B<DEB_HOST_ARCH_OS>
Note que você também pode confiar num retalho externo do Makefile para definir apropriadamente todas as variáveis que o B<dpkg-architecture> pode fornecer.
=over
include %PKGDATADIR%/architecture.mk
ifeq ($(DEB_HOST_ARCH),alpha)
[...]
endif
=back
Em qualquer dos casos, você nunca deverá usar o B<dpkg --print-architecture> para obter informação de arquitectura durante uma compilação de pacote.
=head1 AMBIENTE
=over
=item B<DPKG_DATADIR>
Se definida, será usada como o directório de dados do B<dpkg>, onde as tabelas de arquitectura estão localizadas (desde 1.14.17). A predefinição é «%PKGDATADIR%».
=item B<DPKG_COLORS>
Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites são: B<auto> (predefinido), B<always> e B<never>.
=item B<DPKG_NLS>
Se definida, será usada para decidir se deve activar o Suporte a Linguagem Nativa. Também como conhecido como suporte de internacionalização (ou i18n) (desde dpkg 1.19.0). Os valores aceites são B<0> e B<1> (predefinição).
=back
=head1 NOTAS
Todos comandos e nomes de opções longos disponíveis apenas desde dpkg 1.17.17.
=head1 VEJA TAMBÉM
L<dpkg-buildpackage(1)>.
=head1 TRADUÇÃO
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para
Américo Monteiro <a_monteiro@gmx.com>.
|