3.6. Virtual packages

Sometimes, there are several packages which offer more-or-less the same functionality. In this case, it’s useful to define a virtual package whose name describes that common functionality. (The virtual packages only exist logically, not physically; that’s why they are called virtual.) The packages with this particular function will then provide the virtual package. Thus, any other package requiring that function can simply depend on the virtual package without having to specify all possible packages individually.

All packages should use virtual package names where appropriate, and arrange to create new ones if necessary. They should not use virtual package names (except privately, amongst a cooperating group of packages) unless they have been agreed upon and appear in the list of virtual package names. (See also Virtual packages - Provides)

The latest version of the authoritative list of virtual package names can be found in the debian-policy package. It is also available from the Debian web mirrors at https://www.debian.org/doc/packaging-manuals/virtual-package-names-list.yaml.

The procedure for updating the list is described in the preface to the list.