From Fedora Project Wiki

Virtual Provides: in packages

Several packages in Fedora may provide similar functionalities. In some of these cases, it's beneficial to add a "virtual provision" into those packages so that other packages can have dependencies to the functionality they require instead of hardwiring a specific implementation. Note that file based dependencies can in some cases be used instead of these provisions, and can sometimes be "better" than these.

2007-04-08: it appears that these virtual provides and their purposes are not documented anywhere, so this page collects some information based on which they can hopefully be properly documented somewhere later. Feel free to add whatever is missing.

Current Provides:

Provides: Purpose
MTA Full featured Mail Transfer Agent, should be sendmail compatible. This should not be useful: if a smtp server is needed, the server(smtp) virtual provides should be used instead, and if the package provides a command compatible with /usr/sbin/sendmail, /usr/sbin/sendmail should be used as a virtual provide and if a packages needs /usr/sbin/sendmail it should require it
ocaml(Module_name) = MD5sum OCaml module, where MD5sum is the digest of the module's signature and implementation (see ocamlobjinfo command)
ocaml(runtime) = X.Y.Z OCaml compiler ABI
perl(:MODULE_COMPAT_X.Y.Z) Perl ABI version, versioned install dirs.
perl(module_name) provides the perl module_name module
python(abi) = X.Y Python ABI version, versioned install dirs.
tcl(abi) = X.Y Tcl ABI version, versioned install dirs.
smtpdaemon deprecated by server(smtp)
server(port_name) provides a local server listening on port_name. port_name is the service name associated with that port number in /etc/services, or the port number when no record exists in /etc/services
tex(tex) basic TeX system, with the tex command, basic kpathsea related executables and scripts, some fonts
tex(dvips) dvips implementation
tex(latex) LaTeX implementation
tex(context) ConTeXt implementation
tex(east-asian) support for east-asian languages for TeX and LaTeX, including at least ptex and platex
text-www-browser special provide for TEXT web clients e.g. docbook-utils, elinks, w3m, xmlto (Added as part of bug https://bugzilla.redhat.com/174566)
webserver A web server. TBD: does this imply something about doc root being /var/www/html? What about CGI capabilities?
webclient Something that can access http urls, e.g. wget, curl, links, firefox
xemacs(bin) An actual implementation of XEmacs (flavours: full blown X, minimialish -nox)

Features that could benefit from being defined as Provides:

  • Browsers that load and use Mozilla plugins from %{_libdir}/mozilla/plugins. File based dependency on the dir works, but causes the need for yum to download file metadata.
  • console web browsers, e.g. links links2 elinks lynx w3m