deb-substvars - variáveis de substituição de
fonte Debian
debian/substvars,
debian/binary-package.substvars
Antes de dpkg-source, dpkg-gencontrol e
dpkg-genchanges escreverem a sua informação de controle
(no ficheiro de de controle de fonte .dsc para dpkg-source e
para a saída standard para dpkg-gencontrol e
dpkg-genchanges) eles executam algumas substituições de
variáveis no ficheiro resultante.
A substituição de variável tem o formato
${variable-name}. Nomes de varáveis consistem de
alfanuméricos (a-zA-Z0-9), hífens (-) dois pontos (:) e
começam com um alfanumérico, e são sensíveis a
maiúsculas/minúsculas, apesar de poderem referir a outras
entidades, que são preservadoras de
maiúsculas/minúsculas. Substituições de
variáveis são executadas repetidamente até que
não sobre nenhuma, o texto completo do campo após a
substituição é re-sondado para se procurar por mais
substituições.
Após todas as substituições terem sido
feitas, cada ocorrência da string ${} (a qual não
é uma substituição legal) é substituída
por um sinal $.
Enquanto uma substituição de variável
é feita em todos os campos de controle, alguns desse campos
são usados e necessários durante a compilação
quando a substituição ainda não aconteceu. É por
isso que não pode usar vaiáveis nos campos Package,
Source e Architecture.
A substituição de variável acontece no
conteúdo dos campos após terem sido analisados, mas se
você quer que uma variável expanda por várias linhas
você não precisa de incluir um espaço após a
mudança de linha. Isto é feito implicitamente quando o campo
é emitido. Por exemplo, se a variável ${Description}
for definida para "foo is bar.${Nova-linha}foo is great." e se
você tiver o seguinte campo:
Description: foo application
${Description}
.
More text.
Irá resultar em:
Description: foo application
foo is bar.
foo is great.
.
More text.
As variáveis podem ser definidas usando a
opção comum -V. Elas podem também ser
especificadas no ficheiro debian/substvars (ou em qualquer outro
ficheiro especificado usando a opção -T). Este ficheiro
consiste de linhas do formato name=value. São
ignorados os espaços em branco no final de cada linha, as linhas
vazias, e as linhas começadas com o símbolo #
(comentários).
Adicionalmente, estão disponíveis as seguintes
variáveis standard:
- Arch
- A arquitectura da máquina actual (isto é, a arquitectura
para a qual o pacote está a ser compilado, o equivalente a
DEB_HOST_ARCH).
- vendor:Name
- O nome do fornecedor actual (desde dpkg 1.20.0). Este valor vem do campo
Vendor do ficheiro original do fornecedor actual, como
dpkg-vendor(1) o obteria.
- vendor:Id
- O ID da versão actual (desde dpkg 1.20.0). Isto é apenas a
variante em minúsculas de vendor:Name.
- source:Version
- A versão do pacote fonte (desde dpkg 1.13.19).
- source:Upstream-Version
- A versão de pacote fonte do autor original, incluindo a
época da versão Debian se existir (desde dpkg 1.13.19).
- binary:Version
- A versão do pacote binário (que pode ser diferente de
source:Version numa binNMU por exemplo; desde dpkg 1.13.19).
- Source-Version
- A versão do pacote fonte (a partir do ficheiro changelog). Esta
variável está agora obsoleta e emite um erro quando
usada pois o seu significado é diferente da sua
função, por favor use source:Version ou
binary:Version como apropriado.
- source:Synopsis
- O resumo do pacote fonte, extraído do campo Description da
estrofe fonte, se existir (desde dpkg 1.19.0).
- source:Extended-Description
- A descrição extensa do pacote fonte, extraída do
campo Description da estrofe fonte, se existir (desde dpkg
1.19.0).
- Installed-Size
- O tamanho total aproximado dos ficheiros instalados pelo pacote. Este
valor é copiado para o campo do ficheiro de controle
correspondente, defini-lo irá modificar o valor desse campo. Se
esta variável não for definida, dpkg-gencontrol
irá computar o valor predefinido ao acumular o tamanho de cada
ficheiro regular e link simbólico arredondando as unidades usadas
para egular file and 1 KiB, e uma base de 1 KiB para qualquer outro tipo
de objecto de sistema de ficheiros. Com os hardlinks a serem contados
apenas uma vez como um ficheiro regular.
Nota: Tenha em conta que isto só pode ser uma
aproximação, pois o tamanho real usado no sistema
instalado irá depender grandemente do sistema de ficheiros usado
e dos seu parâmetros, o que pode acabar a usar mais ou menos
espaço que aquele especificado neste campo.
- Espaço de disco usado adicional quando o pacote é instalado.
Se esta variável for definida o seu valor é adicionado
àquele da variável Installed-Size variable (quer
definido explicitamente ou usando o valor predefinido), antes de ser
copiado para p campo de ficheiro de controle Installed-Size.
- S:fieldname
- O valor do campo fieldname da estrofe fonte (o qual deve ser dado
em na capitalização canonical, desde dpkg 1.18.11). Definir
estas variáveis não tem efeito para além de em
lugares onde elas são explicitamente expandidas. Estas
variáveis estão apenas disponíveis quando se geram
ficheiros de controle binários.
- F:fieldname
- O valor do campo fieldname resultante (o qual deve ser dado em na
capitalização canonical ) Definir estas variáveis
não tem efeito para além de em lugares onde elas são
explicitamente expandidas.
- Format
- A versão do formato de ficheiro .changes gerada por esta
versão de scripts de empacotamento de fonte. Se você definir
esta variável, o conteúdo do campo Format no ficheiro
.changes irá alterar também.
- Newline,
Space, Tab
- Cada uma destas variáveis detêm o caractere
correspondente.
- shlibs:dependencyfield
- Definições de variáveis com nomes neste formato
são geradas pelo dpkg-shlibdeps.
- dpkg:Upstream-Version
- A versão de autor do dpkg (desde dpkg 1.13.19).
- dpkg:Version
- A versão completa do dpkg (desde dpkg 1.13.19).
Se uma variável for referida mas não definida,
irá gerar um aviso e é assumido um valor vazio.
Américo Monteiro
Se encontrar algum erro na tradução deste documento,
por favor comunique para Américo Monteiro
<a_monteiro@gmx.com>.