PackagingDrafts/ProvidesList

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.