dsc - formato Debian de ficheiro de controle de pacotes fonte
Cada pacote fonte Debian é composto de um ficheiro .dsc, o
qual contém um número de campos, em formato
deb822(5).
Cada campo começa com uma etiqueta, tal como Source
ou Binary (insensível a maiúsculas/minúsculas),
seguida do símbolo dois pontos, e o corpo do campo (sensível a
maiúsculas/minúsculas a menos que declarado o
contrário). Os campos são delimitados apenas por etiquetas de
campos. Por outras palavras, o texto do campo pode ter várias linhas
de comprimento, mas as ferramentas de instalação irão
geralmente juntar as linhas quando processam o corpo do campo (excepto no
caso de Package-List, Files, Checksums-Sha1 e
Checksums-Sha256 de múltiplos campos, ver abaixo).
Os dados de controle podem estar inclusos numa assinatura OpenPGP
ASCII Armored, como especificado em RFC4880.
- Format:
format-version (necessário)
- O valor deste campo declara a versão de formato do pacote fonte. O
valor do campo é usado por programas que actuam no pacote fonte
para interpretar a lista de ficheiros no pacote fonte e determinar como
desempacota-los. A sintaxe do valor do campo é uma revisão
maior numérica (“0-9”), um ponto (“.”),
uma revisão menor numérica (“0-9”), e depois
um subtipo opcional após um espaço em branco (“
\t”), o qual é especificado numa palavra alfanumérica
em minúsculas (“a-z0-9”) em parêntesis
(“()”). O subtipo é opcional na sintaxe mas pode ser
obrigatória para revisões particulares de formato fonte.
Os formatos fonte actualmente suportados pelo dpkg
são 1.0, 2.0, 3.0 (native), 3.0
(quilt), 3.0 (git), 3.0 (bzr) e 3.0 (custom).
Veja dpkg-source(1) para as suas descrições.
- Source:
source-name (necessário)
- O valor deste campo determina o nome do pacote, e é usado para
gerar nomes de ficheiros pela maioria das ferramentas de
instalação.
- Binary:
binary-package-list
- Este campo dobrado lista pacotes binários, separados por
vírgulas, que este pacote fonte pode produzir.
Este campo está agora a ser suplantado pelo campo
Package-List, o qual fornece informação suficiente
sobre que pacotes binários são produzidos em qual
arquitectura, perfil de compilação e outras
restrições envolvidas.
- Architecture:
arch-list (recomendado)
- Uma lista de arquitecturas e wildcards de arquitecturas separadas por
espaços que especificam o tipo de hardware para o qual este pacote
por ser compilado. Nomes de arquitecturas comuns são amd64,
armel, i386, linux-any, any-amd64, etc.
Note que o valor all destina-se a pacotes que
são independentes da arquitectura, e any a pacotes que
são dependentes da arquitectura. A lista pode incluir (ou
consistir apenas de) o valor especial all. Quando a lista contem
a wildcard de arquitectura any, o outro único valor
permitido na lista é all.
O valor do campo é geralmente gerado a partir de campos
Architecture a partir de debian/control no pacote
fonte.
- Version:
string-de-versão (obrigatório)
- Tipicamente, isto é o número de versão do pacote
original seja em que formato o autor do programa usa. Pode também
incluir um número de revisão Debian (para pacotes
não-nativos). O formato exacto e algoritmo de
ordenação estão descritos em
deb-version(7).
- Origin:
name
- O nome da distribuição de onde este pacote originou.
- Maintainer:
fullname-email (recomendado)
- Deverá estar no formato "Joe Bloggs
<jbloggs@foo.com>", e é tipicamente a pessoa que criou o
pacote, e não o autor do software que foi empacotado.
- Uploaders:
fullname-email-list
- 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.
- Description
short-description
- long-description
- O formato da descrição do pacote fonte é um
sumário breve e curto na primeira linha (após o campo
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 ‘.’ a seguir ao espaço que
precede.
- Homepage:
url
- O url da página inicial do projecto do autor.
- Standards-Version:
version-string (recomendado)
- Isto documenta a versão mais recente dos standards de
política da distribuição com que este pacote
está em conformidade.
- Vcs-Browser:
url
- O url da uma interface web para explorar o repositório do
Sistema de Controlo de Versão.
- Vcs-Arch:
url
- Vcs-Bzr:
url
- Vcs-Cvs:
url
- Vcs-Darcs:
url
- Vcs-Git:
url
- Vcs-Hg:
url
- Vcs-Mtn:
url
- Vcs-Svn:
url
- Estes campos declaram o url do repositório do Sistema de
Controle de Versão usado para manter este pacote. Veja
deb-src-control(5) para mais detalhes.
- Testsuite:
name-list
- Este campo declara que o pacote fonte contem as suites de teste
especificadas. O valor é uma lista de suites de teste separadas por
vírgulas. Se o valor autopkgtest estiver presente, espera-se
a presença de um debian/tests/control, se o ficheiro
está presente mas não o valor, então
dpkg-source irá automaticamente adiciona-lo, preservando
valores anteriores.
- Testsuite-Triggers:
package-list
- Este campo declara a união de todas as dependências de todos
os testes, separadas por espaços (campos Depends no ficheiro
debian/tests/control), com todas as restrições
removidas, e dependências OU achatadas (isto é, convertidas
para relações E separadas), excepto para binários
gerados por este pacote fonte e seus equivalentes de
meta-dependência @.
Fundamento: este campo é necessário porque caso
contrário, para puderem obter as dependências de teste,
cada pacote fonte teria que ser desempacotado.
- Build-Depends:
package-list
- Build-Depends-Arch:
package-list
- Build-Depends-Indep:
package-list
- Build-Conflicts:
package-list
- Build-Conflicts-Arch:
package-list
- Build-Conflicts-Indep:
package-list
- Estes campos declaram relacionamentos entre o pacote fonte e pacotes
usados para o construir. Eles são discutidos no manual
deb-src-control(5).
- Package-List:
- package package-type section priority
key-value-list
- Este campo multi-linha contem uma lista de pacotes binários gerados
por este pacote fonte.
O package é o nome do pacote binário.
O package-type é o tipo de pacote
binário, normalmente deb, outro valor comum é
udeb.
section e priority correspondem aos campos do
pacote binário do mesmo nome.
A key-value-list é uma lista is de
key=value separados por espaços, a as chaves
opcionais actualmente conhecidas são:
- arch
- A restrição de arquitectura do campo Architecture do
pacote binário, com espaços convertidos para
‘,’.
- profile
- A fórmula de restrição do
perfil-de-compilação normalizada a partir do campo
Build-Profile do pacote binário, com os ORs convertidos para
‘+’ e os ANDs para ‘,’.
- protected
- Se o pacote binário for protegido, esta chave irá conter o
valor do campo Protected, que é um valor yes.
Suportado desde dpkg 1.20.1.
- essential
- Se o pacote binário for essencial,esta chave ir+a conter o valor do
campo Essential, que é um valor yes.
- Files:
(necessário)
- Checksums-Sha1:
(necessário)
- Checksums-Sha256:
(necessário)
- checksum size filename
- Estes campos multi-linha contêm uma lista de ficheiros com um
sumário de verificação e tamanho para cada um deles.
Estes campos têm a mesma sintaxe e diferem apenas no algoritmo de
checksum usado: MD5 para Files, SHA-1 para Checksums-Sha1 e
SHA-256 para Checksums-Sha256.
A primeira linha do campo valor (a parte na mesma linha que
tem o campo nome seguido de dois pontos) é sempre vazia. O
conteúdo do campo é expressado como linhas de
continuação, uma linha por ficheiro. Cada linha consiste
do checksum, um espaço, o tamanho do ficheiro, um espaço,
e o nome do ficheiro.
Estes campos listam todos os ficheiros que fazem o pacote
fonte. A lista de ficheiros nestes campos tem de corresponder à
lista de ficheiros nos outros campos relacionados.
O campo Format field conflui o formato para o
próprio ficheiro .dsc e o formato do pacote fonte
extraído.
Américo Monteiro
Se encontrar algum erro na tradução deste documento,
por favor comunique para Américo Monteiro
<a_monteiro@gmx.com>.