How to define alternative sets of Depends in a deb control file?

I'm editing a control file of a deb package which contains

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)

I would like to change the dependency to nvidia-(...)-343-(...) for all entries and enforce the choice between all packages being nvidia-(...)-340-(...) or all packages being nvidia-(...)-343-(...).

After the lecture of the debian manual of package relationships I only know that I could specify nvidia-340 (>= 340.29)|nvidia-343 (>=343.0), nvidia-340-uvm (>=340.29)|nvidia-343-uvm (>=343.0), ... which would allow installation of nvidia-340 together with nvidia-343-uvm which is not what I want.

How do I enforce the installation of all packages of one version group only? I'm looking for a generic solution unrelated to the concrete package (NVIDIA cuda toolkit from ). The installation should work with apt-get after all.

1

1 Answer

You can achieve what you aim for, by creating two meta packages (that only contain dependencies) that provide a virtual package (that exists to declare some functionality that some other package can provide). So:

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like