Leia a seção Patches para pacotes no Guia de embalagem , para entender melhor como funciona, leia todo o guia.
Eu quero corrigir o pacote do Trac. Eu sei como corrigir e reconstruir o pacote, mas há algumas coisas que não entendo muito bem.
Meu patch é algo perigoso e provavelmente não será enviado para a comunidade. Então, deixe-me dizer, é um patch muito particular. Mas eu quero que meu patch continue funcionando quando os pacotes do Ubuntu forem atualizados. (Devo apt-get source trac
e mover meu patch para a nova versão do diretório de origem toda vez que o Trac
for atualizado?)
Eu vejo que há um diretório patch/
(muitos usando quilt
eu acho) em debian/
, mas eu não sei como usá-lo? O debuild
automatic aplicará todos os patches no diretório patch/
? E quanto a dpkg-buildpackage
? Existem algumas variáveis do ambiente para controlar a seleção de patches a serem aplicados?
Leia a seção Patches para pacotes no Guia de embalagem , para entender melhor como funciona, leia todo o guia.
Apesar de esta ser uma questão antiga, ainda é real. Assim, gostaria de adicionar algumas informações atualizadas a ele. A outra resposta liga-se diretamente ao manual, ao passo que seria útil apontar exatamente as informações necessárias.
De o manual mencionado parte relevante é
8.4. Atualizando para novas versões upstream
Para atualizar para a nova versão, você pode usar o comando
bzr merge-upstream
Mas isso é específico do Ubuntu.
Como alternativa, pode-se usar apt-src
. Manual diz:
-p, --patch
Tente corrigir as alterações locais na nova árvore de origem ao atualizar. Em
por padrão, use --no-p para desativar. Item de configuração:
APT :: Src :: Patch.
Para que isso funcione, você precisa instalar apt-src
, com sudo apt-get install apt-src
, por exemplo.
Outra possibilidade é usar quilt
. Excerto do parágrafo "5.26. Patches / *" do Guia dos Novos Mantenedores Debian segue:
Quando alguém (incluindo você mesmo) fornece um patch foo.patch para a fonte posteriormente, modificar um pacote fonte 3.0 (quilt) é bastante simples:
$ dpkg-source -x gentoo_0.9.12.dsc
$ cd gentoo-0.9.12
$ dquilt import ../ foo.patch
push $ dquilt
atualização $ dquilt
$ dquilt header -e
... descreva o patch
Tags package-management patch