Scroll to navigation

dgit-maint-bpo(7) dgit dgit-maint-bpo(7)

NOME

dgit - dicas para manter backports Debian oficiais

INTRODUÇÃO

Este documento descreve elementos de um fluxo de trabalho que usa dgit para manter um backport Debian oficial. Não assumimos que o que vai enviar o pacote para Debian unstable esteja a usar dgit.

DICAS GERAIS

A primeira vez que um pacote é retro-portado (backported) para qualquer lançamento Debian você tem de passar a opção --new ao dgit.

TERMINOLOGIA

Deixe o ramo master conter o histórico de empacotamento para Debian unstable, e o ramo bookworm-bpo estar onde você prepara os seus envios para a suite bookworm-backports.

Uma fusão de fluxo de trabalho de backports significa que cada vez que um envio migra para Debian testing e você quer preparar um envio para bookworm-backports, você faz algo como isto:

    % git checkout bookworm-bpo
    % git merge master
    % dch --bpo
    % # quaisquer outras alterações necessárias para backporting
    % git commit -a
    % # tenta uma compilação

Um re-basear de fluxo de trabalho de backports significa que você deita fora o histórico do ramo bookworm-bpo cada vez que uma nova versão migra para Debian testing, algo equivalente a isto:

    % git checkout -B bookworm-bpo master
    % dch --bpo
    % # quaisquer outras alterações necessárias para backporting
    % git commit -a
    % # tenta uma compilação

Se você usar um fluxo de trabalho de backports de fusão, o seu changelog contém entradas para cada envio prévio para bookworm-backports; num fluxo de trabalho re-baseado, apenas contém o último.

ESCOLHER ENTRE OS DOIS FLUXOS DE TRABALHO

Se a retro-portagem envolver fazer nenhumas alterações adicionais à fonte do autor, a escolha de você usar fluxo de trabalho de backport de fusão ou re-baseado é uma questão de preferência pessoal. Existem bons argumentos a favor de ambos fluxos de trabalho a corresponder às semânticas das suites *-backports.

Se você tem de fazer alterações na fonte do autor para fazer o pacote funcionar em máquinas que correm Debian stable, é aconselhável escolher um fluxo de trabalho re-baseado. Isto assegura que o dgit pode atualizar automaticamente o directório debian/patches sem nenhuma intervenção manual.

DICAS PARA UM FLUXO DE TRABALHO DE FUSÃO

Usar ramos do dgit

Se não for você próprio a enviar o pacote para Debian unstable, é geralmente mais fácil usar ramos do dgit, e ignorar o repositório Vcs-Git configurado.

Você deveria usar

    % dgit clone foo bookworm

para uma nova retro-portagem do pacote 'foo' para bookworm-backports, e depois

    % dgit fetch bookworm
    % git merge dgit/dgit/bookworm

quando as novas versões migram para Debian testing.

DICAS PARA UM FLUXO DE TRABALHO RE-BASEADO

Usar ramos do dgit

Se não for você próprio a enviar o pacote para Debian unstable, é geralmente mais fácil usar ramos do dgit, e ignorar o repositório Vcs-Git configurado. Para cada nova versão de Debian testing, você deveria

    % dgit fetch bookworm
    % git checkout -B bookworm-bpo dgit/dgit/bookworm
    % # usa git-cherry-pick(1) para (re)aplicar quaisquer correções necessárias ao backporting

Sobrescrever

O dgit push esforça-se por prevenir que você por acidente sobrescreva os envios que acha que não estão representados no histórico git que você está a tentar atualizar. Isto acontece principalmente para prevenir o sobrescrever acidental de NMUs.

Com um fluxo de trabalho de backports re-baseado, o dgit vai achar que cada envio de uma nova versão de Debian testing pode estar acidentalmente a sobrescrever envios. Você precisa de indicar explicitamente o envio para bookworm-backports que deseja sobrescrever.

Supondo que o último envio para bookworm-backports tinha versão 1.2.2-1~bpo10+1 e agora você preparou 1.2.3-1~bpo10+1 para envio. Quando fizer dgit push, vai precisar de passar --trust-changelog=1.2.2-1~bpo10+1.

Em alternativa, você pode efetuar a pseudo-fusão que --trust-changelog teria feito por si:

    % dgit fetch bookworm-backports
    % git merge -s ours dgit/dgit/bookworm-backports
    % dgit push-source

VEJA TAMBÉM

dgit(1), dgit(7), https://backports.debian.org/

AUTOR

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

dgit+tag2upload team Debian Project