Eu quero construir uma versão de algum software que seja mais recente do que a que está atualmente disponível como um pacote Debian de lançamento estável.
Para fazer isso, no entanto, além de usar uma versão mais recente do código-fonte, gostaria de seguir, o mais próximo possível, o procedimento de compilação que foi usado para compilar o pacote Debian para este software na versão estável.
No mínimo, gostaria de especificar os mesmos sinalizadores de configuração e os mesmos valores para variáveis de ambiente relevantes durante a compilação, como foi feito para o pacote Debian de versão estável para este software.
P: Como posso encontrar o procedimento de compilação para um pacote Debian específico (versão estável)?
O procedimento de compilação para um pacote Debian é descrito pelo seu pacote fonte. Se você tem um sistema Debian, você pode baixá-lo usando
se o seu
sources.list
contém asdeb-src
entradas apropriadas. Se você tiver várias versões referenciadas em seus repositórios, poderá especificar que está atrás dastable
versão:(assumindo que você tenha
stable
em seus repositórios). Você pode encontrar a versão mais recente em que você está interessado já empacotadotesting
ouunstable
, nesse caso, usar isso economizará algum tempo - veja Como posso instalar versões mais recentes de software do que as fornecidas pelo Debian? para obter instruções nesta situação.No pacote de origem, os principais arquivos a serem observados são
debian/control
edebian/rules
. Por exemplo, o arquivohello
do pacote especifica que ele compila no nível de compatibilidade 9 (consulte para obter detalhes) e seu arquivo especifica que ele usa as configurações padrão para compilar (incluindo os sinalizadores de compilação padrão, consulte ).control
debhelper
man debhelper
rules
dh
dpkg
dpkg-buildflags
Se o seu pacote de origem especificar como atualizá-lo, talvez você só precise executar
para atualizar o pacote fonte, mude para o diretório correspondente, adicione uma entrada de changelog para a nova versão com
(substituindo
1.2.3
conforme apropriado), entãopara construir o pacote.
A principal pegadinha ao atualizar um pacote dessa maneira é que quaisquer patches podem precisar ser atualizados. Se
debian/patches/series
existir e não estiver vazio, você precisará verificar cada patch, executandoquilt push
; vejaman quilt
para detalhes.