Como definir conjuntos alternativos de dependências em um arquivo de controle deb?

0

Estou editando um arquivo control de um pacote deb que contém

Depends: nvidia-340 (>=340.29), nvidia-340-uvm (>=340.29), nvidia-340-dev (>=340.29),
nvidia-modprobe (>=340.29), nvidia-settings (>=340.29), libcuda1-340 (>=340.29), 
nvidia-libopencl1-340 (>=340.29), nvidia-opencl-icd-340 (>=340.29)

Eu gostaria de alterar a dependência para nvidia-(...)-343-(...) para todas as entradas e impor a escolha entre todos os pacotes sendo nvidia-(...)-340-(...) ou todos os pacotes sendo nvidia-(...)-343-(...) .

Após a palestra do manual do debian sobre relacionamentos com pacotes , eu só sei que eu poderia especificar nvidia-340 (>= 340.29)|nvidia-343 (>=343.0), nvidia-340-uvm (>=340.29)|nvidia-343-uvm (>=343.0), ... , o que permitiria a instalação de nvidia-340 junto com nvidia-343-uvm , que não é o que eu quero.

Como faço para impor a instalação de todos os pacotes de apenas um grupo de versões? Estou à procura de uma solução genérica não relacionada ao pacote concreto (kit de ferramentas NVIDIA cuda do link ). A instalação deve funcionar com apt-get , afinal.

    
por Karl Richter 09.01.2015 / 18:18

1 resposta

1

Você pode alcançar o que deseja, criando dois meta pacotes (que contêm apenas dependências) que fornecem um pacote virtual (que existe para declarar algumas funcionalidades que outro pacote pode fornecer). Então:

Package: nvidia-dependencies-340
Provides: nvidia-dependencies
Depends: nvidia-340 (>=340.29), nvidia-340-uvm (>=340.29), nvidia-340-dev (>=340.29), etc...

Package: nvidia-dependencies-343
Provides: nvidia-dependencies
Depends: nvidia-343 (>=343.0), nvidia-343-uvm (>=343.0), nvidia-343-dev (>=343.0), etc...

Package: my-application
Depends: nvidia-dependencies

HTH,
* t

    
por Tomas Pospisek 26.04.2015 / 09:26