Primeiro, a pergunta do título: Assumindo que o diretório debian já está lá, esteja no diretório fonte (o diretório que contém o diretório debian) e execute dpkg-buildpackage. Gosto de executá-lo com estas opções:
dpkg-buildpackage -us -uc -nc
o que significa não assine o resultado e não limpe.
Como posso verificar se listei todas as dependências corretamente?
Obter as dependências é uma arte negra. A maneira "oficial" é verificar se o pacote é compilado apenas com o sistema básico, os pacotes "essenciais para compilar" e as dependências de compilação que você especificou. Não sei uma resposta geral para dependências regulares, apenas avance :)
Como posso evitar que o sistema de atualização instale a versão anterior no repo em uma atualização? Como posso evitar que o sistema instale uma versão mais recente (quando ela sair), sobrescrevendo meu pacote personalizado?
Meu conhecimento pode estar desatualizado neste, mas para abordar ambos: Use dpkg --set-selections. Supondo que nullidentd seja o pacote que você deseja manter, execute como root
echo 'nullidentd hold' | dpkg --set-selections
Como alternativa, já que você está compilando a partir do código-fonte, você pode usar uma época para definir o número da versão artificialmente alto e nunca mais ser incomodado. Para usar uma época, adicione uma nova entrada ao arquivo debian / changelog e coloque 99: na frente do número da versão. Dado meu exemplo nullidentd, a primeira linha do seu changelog atualizado seria:
nullidentd (99:1.0-4) unstable; urgency=low
O link do Bernard é bom, especialmente se você tiver que criar o diretório debian - também é útil a referência de desenvolvedores e a página de recursos gerais . O link de Adam também parece bom, mas não estou familiarizado com ele.