Pular para conteúdo

📦 Tutorial: Corrigindo e Aplicando Patches em um Pacote Debian com quilt e debuild

Este guia mostra como aplicar e corrigir patches em um pacote Debian usando quilt, garantir conformidade com o DEP-3, e buildar corretamente com debuild.


🔧 Requisitos

Instale os pacotes necessários:

sudo apt update
sudo apt install devscripts build-essential quilt debhelper

🧬 Clone o repositório do pacote

Clone o seu fork do repositório no Salsa:

git clone git@salsa.debian.org:SEU_USUARIO/wxedid.git
cd wxedid

⚙️ Configurar o ambiente quilt

Configure as variáveis de ambiente para o quilt:

export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS="--no-timestamps --no-index -p ab"

Essas variáveis: - Dizem ao quilt onde estão os patches. - Evitam timestamps e índices nos diffs.


🩹 Aplicar e editar patches

Aplicar todos os patches

quilt push -a

Editar um patch existente

Abra o patch com seu editor:

nano debian/patches/spelling.patch

Ou edite os arquivos do código fonte e depois atualize com quilt refresh.


✏️ Atualizar um patch com quilt refresh

Se você editou o código-fonte diretamente (e não o patch):

  1. Certifique-se de que o patch está aplicado:

    quilt push spelling.patch
    

  2. Atualize:

    quilt refresh
    


🧾 Adicionar cabeçalho DEP-3

Todo patch deve ter um cabeçalho DEP-3.

Exemplo de cabeçalho válido:

Description: Corrige erros de ortografia em mensagens e comentários
Author: Maria <maria@exemplo.com>
Bug-Debian: https://bugs.debian.org/123456
Forwarded: no
Last-Update: 2025-06-01

Abra o patch para editar:

nano debian/patches/spelling.patch

E adicione o cabeçalho acima no topo.


📜 Verifique a ordem dos patches

Abra o arquivo debian/patches/series e veja se o seu patch está listado:

cat debian/patches/series

Se necessário, adicione o nome do patch no final do arquivo (sem caminho, só o nome do .patch).


🧹 Limpando e buildando

Desaplique todos os patches:

quilt pop -a

Limpe a build anterior:

debuild clean

Aplique os patches novamente:

quilt push -a

Faça o build do pacote:

debuild -us -uc

🧰 Corrigindo erro de tarball .orig

Se o build falhar com erro de .orig.tar.gz ausente:

  1. Baixe o tarball original da upstream (ex: do GitHub, site do autor etc).
  2. Renomeie com o nome correto:
mv ~/Downloads/wxedid-0.0.32.tar.gz ../wxedid_0.0.32.orig.tar.gz
  1. Tente buildar novamente:
debuild -us -uc

📤 Enviando alterações para seu fork

Adicione e commite os patches e o arquivo series:

git add debian/patches/*
git commit -m "Fix spelling errors and add DEP-3 metadata to patch"
git push

✅ Checklist Final

  • Todos os patches estão em debian/patches/
  • Cada patch possui cabeçalho DEP-3
  • O arquivo series lista os patches
  • debuild -us -uc roda sem erro
  • O .orig.tar.gz está na pasta raiz

📦 Tutorial: Corrigindo e Aplicando Patches em um Pacote Debian com quilt e debuild

Este guia mostra como aplicar e corrigir patches em um pacote Debian usando quilt, garantir conformidade com o DEP-3, e buildar corretamente com debuild.


🔧 Requisitos

Instale os pacotes necessários:

sudo apt update
sudo apt install devscripts build-essential quilt debhelper

🧬 Clone o repositório do pacote

Clone o seu fork do repositório no Salsa:

git clone git@salsa.debian.org:SEU_USUARIO/wxedid.git
cd wxedid

⚙️ Configurar o ambiente quilt

Configure as variáveis de ambiente para o quilt:

export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS="--no-timestamps --no-index -p ab"

Essas variáveis: - Dizem ao quilt onde estão os patches. - Evitam timestamps e índices nos diffs.


🩹 Aplicar e editar patches

Aplicar todos os patches

quilt push -a

Editar um patch existente

Abra o patch com seu editor:

nano debian/patches/spelling.patch

Ou edite os arquivos do código fonte e depois atualize com quilt refresh.


✏️ Atualizar um patch com quilt refresh

Se você editou o código-fonte diretamente (e não o patch):

  1. Certifique-se de que o patch está aplicado:

    quilt push spelling.patch
    

  2. Atualize:

    quilt refresh
    


🧾 Adicionar cabeçalho DEP-3

Todo patch deve ter um cabeçalho DEP-3.

Exemplo de cabeçalho válido:

Description: Corrige erros de ortografia em mensagens e comentários
Author: Maria <maria@exemplo.com>
Bug-Debian: https://bugs.debian.org/123456
Forwarded: no
Last-Update: 2025-06-01

Abra o patch para editar:

nano debian/patches/spelling.patch

E adicione o cabeçalho acima no topo.


📜 Verifique a ordem dos patches

Abra o arquivo debian/patches/series e veja se o seu patch está listado:

cat debian/patches/series

Se necessário, adicione o nome do patch no final do arquivo (sem caminho, só o nome do .patch).


🧹 Limpando e buildando

Desaplique todos os patches:

quilt pop -a

Limpe a build anterior:

debuild clean

Aplique os patches novamente:

quilt push -a

Faça o build do pacote:

debuild -us -uc

🧰 Corrigindo erro de tarball .orig

Se o build falhar com erro de .orig.tar.gz ausente:

  1. Baixe o tarball original da upstream (ex: do GitHub, site do autor etc).
  2. Renomeie com o nome correto:
mv ~/Downloads/wxedid-0.0.32.tar.gz ../wxedid_0.0.32.orig.tar.gz
  1. Tente buildar novamente:
debuild -us -uc

📤 Enviando alterações para seu fork

Adicione e commite os patches e o arquivo series:

git add debian/patches/*
git commit -m "Fix spelling errors and add DEP-3 metadata to patch"
git push

✅ Checklist Final

  • Todos os patches estão em debian/patches/
  • Cada patch possui cabeçalho DEP-3
  • O arquivo series lista os patches
  • debuild -us -uc roda sem erro
  • O .orig.tar.gz está na pasta raizam