deb-buildinfo - formato Debian de ficheiro de informação de
compilação
filename.buildinfo
Cada compilação de pacote fonte Debian pode gravar a
informação de compilação num ficheiro de controle
.buildinfo, o qual contem 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 de dois pontos, e do corpo do campo (sensível a
maiúsculas/minúsculas a menos que declarado o contrário).
Os campos são delimitados apenas pelas etiquetas (tags) dos campos. Por
outras palavras, o campo de texto 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 campos multi-linha
Binary-Only-Changes,
Installed-Build-Depends,
Environment,
Checksums-Md5,
Checksums-Sha1 e
Checksums-Sha256, ver abaixo).
Os dados de controle podem estar inclusos numa assinatura OpenPGP ASCII Armored,
como especificado em RFC4880.
O nome do ficheiro
.buildinfo irá depender do tipo de
compilação e irá ser tão específico quanto
necessário e não mais; para uma compilação que
inclui
any o nome será
source-name_binary-version
_arch.buildinfo, ou caso contrário para uma
compilação que inclui
all o nome será
source-name _binary-version_all.buildinfo,
ou caso contrário para uma compilação que inclui
source o nome será
source-name_source-version
_source.buildinfo.
-
Format: format-version
(necessário)
- O valor deste campo declara a versão de formato do
ficheiro. A sintaxe do valor do campo é um número de
versão com um componente maior ou menor. Alterações
incompatíveis com versões anteriores ao formato irão
colidir com a versão maior, e alterações
compatíveis com versões anteriores (tais como
adições de campos) irão colidir com a versão
menor. A versão de formato actual é 1.0.
-
Source: source-name
[(source-version )] (necessário)
- O nome do pacote fonte. Se a versão fonte diferir da
versão binário, então o source-name
será seguido por um source-version em parênteses.
Isto pode acontecer quando a compilação é para envio
de não-maintainer apenas-binário.
-
Binary: binary-package-list
(necessário em contexto)
- Este campo dobrado é uma lista de pacotes
binários compilados separados por espaços. Se a
compilação for de "apenas-fonte", então o
campo é omitido (desde dpkg 1.20.0).
-
Architecture: arch-list
(necessário)
- Este campo separado por espaços lista as
arquitecturas de todos os ficheiros actualmente a serem compilados.
Arquitecturas comuns são amd64, armel, i386,
etc. Note que o valor all destina-se a pacotes que são
independentes da arquitectura. Se o pacote fonte for também
compilado, está também presente a entrada especial
source. Wildcards de arquitectura nunca devem estar presentes na
lista.
-
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).
- Binary-Only-Changes:
- changelog-entry
- Este campo multi-linha contem o texto concatenado da
entrada changelog para um envio de não-maintainer apenas
binário (binNMU) se esse for o caso. Para tornar isto numa entrada
multi-linha válida as linhas vazias são substituídas
com um único ponto final (‘.’) e todas as linhas
são indentadas por um caractere de espaço. O conteúdo
exacto depende do formato do changelog.
-
Checksums-Md5: (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 Checksums-Md5,
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 de entradas separadas por espaços
que descrevem o ficheiro: o sumário de verificação
(checksum), o tamanho do ficheiro, e o nome do ficheiro.
Estes campos listam todos os ficheiros que fazem a
compilação.
-
Build-Origin: name
- O nome da distribuição de onde este pacote
originou.
-
Build-Architecture: arch
(necessário)
- A arquitectura Debian para a instalação dos
pacotes que estão a ser compilados. Arquitecturas comuns são
amd64, armel, i386, etc.
-
Build-Date: build-date
- A data em que o pacote foi compilado. Tem de estar no mesmo
formato que a data duma entrada deb-changelog(5).
-
Build-Kernel-Version:
build-kernel-version
- O lançamento e versão (num formato não
especificado) do kernel que corre no sistema de compilação.
Este campo só vai estar presente se o compilador o tiver
explicitamente requerido, para evitar fugir informação
possivelmente sensível.
-
Build-Path: build-path
- O caminho de compilação absoluto, que
corresponde à árvore fonte desempacotada. Este campo apenas
vai estar presente se o fornecedor o permitiu via algum padrão de
correspondência para evitar denunciar informação
possivelmente sensível.
Em Debian e derivados apenas os caminhos de compilação
começados com /build/ irão emitir este campo.
- Build-Tainted-By:
- taint-reason-list
- Este campo dobrado contem uma lista separada por
espaços de etiquetas de razão não-exaustiva (formadas
por caracteres alfanuméricos e traços) as quais identificam
porque a compilação actual foi contaminada (desde dpkg
1.19.5).
Em Debian e derivados as seguintes etiquetas de razão podem ser
emitidas:
- merged-usr-via-aliased-dirs
- Este sistema tem um /usr fundido via
directórios com nomes alternativos (anteriormente conhecido como
merged-usr-via-symlinks). Isto irá confundir
dpkg-query, dpkg-statoverride, dpkg-trigger,
update-alternatives e qualquer outra ferramenta que use
nomes-de-caminho como chaves para as suas base de dados, pois isto cria
problemas de nomes alternativos no sistema de ficheiros, e complica o
conhecimento do sistema de ficheiros que o dpkg gravou na sua base
de dados. Para sistema de compilação, isso . For build
systems that dificulta a codificação dos nomes de caminhos
para binários ou bibliotecas específicas nos artefactos
resultantes, também pode produzir pacotes que sejam
incompatíveis com sistemas de ficheiros não-usr
fundidos.
- usr-local-has-configs
- O sistema tem ficheiros de configuração sob
/usr/local/etc.
- usr-local-has-includes
- O sistema tem ficheiros cabeçalho sob
/usr/local/include.
- usr-local-has-programs
- O sistema tem programas sob /usr/local/bin ou
/usr/local/sbin.
- usr-local-has-libraries
- O sistema tem bibliotecas, sejam estáticas ou
partilhadas sob /usr/local/lib.
- can-execute-cross-built-programs
- O sistema pode executar programas de
compilação cruzada, seja diretamente ou via algum tipo de
emulação.
Desde dpkg 1.21.10.
-
Installed-Build-Depends: (necessário)
- package-list
- A lista de pacotes instalados e configurados que podem
afectar o processo de compilação do pacote.
A lista consiste do nome de cada pacote, opcionalmente tem a
qualificação da arquitectura para outras arquitecturas, com
uma restrição de versão exacta, separados por
vírgulas.
A lista inclui todos os pacotes essenciais, os pacotes listados em
Build-Depends, Build-Depends-Arch, campos de controle de
fonte Build-Depends-Indep, quaisquer dependências de
compilação específicas do fornecedor, e todas as suas
dependências recursivas. Em Debian e derivados a dependência
embutida é build-essential.
Para as dependências que venham de campos de controle da fonte, todas
as alternativas a dependências e todos os fornecedores de pacotes
virtuais de quais se depende serão incluídos.
- Environment:
- variable-list
- A lista de variáveis de ambiente que se sabe
afectarem o processo de compilação do pacote, com cada
variável de ambiente seguida por um sinal igual (‘=’)
e o valor da variável citando entre aspas (‘"’),
e barras escapadas (‘\\’).
deb822(5),
deb-changes(5),
deb-version(7),
dpkg-genbuildinfo(1).
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor
comunique para Américo Monteiro <
[email protected]>.