On 7/8/06, Enrico Scholz <enrico.scholz@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
chris.stone@xxxxxxxxx ("Christopher Stone") writes: > pear packages have a line in the spec file of the form: > Provides: php-pear(Foo) = %{version}-%{release} > > This provides the upstream software version, not the package version. > This is what we use on our requires line. So for example we do not > have: > Requires: php-pear >= .. we have: > Requires: php-pear(PEAR) >= ... Such virtual provides are ok but you should keep in mind, that there is no ordering during installation; e.g. it is undefined whether | %package -n module | Provides: php-pear(MODULE) = 1.0 or | %package -n module-ng | Provides: php-pear(MODULE) = 2.0 will be installed by | Requires: php-pear(MODULE) >= 1.0 (because of the shortest-package-name-wins rule, 'module' will be the candidate for 'rpm')
This should never happen, there are some cases where you may want a stable and an alpha version in which case you would Provide php-pear(MODULE-alpha). See: http://tkmame.retrogames.com/fedora-extras/php-pear-PHPUnit2.spec http://tkmame.retrogames.com/fedora-extras/php-pear-PHPUnit2-alpha.spec I think something like this should be mentioned in the guidelines. In other cases the pear module name itself changes, for example: PHPUnit (php4) and PHPUnit2 (php5)
When you enforce such declarations for php-pear packages; should not every (non-pear) package have similar Provides:? Or, what would make php-pear an exception here? Have php-pear modules such an unstable API that missing version information would cause problems with a significant amount of packages?
Yes, the pear libraries are still relatively new, and many many pear modules are under active development. There are quite a few which are widely used and still not even out of alpha development stage yet. -- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging