deb-substvars - variáveis de substituição de fonte Debian
Variáveis
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.
As variáveis de substituição podem ser especificadas num
ficheiro. Estes ficheiros consistem de linhas no formato
name=value ou
name?=value. O operado
= designa uma substituição normal de variável,
enquanto o operador
?= (desde dpkg 1.21.8) designa uma variável
de substituição opcional a qual não irá emitir
avisos mesmo se não for usada. Espaços no final de cada linha,
as linhas em branco, e as linhas que comecem com o símbolo
#
(comentários) serão ignoradas.
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 comum
-T).
Após todas as substituições terem sido feitas, cada
ocorrência da string
${} (a qual não é uma
variável de substituição real) é
substituída por um sinal
$. Isto pode ser usado como
sequência de escape tal como
${}{VARIABLE} o que
irá acabar como
${VARIABLE} na saída.
Se uma variável for referida mas não definida, irá gerar um
aviso e é assumido um valor vazio.
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.
Adicionalmente, estão sempre 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.
- Extra-Size
- 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).
- debian/substvars
- Lista de variáveis e valores de
substituição.
dpkg(1),
dpkg-vendor(1),
dpkg-genchanges(1),
dpkg-gencontrol(1),
dpkg-shlibdeps(1),
dpkg-source(1).
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor
comunique para Américo Monteiro <
[email protected]>.