Como fazer com que os pacotes cruzem versões diferentes do Ubuntu?

3

Eu sou o autor de algum software, que depende de libxx6 (no Ubuntu 11.10), mas em 12.04, o pacote se torna libxx7 (7 não é um número de versão do Ubuntu), então a dependência se torna um problema.

Como posso resolver isso? Estou gerenciando um PPA e quero consertar isso antes do lançamento do Ubuntu 12.04.

Obrigado!

    
por daisy 18.02.2012 / 07:51

3 respostas

2

Se houver um pacote genérico sem versão em que você possa confiar (como no caso Java: java-runtime vs., por exemplo, java6-runtime ), dependa disso. Se não houver, você precisa criar pacotes especializados para as diferentes versões do Ubuntu. Veja o pacote que você depende do arquivo control e veja se Provides algo mais genérico no qual você pode confiar.

    
por Lakritsbollar 18.02.2012 / 09:52
2

Supondo que o seu pacote compilará tanto em libxx6 como em libxx7 , basta usar libxx-dev no campo Build-Depends do seu arquivo debian/control . Em seguida, no campo Depends us ${shlibs:Depends} . Isso será substituído automaticamente pela versão da biblioteca compartilhada em que o seu pacote foi construído.

Informações mais detalhadas sobre bibliotecas compartilhadas podem ser encontradas no Capítulo 8 do Manual de Normas Debian.

    
por andrewsomething 20.02.2012 / 03:25
1

Se a mesma fonte for criada em todos os lançamentos, então é muito fácil. Você constrói (carrega) separadamente para cada versão do Ubuntu. Você terá que usar números de versão ligeiramente diferentes, sugiro anexar ~releasename1

    
por tumbleweed 20.02.2012 / 00:11

Tags