Dois pacotes Debian binários com versões diferentes de uma fonte

4

Estou pensando em Debianizing corretamente um pacote, que contém duas partes em uma ramificação de tarball / git do upstream:

  • Binários e bibliotecas do espaço de usuário, versão 1.5.0 ( foobard binary package)
  • Módulo do kernel, versão 0.8.5 ( foobar-dkms )

O problema é que as versões são diferentes. Existe alguma maneira sã e correta de construir dois pacotes binários de versões diferentes a partir de um pacote de origem, nesse caso?

Se possível, eu gostaria de algo mais limpo do que criar dois pacotes fonte, ou versionar ambos os pacotes como 1.5.0 (mesmo que o módulo tenha o MODULE_VERSION especificado na origem).

    
por drdaeman 11.02.2012 / 14:50

3 respostas

1

A versão de um pacote binário no Debian é determinada por dpkg-gencontrol , que gera o arquivo de controle final que termina no pacote binário. A opção -v especifica o número da versão; por padrão, o número da versão é obtido de debian/changelog , mas isso pode ser substituído.

Existem alguns exemplos disso no arquivo; veja por exemplo o meu próprio pacote gcc-mingw-w64 , que tem seu próprio número de versão (fonte), mas gera pacotes binários cujas versões mesclam o número de versão gcc-source (atualmente, gcc-5-source ) e o número do pacote de origem. Assim, no Debian 8, gcc-mingw-w64 versão 14.3 produz pacotes binários versionados 4.9.1-19 + 14.3.

Para criar diferentes pacotes binários com versões diferentes de uma única fonte, combine a opção -v com a opção -p (que especifica o pacote a ser processado) e execute dpkg-gencontrol (ou um dos seus invólucros, como dh_gencontrol ), quantas vezes forem necessárias.

Existe pelo menos um pacote no arquivo que demonstra isso: android-sdk-meta constrói pacotes binários com dois diferentes versões, android-sdk que leva a versão de origem, e quatro outros pacotes cuja versão binária é especificada em debian/rules .

O capítulo sobre campos de controle da política Debian tem mais detalhes sobre as diferenças entre as fontes e arquivos de controle binários.

    
por 14.05.2016 / 21:47
1

Nos pacotes Debian e Ubuntu, a versão é especificada no arquivo debian/changelog , e é projetada para que todos os pacotes gerados por um pacote fonte tenham exatamente a mesma versão.

    
por 22.02.2012 / 11:13
0

Você pode verificar o exemplo de pidgin. Ele gera pacotes libpurple0, pidgin, pidgin-data, pidgin-dev, pidgin-dbg, finch, finch-dev, libpurple-dev e libpurple-bin de uma única fonte.

Obtenha a fonte de:

link

[pidgin_2.7.3-1 + squeeze2.dsc] [pidgin_2.7.3.orig.tar.bz2] [pidgin_2.7.3-1 + squeeze2.debian.tar.gz]

O arquivo que controla a compilação é debian / rules. Mais informações em:

link

link

    
por 13.02.2012 / 02:43