[Fedora-packaging] "Explicit requires" and "requiring base package"

Ville Skyttä ville.skytta at iki.fi
Sat May 2 10:34:56 UTC 2009


https://fedoraproject.org/wiki/Packaging/Guidelines#Explicit_Requires
  Packages must not contain explicit Requires on libraries except when 
  absolutely necessary. [...]

https://fedoraproject.org/wiki/Packaging/Guidelines#Requiring_Base_Package
  Devel packages must require the base package using a fully versioned
  dependency: Requires: %{name} = %{version}-%{release}. Usually, subpackages
  other than -devel should also require the base package using a fully
  versioned dependency.

I think these two guidelines or their wording are more or less in conflict 
these days.  Most -devel packages do not "absolutely necessarily" need an 
explicit dependency on the base package because rpm automatically adds soname 
dependencies from symlinks in -devel to the corresponding shared lib in the 
main/lib package.  Ditto, many cases of other non-devel subpackages get 
automatic lib soname dependencies to the main/lib package.

If the intent is to still require explicit deps like in "requiring base 
package" even though there are automatic ones that would usually work, just to 
be sure or for other reasons (possibility of compilation options, patchwork 
that affects some internal subpackages but not other -devel/lib package 
consumers), I think "requiring base packages" and "explicit requires" should 
be cross referenced noting that this is an exception and those explicit deps 
are indeed wanted.

If not, IMO "requiring base package" should be softened so that it requires 
adding those explicit deps if no automatic ones are present, or just removed 
because that'd be redundant with "explicit requires" and the rest of the 
general dependency guidelines.




More information about the Fedora-packaging mailing list