deb-substvars
variáveis de substituição de fonte Debian
- Provided by: dpkg-dev (Version: 1.23.7ubuntu1)
- Source: dpkg
- Report a bug
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.
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:
Suportado desde dpkg 1.21.8.
Suportado desde dpkg 1.22.7
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".
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:
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.
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 <a_monteiro@gmx.com>.