Como o apt-get seleciona de uma lista de dependências alternativas?

4

Eu entendo que na seção Depends: dos arquivos de controle deb, um pacote pode especificar dependências alternativas separadas pelo símbolo | para satisfazer uma única dependência.

A minha pergunta é, como o apt-get decide qual deles instalar quando houver alternativas?

Existe uma maneira de alterar manualmente esta seleção usando algo semelhante a apt_preferences ?

Por exemplo, se um pacote depender de java e na seção Dependes tivermos openjdk-6-jre | sun-java6-jre , como forçar o apt-get a instalar o openjdk-6-jre desde que o sistema não tenha nenhum dos pacotes instalado?

    
por mrantims 29.01.2012 / 17:14

1 resposta

1

No Manual de Políticas da Debian, Capítulo 7 - Declarando as relações entre os pacotes você pode leia

In the Depends, Recommends, Suggests, Pre-Depends, Build-Depends and Build-Depends-Indep control fields of the package, which declare dependencies on other packages, the package names listed may also include lists of alternative package names, separated by vertical bar (pipe) symbols |. In such a case, if any one of the alternative packages is installed, that part of the dependency is considered to be satisfied.

Não consigo encontrar nenhuma outra informação útil sobre lista de alternativas em todo o documento, então devo concluir que, no caso de nenhum dos pacotes na lista já estar instalado, o primeiro no lista seria escolhida. Mas esteja ciente de que esta é apenas a minha interpretação.

    
por enzotib 29.01.2012 / 17:41