On Fri, 17 Dec 2010 17:27:05 +0100
Sebastian Luther <SebastianLuther@gmx.de> wrote:
> Am 17.12.2010 16:25, schrieb Ciaran McCreesh:
> > So would anyone be especially opposed to making "best leftmost" an
> > explicit requirement, enforced by repoman where possible (at least
> > for the >= / < case)?
> 
> Why can't the PM handle >= / < cases itself?

Because things are almost never as simple as 'just' >= / <. You can add
in clever trickery to deal with very specific cases, but the second
someone throws things off by adding in a use dependency or a third
package, things get weird.

Consider a variation on the original case: || ( <a-2 >=a-2[x] ) where
the user has specified -x for a. What should happen then?

What about || ( <a-2[x] b >=a-2 ) ? Should that be rewritten in the same
way?

What about || ( <a-2[x] ( >=a-2 b ) ) ? Should the package mangler be
clever enough to figure that one out too? What if b isn't already
installed there?

Which is really the problem: clever heuristics get extremely
complicated very quickly, and they're never enough.

-- 
Ciaran McCreesh