Although we do have a unsolved
issue due to the ambiguity when there are more than one concrete
implementations in a package repository. This means we can't simply
install high-level application packages and have apt-get resolve all
their dependencies automatically, as the packages for the specific
target may not be selected.
A similar situation exists for hardware-specific packages already in
Debian, such as xserver-xorg-video-*, xserver-xorg-input-*,
printer-driver-*. We're considering adopting this for the OpenCL
packages (*-opencl-icd).
xorg's solution is to have an ORed dependency on (metapackage depending
on all the hardware-specific packages) | (virtual package provided by
each hardware-specific package):
https://packages.debian.org/jessie/xserver-xorg
The printer drivers have a similar metapackage, but with Recommends
rather than Depends and no virtual package:
https://packages.debian.org/sid/foomatic-db
These default to installing all the hardware-specific packages (and
hence require there to be a mechanism for choosing the right one to
use), but allows users to choose one if they want to (if they're short
of space/bandwidth, or want to use one that isn't in Debian main and
hence isn't included in the metapackage).