From Fedora Project Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Rationale

Currently virtual provides are not documented anywhere, leading to many issues:

  • their meaning may be unclear (this is the case for webserver, for example)
  • they may be unused when they could be useful
  • clash with package names cannot be known

The third item could be extracted automatically, and is not fully covered by this proposal. But for the first 2 items, one have to have a human maintained documentation. Moreover the classification can only be done by a human for virtual provides of a given type (for example grouping perl(My::Module) virtual perl module provides for documentation can only be done by a human).

Proposal

I propose to add the following to the packaging guidelines (in the Requires part):

Virtual Requires and Provides

When a virtual provide is added, it should be documented in PackageMaintainers/VirtualProvides, except for

  • different capitalisation of the package name (gmt for GMT, for example)
  • older names for the package, even if the package with the older name was never packaged in the distribution. In particular, Obsoletes do not need to be documented
  • filenames (like %{_sbindir}/sendmail)
  • additional subpackages (like %{name}-static, %{name}-devel)

It is customary to have parenthesis in a virtual provide name to avoid clashing with real package names.



The page PackageMaintainers/VirtualProvides would be along VilleSkyttä/VirtualProvides.