Scroll to navigation

deb-substvars(5) dpkg suite deb-substvars(5)

NOME

deb-substvars - variáveis de substituição de fonte Debian

RESUMO

Variáveis debian/substvars, debian/binary-package.substvars

DESCRIÇÃO

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.

Sintaxe de Variável

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.

Sintaxe de Ficheiro

Substitution variables can be specified in a file. These files consist of lines of the form name=value, name?=value, or name!=value. The = operator assigns a normal substitution variable, the ?= operator (since dpkg 1.21.8) assigns an optional substitution variable which will emit no warnings even if unused, and the != operator (since dpkg 1.22.7) assigns a required substitution variable which will error out if unused. Trailing whitespace on each line, blank lines, and lines starting with a # symbol (comments) are ignored.

Substituição

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.

Variável Embutida

Adicionalmente, estão sempre disponíveis as seguintes variáveis standard:

A arquitectura da máquina actual (isto é, a arquitectura para a qual o pacote está a ser compilado, o equivalente a DEB_HOST_ARCH).
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.
O ID da versão actual (desde dpkg 1.20.0). Isto é apenas a variante em minúsculas de vendor:Name.
A versão do pacote fonte (desde dpkg 1.13.19).
A versão de pacote fonte do autor original, incluindo a época da versão Debian se existir (desde dpkg 1.13.19).
A versão do pacote binário (que pode ser diferente de source:Version numa binNMU por exemplo; desde dpkg 1.13.19).
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.
O resumo do pacote fonte, extraído do campo Description da estrofe fonte, se existir (desde dpkg 1.19.0).
A descrição extensa do pacote fonte, extraída do campo Description da estrofe fonte, se existir (desde dpkg 1.19.0).
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.
O valor do campo field-name 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.
O valor do campo field-name 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.
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.
Cada uma destas variáveis detêm o caractere correspondente.
Definições de variáveis com nomes neste formato são geradas pelo dpkg-shlibdeps.
A versão de autor do dpkg (desde dpkg 1.13.19).
A versão completa do dpkg (desde dpkg 1.13.19).

FICHEIROS

Lista de variáveis e valores de substituição.

VEJA TAMBÉM

dpkg(1), dpkg-vendor(1), dpkg-genchanges(1), dpkg-gencontrol(1), dpkg-shlibdeps(1), dpkg-source(1).

TRADUÇÃO

Américo Monteiro

Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.

2024-08-01 1.22.11