dgit-maint-gbp(7)

NOME
dgit - tutorial para maintainers de pacote que já usam git-buildpackage(1)

INTRODUÇÃO
Este documento explica como o dgit e git-debpush podem ser incorporados num fluxo de trabalho de manutenção de pacote do git-buildpackage(1). Isto deve ser lido juntamente com a documentação do git-buildpackage(1). Algumas razões para você querer incorporar o dgit no seu fluxo de trabalho existente:

•   Beneficia das capturas de segurança do dgit. Em particular, assegura que o seu envio corresponde sempre exatamente ao seu CABEÇALHO git.

•   Fornecer um histórico git melhor e mais detalhado a utilizadores do dgit de fluxo abaixo, tais com pessoas que usam dgit para fazer um NMU (veja dgit-nmu-simple(7) e dgit-user(7)).

Note que nós assumimos um repositório de patches-não-aplicadas: a fonte do autor cometida ao repositório git não tem patches. O git-buildpackage(1) pode funcionar com repositórios de patched-aplicadas, mas é normalmente usado com patches-não-aplicadas.

CONFIGURAÇÃO DO GIT
Se você configurou um export-dir no seu gbp.conf, você deve dizer ao dgit sobre isso:

    % git config --global dgit.default.build-products-dir /home/spwhitton/build-area

Se você correr

    % git config dgit.default.quilt-mode gbp

no seu repositório, você pode omitir --gbp sempre que ocorra em baixo.

Note que isto requer que você trabalhe sempre a partir do seu ramo mestre gbp, nunca do ramo patches-aplicadas do dgit.

COMPILAÇÃO
Você pode efetuar compilações teste como esta:

    % dgit [--include-dirty] gbp-build [OPÇÕES]

onde --include-dirty é necessário para testar alterações não cometidas, e OPÇÕES são quaisquer opções posteriores a serem passadas ao gbp-buildpackage(1).

Se você está a fazer um envio apenas-fonte, você não precisa de preparar um _source.changes, pois o dgit push-source ou o git-debpush vai tratar disso por si.

Se você precisar de incluir binários no seu envio, vai provavelmente querer usar o use sbuild(1), pbuilder(1) ou o cowbuilder(1):

    % dgit --rm-old-changes --gbp sbuild

substituindo 'sbuild' por 'pbuilder' ou 'cowbuilder' como apropriado.

Nós usamos --rm-old-changes para assegurar que existe exatamente um ficheiro de alterações correspondente a este pacote, para estarmos confiantes que estamos a enviar o que pretendemos (apesar do dgit push fazer algumas verificações de segurança).

Note nenhum dos comandos nesta secção são requeridos para enviar com o dgit. Você pode invocar gbp-buildpackage(1), pbuilder(1), cowbuilder(1) e sbuild(1) diretamente. No entanto, as predefinições para estas ferramentas podem deixa-lo com algo que o dgit irá recusar enviar porque não vai corresponder ao seu CABEÇALHO git.

Como regra geral, deixe tudo assinalado e etiquetado para o dgit.

ENVIAR
Não use --git-tag: o git-debpush ou o dgit push-built vão fazer isto por si. Para fazer um envio apenas-fonte:

    % git debpush

Se o git-debpush disser que não pode determinar um modo quilt, passe --gbp; isto vai ser necessário no máximo uma vez. Veja git-debpush(1).

Se você precisar de incluir binários,

    % dgit --gbp push-built

Isto vai empurrar o seu histórico git para o repositório dgit, mas você provavelmente quer continuar com um envio para salsa.

Você vai precisar passar --trust-changelog se o envio anterior não foi efetuado com o dgit.

Se este é o primeiro envio do dgit do pacote para esta suite, considere passar --deliberately-not-fast-forward em vez de --trust-changelog. Isto evita introduzir um novo cometer de origem na vista do dgit do seu histórico git. (Este cometer de origem iria representar o envio não-dgit mais recente do pacote, mas isto já deve estar representado no seu histórico git.)

INCORPORAR NMUS
O dgit pull ainda não pode incorporar NMUs em ramos gbp de patches-não-aplicadas. Você pode apenas aplicar o diff NMU da maneira tradicional. O próximo envio vai requerer --trust-changelog.

VEJA TAMBÉM
dgit(1), dgit(7)

AUTOR
Este tutorial foi escrito e é mantido por Sean Whitton <spwhitton@spwhitton.name>.