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 |