devel: "Require %{name} = %{version}-%{release}"?

Michael Schwendt bugs.michael at gmx.net
Thu Jun 1 09:46:38 UTC 2006


On Thu, 1 Jun 2006 10:11:36 +0200, Laurent Rineau wrote:

> For a package which ships an alpha/beta/devel version of a library, the actual 
> version of the library is encoded in the release tag (according to the 
> package guidelines). In this case, shouldn't the "devel" sub-package have:
>     Require %{name} = %{version}-%{release}

The majority of -devel packages ought to do this in order to keep the
packages in sync strictly.

> instead of the usual:
>     Require %{name} = %{version}
> ?

This is lax packaging. It breaks in several cases and particularly when
the number of patches and changes increase. Most -devel packages include
an API, constants, generated headers, config helper scripts, all possibly
patched, and the result ought to match what's compiled into the main
package. Hence %{release} in the dependency is beneficial. In some cases
you can argue that requiring the major library version is enough, until
you find out that it's not worth the risks.

> I found this problem in a rpmforge package (ffmpeg), but maybe some Fedora 
> Extras packages suffer from the same problem, as it is not in the guidelines.
> 




More information about the fedora-extras-list mailing list