deb822 - Formato Debian de dados de controle RFC822
O sistema de gestão de pacotes manipula dados representados num formato
comum, conhecido por
control data, guardado em
control files.
Ficheiros de controle são usados para pacotes fonte, pacotes
binários e os ficheiros
.changes que controlam a
instalação dos ficheiros que foram enviados (as bases de dados
internas do
dpkg estão num formato semelhante).
Um ficheiro de controle consiste de uma ou mais estrofes de campos (as estrofes
são também por vezes referidos como parágrafos). As
estrofes são separadas por linhas vazias. Os analisadores podem aceitar
linhas consistindo apenas de U+0020
SPACE e U+0009
TAB como
separadores de estrofes, mas os ficheiros de controle devem usar linhas
vazias. Alguns ficheiros de controle permitem apenas uma estrofe; outros
permitem várias, em qualquer caso cada estrofe geralmente faz
referência a um pacote diferente. (Por exemplo, em pacotes fonte, a
primeira estrofe refere-se ao pacote fonte, e as estrofes posteriores
referem-se aos pacotes binários gerados a partir da fonte). A ordem das
estrofes em ficheiros de controle é significativa.
Cada estrofe consiste numa série de campos de dados.. Cada campo consiste
do nome do campo seguido pelo símbolo dois pontos (U+003A ‘
:’), e depois o dado/valor associado a esse campo. O nome do
campo é composto de caracteres US-ASCII excluindo caracteres de
controle, espaço, e os dois pontos (isto é, caracteres (i.e.,
characters de U+0021 ‘
!’ até U+0039
‘
9’, e U+003B ‘
;’ até U+007E
‘
~’, inclusive). Os nomes de campo não podem
começar com o caractere de comentar (U+0023 ‘
#’),
nem com o caractere hífen (U+002D ‘
-’).
O campo termina no fim da linha ou no fim da última linha de
continuação (ver abaixo). Espaço em branco horizontal
(U+0020
SPACE e U+0009
TAB) pode ocorrer imediatamente antes ou
após do valor e é ignorado la; é convencional colocar um
espaço único após os dois pontos. Por exemplo, um campo
pode ser:
Package: dpkg
o nome do campo é
Package e o valor do campo é
dpkg.
Campos com valores vazios são apenas permitidos em ficheiros de controle
de pacotes fonte (
debian/control). Tais campos são ignorados.
Uma estrofe não pode conter mas do que uma instância
(cópia) de um nome de campo particular.
Existem três tipos de campos:
- simple
- O campo, incluindo o seu valor, tem de ser uma linha
única. Dobrar o campo não é permitido. Este é
o tipo de campo predefinido se a definição do campo
não especificar um tipo diferente.
- folded
- O valor de um campo dobrado é uma linha
lógica que pode continuar por várias linhas. As linhas
após a primeira são chamadas linha de
continuação e devem começar com um U+0020
SPACE ou um U+0009 TAB. O espaço em branco, incluindo
quaisquer novas linhas, não é significante nos valores de
campo de campos dobrados.
O método de dobragem é semelhante a RFC5322, permitido aos
ficheiros de controle que contêm apenas uma estrofe e nenhum campo
multi-linha serem lidos por programas analisadores escritos para
RFC5322.
- multiline
- O valor de um campo multi-linha pode comprometer
múltiplas linhas de continuação. A primeira linha do
valor, a parte na mesma linha que tem o nome do campo, muitas vezes tem um
significado especial ou pode precisar de estar vazia. As outras linhas
são adicionadas seguindo a mesma sintaxe que as linhas de
continuação dos campos dobrados. O espaço em branco,
incluindo novas linhas, tem significado nos valores dos campos
multi-linha.
Em espaço em branco não pode aparecer dentro de nomes (de pacotes,
arquitecturas, ficheiros ou tudo o resto) ou números de versão,
ou entre os caracteres de relacionamentos de versão multi-caractere.
A presença de objectivo de um campo, e a sintaxe do seu valor pode
diferir entre os tipos de ficheiros de controle.
Os nomes dos campos não são sensíveis a
maiúsculas/minúsculas, mas é usual capitalizar os nomes
dos campos usando misturas como mostrado em baixo. Os valores do campos
são sensíveis a maiúsculas/minúsculas excepto se a
descrição do campo diga o contrário.
Separadores de estrofes (linhas vazias) e linhas consistindo apenas de U+0020
SPACE e U+0009
TAB, não são permitidos dentro de
valores de campo ou entre campos. Linhas vazias em valores de campo são
normalmente escapadas ao representa-las por um U+0020
SPACE seguido de
um ponto (U+002E ‘
.’).
Linhas começadas com U+0023 ‘
#’, sem nenhum
espaço em branco a preceder são linhas de comentários que
são apenas permitidos em ficheiros de controle dos pacotes fonte (
debian/control) e em ficheiros
deb-origin(5). Estas linhas de
comentários são ignoradas, mesmo entre duas linhas de
continuação. Elas não terminam linhas lógicas.
Todos os ficheiros de controle têm de estar codificados em UTF-8.
RFC822,
RFC5322.
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor
comunique para Américo Monteiro <
[email protected]>.