On Mon, 8 Jan 2007 11:06:00 -0500, Jesse Keating wrote:
What you're saying is to use the Virtual provides right? Same
scenario.
Virtual provides of 1.2 is ABI/API/Whatever 1.2. This has no epoch, and even
if the package itself had epoch, we aren't asking for it, we're asking for
the newest package that provides foo(api) => 1.2. Now lets try that 2.0
again, which changes the api, and now we provide foo(api) = 2.0. Whoops, we
need to rollback, now you have to add an epoch to the foo(api) of the 1.2
package, or you lose.
No. You add the Epoch to the package, not the API.
foo-1.2-1.i386.rpm provides foo(api) = 1.2
foo-2.0-1.i386.rpm provides foo(api) = 2.0
Rollback:
foo-1:1.2-1.i386.rpm provides foo(api) = 1.2
^^
The Epoch at the level of RPM version comparison achieves that the
rollback works flawlessly.
Perl modules work this way today, since their module version (in automatic
"Provides") is independent from the package EVR.