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
Variáveis de substituição podem ser especificadas num ficheiro. Estes ficheiros consistem de linhas com atribuições de variável, que começam com o nome da variável, imediatamente seguido dum operador de atribuição, e depois o valor. Cada operador dá os atributos específicos da variável. Espaços em branco atrás de cada linha, linhas vazias, e linhas começadas com um símbolo #(comentários) são ignorados.

Os seguintes operadores são suportados:

=   Atribui uma variável de substituição normal.

?=  Atribui uma variável de substituição opcional que não vai emitir avisos mesmo que não usada.

    Suportado desde dpkg 1.21.8.

!=  Atribui uma variável de substituição requerida que irá dar erro se não for usada.

    Suportado desde dpkg 1.22.7

$=  Atribui uma variável de substituição implícita que vai ser automaticamente instanciada como um campo, se esse campo não estiver definido para ficheiros de controle .dsc e .deb.

    O nome da variável precisa de ser formado como um espaço de nome seguido por dois pontos (‘:’) e depois o nome do campo, tal como tool:Depends. Todas as variáveis implícitas para qualquer espaço de nome que corresponda ao mesmo campo irão ser concatenadas usando um separador de campo conhecido; ou um espaço se o separador de campo for desconhecido.

    Suportado desde dpkg 1.23.0.

Por exemplo "algum-pacote:Depends?=outro-pacote (= 1.0), o-pacote".

  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:

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:field-name
    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.

F:field-name
    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.

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).

FICHEIROS

debian/substvars
    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>.