Upload de binário não mantenedor(a)
As informações na thread a seguir podem ser um ponto de partida para esta página: http://lists.debian.org/debian-mentors/2006/09/msg00223.html
O que são binNMUs?
Um binNMU é um upload não mantenedor(a) de binários. É necessário quando a compilação para uma arquitetura específica falha ou quando produz pacotes com falhas, devido a um problema no próprio ambiente de compilação (não devido a um erro no pacote-fonte). Tais problemas incluem transições de bibliotecas (exemplo) ou uma configuração incorreta na máquina do(a) mantenedor(a) de pacotes usada para preparar os uploads (examplo). Em um binNMU, pacotes arch: any são reconstruídos, mas pacotes arch: all não.
Cada um dos pacotes arch: any recebe um novo número de versão que é o número da versão antiga com o sufixo +b anexado, mais um número de versão para o binNMU (por exemplo, a versão 2.3.4-3' torna-se 2.3.4-3+b1). A versão binNMU é incrementada independentemente em cada arquitetura (examplo). O único arquivo no pacote-fonte que é modificado pelo binNMU é o debian/changelog, que recebe uma nova entrada para a nova versão (historicamente, os números de versão binNMU eram modificados pelo incremento - ou criados, se ainda não existissem - do número de terceiro nível na revisão do Debian, por exemplo, 2.3.4-3 teria se tornado 2.3.4-3.0.1; essa convenção de numeração não é mais usada). Por favor, observe que binNMUs não precisam ser reconhecidos no changelog do pacote-fonte, mas NMUs normalmente precisam.
Onde solicitar um binNMU?
Por favor, consulte a documentação para detalhes sobre como uma solicitação binNMU deve ser feita e para onde enviar a solicitação.
Como fazer pacotes binNMU seguros?
Sumário executivo
- fontes que constroem um único binário (!arch=all) sempre serão binNMU seguros (dependências internas devem estar sob atenção)
- problemas potenciais somente para pacotes-fonte que geram pacotes com múltiplos binários
declarando dependências entre 2 pacotes arch: any: ${binary:Version}
declarando dependências entre um pacote arch: any para um pacote arch: all: ${source:Version}
declarando dependências entre um pacote arch: all para um pacote arch: any: Depends: foo (>= ${source:Version}), foo (<< ${source:Version}.1~)
declarando dependências entre 2 pacotes arch: all: ${binary:Version} (usar ${source:Version} terá o mesmo efeito na prática, mas usar ${binary:Version} simplifica a lógica para as ferramentas envolvidas)
Nota: A versão Build-Depends em dpkg-dev (>= 1.13.19) não é mais necessária, desde que Etch, Lenny e Sid tenham a versão necessária.
