summaryrefslogtreecommitdiffstats
path: root/man/pt/deb-src-control.pod
blob: b3a595af18dfa5c56b6806cd1624580f0da960fc (plain)
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
        *****************************************************
        *           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

deb-src-control - formato Debian de ficheiro de controle mestre de pacotes fonte

=head1 SINOPSE

B<debian/control>

=head1 DESCRIÇÃO

Cada pacote fonte Debian contem o ficheiro «B<debian/control>» mestre, e o seu formato L<deb822(5)> é um superconjunto do ficheiro B<control> enviado em pacotes binários Debian, veja B<deb-control>(5).

Este ficheiro contem pelo menos 2 estrofes, separadas por uma linha vazia. A primeira estrofe lista toda a informação acerca do pacote fonte em geral, enquanto cada estrofe seguinte descreve exactamente um pacote binário. Cada estrofe consiste de pelo menos um campo. Um campo começa com um nome de ficheiro, tal como B<Package> ou B<Section> (insensível a maiúsculas/minúsculas), seguido de dois pontos, o corpo do campo (sensível a maiúsculas/minúsculas a menos que declarado o contrário) e uma mudança de linha. São também permitirmos campos multi-linha, mas cada linha suplementar, sem o nome do ficheiro, deve começar com pelo menos um espaço em branco. O conteúdo dos campos multi-linha é geralmente juntado numa única pelas ferramentas (excepto no caso do campo B<Description>, ver abaixo). Para inserir linhas vazias num campo de multi-linha, insira um ponto após o espaço. As linhas começadas com ‘B<#>’ são tratadas como comentários.

=head1 CAMPOS DE FONTE

=over 

=item B<Source:> I<source-package-name> (necessário)

O valor deste campo é o nome do pacote fonte, e deve corresponder ao nome do pacote fonte no ficheiro debian/changelog. O nome de um pacote deve consistir apenas de letras minúsculas (a-z), dígitos (0-9), e dos sinais mais (+) e menos (-) e de pontos (.). Os nomes dos pacotes devem ter pelo menos dois caracteres de comprimento e têm de começar com um caractere alfanumérico minúsculo (a-z0-9).

=item B<Maintainer:> I<fullname-email> (recomendado)

Deverá estar no formato «Joe Bloggs E<lt>jbloggs@foo.comE<gt>», e refere-se à pessoa que mantém actualmente o pacote, e não o autor do software nem ao empacotador original.

=item B<Uploaders:> I<fullname-email>

Lista todos os nomes e endereços de email de co-maintainers do pacote, no mesmo formato que o campo Maintainer. Vários co-maintainers devem ser separados por uma vírgula.

=item B<Standards-Version:> I<version-string>

Isto documenta a versão mais recente dos standards de política da distribuição com que este pacote está em conformidade.

=item B<Description> I<short-description>

=item S< >I<long-description>

O formato da descrição do pacote fonte é um sumário breve e curto na primeira linha (após o campo B<Description>). As linhas seguintes devem ser usadas para uma descrição longa e mais detalhada. Cada linha da descrição longa tem de ser precedida com um espaço, e as linhas em branco na descrição longa têm de conter um único ‘B<.>’  a seguir ao espaço que precede.

=item B<Homepage:> I<url>

O URL da página inicial do projecto do autor original

=item B<Bugs:> I<url>

O I<url> do sistema de acompanhamento de bugs deste pacote. O formato usado actualmente é I<bts-type>B<://>I<bts-address>, como B<debbugs://bugs.debian.org>. Este campo geralmente não é necessário.

=item B<Rules-Requires-Root:> B<no>|B<binary-targets>|I<impl-keywords>

Este campo é usado para indicar se o campo B<debian/rules> requer privilégios de (fake)root para correr alguns dos seus alvos, e se sim quando.

=over 

=item B<no>

Os alvos binários não irão requerer (fake)root de todo.

=item B<binary-targets>

Os alvos binários devem ser sempre corridos sob (fake)root. Este é a predefinição quando o campo é omitido, adicionar o campo com um B<binary-targets> explícito quando não estritamente necessário, marca-o como tendo sido analisada para este requerimento.

=item I<impl-keywords>

Isto é uma lista de palavras-chave separadas por espaços que define quando (fake)root é requerido.

Palavras chave consistem de I<namespace>/I<cases>.  A parte I<namespace> não pode conter "/" ou espaços em branco. A parte I<cases> não pode conter espaços em branco. Mais ainda, ambas partes têm de consistir inteiramente de caracteres ASCII de escrita.

Cada ferramenta/pacote irá definir um espaço-nome com o nome dela própria e disponibilizar um número de casos onde (fake)root é necessário. (Veja "Implementação de palavras-chave fornecidas" em I<rootless-builds.txt>).

Quando o campo está definido para uma das I<impl-keywords>, o compilador irá expor uma interface que é usada para correr um comando sob (fake)root. (Veja "Gain Root API" em I<rootless-builds.txt>.)

=back

=item B<Testsuite:> I<name-list>

=item B<Testsuite-Triggers:> I<package-list>

Estes campos estão descritos no manual do B<dsc>(5), pois eles são gerados a partir de informação inferida de B<debian/tests/control> ou copiada literalmente para o ficheiro de controle da fonte.

=item B<Vcs-Arch:> I<url>

=item B<Vcs-Bzr:> I<url>

=item B<Vcs-Cvs:> I<url>

=item B<Vcs-Darcs:> I<url>

=item B<Vcs-Git:> I<url>

=item B<Vcs-Hg:> I<url>

=item B<Vcs-Mtn:> I<url>

=item B<Vcs-Svn:> I<url>

O I<url> do repositório do Sistema de Controlo de Versão usando para manter este pacote. Actualmente suportados são B<Arch>, B<Bzr> (Bazaar), B<Cvs>, B<Darcs>, B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) e B<Svn> (Subversion). Geralmente esta campo aponta par aa versão mais recente do pacote, tal como o ramal principal ou o "trunk".

=item B<Vcs-Browser:> I<url>

O I<url> da uma interface web para explorar o repositório do Sistema de Controlo de Versão.

=item B<Origin:> I<name>

O nome da distribuição de onde este pacote é originário. Normalmente este campo não é necessário.

=item B<Section:> I<section>

Este é um campo geral que dá ao pacote uma categoria baseada no software que ele instala. Algumas secções comuns são B<utils>, B<net>, B<mail>, B<text>, B<x11>, etc.

=item B<Priority:> I<priority>

Define a importância deste pacote relativamente ao sistema como um todo. Prioridades comuns são B<required>, B<standard>, B<optional>, B<extra>, etc.

Os campos B<Section> e B<Priority> têm geralmente um conjunto definido de valores aceites baseados na política específica da distribuição.

=item B<Build-Depends:> I<package-list>

Uma lista de pacotes que precisam de estar instalados e configurados para ser possível compilar a partir do pacote fonte. Estas dependências precisam de estar satisfeitas quando se compila pacotes binários dependentes ou independentes da arquitectura e pacotes fonte. Incluir uma dependência neste campo não tem o mesmo efeito exacto que a incluir em ambos B<Build-Depends-Arch> e B<Build-Depends-Indep>, porque a dependência também precisa de satisfeita quando se compila o pacote fonte.

=item B<Build-Depends-Arch:> I<package-list>

O mesmo que B<Build-Depends>, mas são apenas necessárias quando se compila os pacotes dependentes da arquitectura. Os B<Build-Depends> são também instalados neste caso. Este campo é suportado desde dpkg 1.16.4; de modo a compilar com versões antigas do dpkg, deve ser usado B<Build-Depends> em vez disto.

=item B<Build-Depends-Indep:> I<package-list>

O mesmo que B<Build-Depends>, mas são apenas necessárias quando se compila os pacotes independentes da arquitectura. Os B<Build-Depends> são também instalados neste caso.

=item B<Build-Conflicts:> I<package-list>

Uma lista de pacotes que não devem estar instalados quando o pacote é compilado, por exemplo porque interferem com o sistema de compilação usado. Incluir uma dependência nesta lista tem o mesmo efeito que a incluir em ambos B<Build-Conflicts-Arch> e B<Build-Conflicts-Indep>, com o efeito adicional de ser usada para compilações de apenas-fonte.

=item B<Build-Conflicts-Arch:> I<package-list>

O mesmo que B<Build-Conflicts>, mas apenas quando se compila os pacotes dependentes da arquitectura. Este campo é suportado desde dpkg 1.16.4; de modo a compilar com versões antigas do dpkg, deve ser usado B<Build-Conflicts> em vez disto.

=item B<Build-Conflicts-Indep:> I<package-list>

O mesmo que B<Build-Conflicts>. mas apenas quando se compila os pacotes independentes da arquitectura.

=back

A sintaxe dos campos B<Build-Depends>, B<Build-Depends-Arch> e B<Build-Depends-Indep> é uma lista de grupos de pacotes alternativos. Cada grupo é uma lista de pacotes separados por símbolos de barra vertica (ou “pipe”), ‘B<|>’. OS grupos estão separados por vírgulas ‘B<,>’, e podem terminar com uma vírgula final que será eliminada ao gerar os campos para B<deb-control>(5) (desde dpkg 1.10.14). As virgulas devem ler-se como “E”, e os pipes como “OU”, com os pipes a vincular com mais firmeza, Cada nome de pacote é seguido opcionalmente por um qualificador de arquitectura anexado após dois pontos ‘B<:>’, opcionalmente seguido por uma especificação de número de versão em parêntesis ‘B<(>’ e ‘B<)>’, uma especificação de arquitectura em parêntesis rectos ‘B<[>’ e ‘B<]>’, e uma fórmula de restrição consistindo de uma ou mais listas de nomes de perfis em colchetes angulares ‘B<E<lt>>’ e ‘B<E<gt>>’.

A sintaxe dos campos B<Build-Conflicts>, B<Build-Conflicts-Arch> e B<Build-Conflicts-Indep> é uma lista de nomes de pacotes separados por vírgulas, onde a vírgula é lida com um "E", e onde a lista por terminar com uma vírgula final que será eliminada ao se gerar os campos para B<deb-control>(5) (desde dpkg 1.10.14). Especificar pacotes alternativos usando um “pipe” não é suportado. Cada nome de pacote é opcionalmente seguido de uma especificação de número de versão em parêntesis, uma especificação de arquitectura em parêntesis rectos, e uma fórmula de restrição consistindo de um ou mais listas de nomes de perfis em colchetes angulares.

Um nome qualificador de arquitectura pode ser um nome de arquitectura real Debian (desde dpkg 1.16.5), B<any> (desde dpkg 1.16.2) ou B<native> (desde dpkg 1.16.5). Se omitido, a predefinição para campos B<Build-Depends> é a arquitectura da máquina actual, a predefinição para campos B<Build-Conflicts> é B<any>.  Um nome de arquitectura real Debian irá corresponder exactamente essa arquitectura para esse nome de pacote,  B<any> irá corresponder a qualquer arquitectura para esse nome de pacote se o pacote estiver marcado com B<Multi-Arch: allowed>, e B<native> irá corresponder à arquitectura de compilação actual se o pacote não estiver marcado com B<Multi-Arch: foreign>.

Um número de versão pode começar com um ‘B<E<gt>E<gt>>’, nesse caso qualquer versão posterior irá corresponder, e pode especificar ou omitir a revisão de empacotamento Debian (separada por um hífen). Relacionamentos de versão aceites são ‘B<E<gt>E<gt>>’ para maior que, ‘B<E<lt>E<lt>>’ para menor que, ‘B<E<gt>=>’ para maior ou igual a, ‘B<E<lt>=>’ para menor ou igual a, e ‘B<=>’ para igual a.

Uma especificação de arquitectura consiste em um ou mais nomes de arquitectura, separados por espaços em branco. Pode ser adicionado no inicio de cada nome um ponto de exclamação, o que significa "NÃO".

Uma fórmula de restrição consiste em uma ou mais listas de restrições, separadas por espaços em branco. Cada lista de restrição fica dentro de colchetes angulares, os itens na lista de restrição são nomes de perfis de compilação, separados por espaços em branco e pode ser prefixados com um ponto de exclamação, que significa “NÃO”. Uma fórmula de restrição representa uma expressão de forma normal disjuntiva.

Note que as dependências de pacotes no conjunto B<build-essential> podem ser omitidas e que declarar conflitos de compilação contra elas é impossível. Uma lista desses pacotes está no pacote build-essential.

=head1 CAMPOS DE BINÁRIOS

Note que os campos B<Priority>, B<Section> e B<Homepage> podem também ficar numa estrofe binário para sobrepor o valor global do pacote fonte.

=over 

=item B<Package:> I<binary-package-name> (necessário)

Este campo é usado para dar nome ao nome do pacote binário. Aplicam-se as mesmas restrições como para um nome de pacote fonte.

=item B<Package-Type:> B<deb>|B<udeb>|I<type>

Este campo define o tipo de pacote. B<udeb> é para pacotes de tamanho reduzido usados pelo instalador de debian. B<deb> é o valor predefinido, é assumido se o campo estiver ausente. Mais tipos podem ser adicionados no futuro.

=item B<Architecture:> I<arch>|B<all>|B<any> (necessário)

A arquitectura especifica em que tipo de hardware este pacote corre. Para os pacotes que correm em toras as arquitecturas, use o valor B<any>. Para pacotes que são independentes da arquitectura, tais como scripts de shell e Perl ou documentação, use o valor B<all>. Para restringir os pacotes a certo conjunto de arquitecturas, especifique os nomes das arquitecturas, separadas por um espaço. É também possível colocar wildcards de arquitecturas nessa lista (veja B<dpkg-architecture>(1)  para mais informação sobre isto).

=item B<Build-Profiles:> I<restriction-formula>

Este campo especifica as condições para quais este pacote compila ou não compila. Para expressar essas condições, é usada a mesma sintaxe de fórmula de restrição que se usa no campo B<Build-Depends> (incluindo os colchetes angulares).

Se uma estrofe de pacote binário não conter este campo, então significa implicitamente que compila com todos os perfis de compilação (incluindo nenhum deles).

Por outras palavras, se uma estrofe de pacote binário estiver anotado com um campo B<Build-Profiles> não vazio, então este pacote binário é gerado se e apenas se a condição expressa pela expressão de forma normal conjuntiva ser avaliada como verdadeira.

=item B<Protected:> B<yes>|B<no>

=item B<Essential:> B<yes>|B<no>

=item B<Build-Essential:> B<yes>|B<no>

=item B<Multi-Arch:> B<same>|B<foreign>|B<allowed>|B<no>

=item B<Tag:> I<tag-list>

=item B<Description:> I<short-description> (recomendado)

Estes campos estão descritos no manual do B<deb-control>(5), pois eles são literalmente copiados para o ficheiro de controle do pacote binário.

=item B<Depends:> I<package-list>

=item B<Pre-Depends:> I<package-list>

=item B<Recommends:> I<package-list>

=item B<Suggests:> I<package-list>

=item B<Breaks:> I<package-list>

=item B<Enhances:> I<package-list>

=item B<Replaces:> I<package-list>

=item B<Conflicts:> I<package-list>

=item B<Provides:> I<package-list>

=item B<Built-Using:> I<package-list>

=item B<Static-Built-Using:> I<package-list>

Estes campos declaram relacionamentos entre pacotes. Eles são discutidos no manual B<deb-control>(5). Quando estes campos são encontrados em I<debian/control> eles podem também terminar com uma vírgula final (desde dpkg 1.10.14), têm especificações de arquitectura, e fórmulas de restrição que serão todas reduzidas quando se gera os campos para B<deb-control>(5).

=item B<Subarchitecture:> I<value>

=item B<Kernel-Version:> I<value>

=item B<Installer-Menu-Item:> I<value>

Estes campos são usados pelo instalador de debian em B<udeb>s e geralmente não são necessários. Para mais detalhes acerca deles, veja L<https://salsa.debian.org/installer-team/debian-installer/-/raw/master/doc/devel/modules.txt>.

=back

=head1 CAMPOS DEFINIDOS PELO UTILIZADOR

É permitido adicionar campos adicionais definidos pelo utilizador. As ferramentas irão ignorar estes campos. -Se deseja que os campos sejam copiados os ficheiros resultantes, tal como um pacote binário, você precisa de usar um esquema de nomeação personalizado: os campos devem começar com um B<X>, seguido de zero ou mais das letras B<SBC> e um hífen.

=over 

=item B<S>

O campo irá aparecer no ficheiro de controle do pacote fonte, veja B<dsc>(5).

=item B<B>

O campo irá aparecer no ficheiro de controle do pacote binário, veja B<deb-control>(5).

=item B<C>

O campo irá aparecer no ficheiro de controle de envio (.changes), veja B<deb-changes>(5).

=back

Note que os prefixos B<X>[B<SBC>]B<-> são cortados quando so campos são copiados para os ficheiros resultantes. Um campo B<XC-Approved-By> irá aparecer como B<Approved-By> no ficheiro changes e não irá aparecer nos ficheiros de controle de pacote binário ou fonte.

Tenha em conta que estes campos definidos pelo utilizador irão usar o espaço de nomes global, o que poderá em algum ponto no futuro colidir com campos oficialmente reconhecidos. Para evitar tal potencial situação, você pode prefixar esse campos com B<Private->, tal como B<XB-Private-New-Field>.

=head1 EXEMPLO

 # Comment
 Source: dpkg
 Section: admin
 Priority: required
 Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
 # this field is copied to the binary and source packages
 XBS-Upstream-Release-Status: stable
 Homepage: https://wiki.debian.org/Teams/Dpkg
 Vcs-Browser: https://git.dpkg.org/cgit/dpkg/dpkg.git
 Vcs-Git: https://git.dpkg.org/git/dpkg/dpkg.git
 Standards-Version: 3.7.3
 Build-Depends: pkg-config, debhelper (>= 4.1.81),
  libselinux1-dev (>= 1.28-4) [!linux-any]

 Package: dpkg-dev
 Section: utils
 Priority: optional
 Architecture: all
 # this is a custom field in the binary package
 XB-Mentoring-Contact: Raphael Hertzog <hertzog@debian.org>
 Depends: dpkg (>= 1.14.6), perl5, perl-modules, cpio (>= 2.4.2-2),
  bzip2, lzma, patch (>= 2.2-1), make, binutils, libtimedate-perl
 Recommends: gcc | c-compiler, build-essential
 Suggests: gnupg, debian-keyring
 Conflicts: dpkg-cross (<< 2.0.0), devscripts (<< 2.10.26)
 Replaces: manpages-pl (<= 20051117-1)
 Description: Debian package development tools
  This package provides the development tools (including dpkg-source)
  required to unpack, build and upload Debian source packages.
  .
  Most Debian source packages will require additional tools to build;
  for example, most packages need make and the C compiler gcc.

=head1 VEJA TAMBÉM

I<%PKGDOCDIR%/spec/rootless-builds.txt>, L<deb822(5)>, B<deb-control>(5), B<deb-version>(7), B<dpkg-source>(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>.