On Fri, 17 Dec 2010 15:25:04 +0000
Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
> So would anyone be especially opposed to making "best leftmost" an
> explicit requirement, enforced by repoman where possible (at least for
> the >= / < case)?
I already thought that was the case, so +1 from me.
--
fonts, gcc-porting, it makes no sense how it makes no sense
toolchain, wxwidgets but i'll take it free anytime
@ gentoo.org EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662
12-19-2010, 12:41 AM
"Jorge Manuel B. S. Vicetto"
What are || ( ) dependencies?
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 18-12-2010 18:35, Ryan Hill wrote:
> On Fri, 17 Dec 2010 15:25:04 +0000
> Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
>
>> So would anyone be especially opposed to making "best leftmost" an
>> explicit requirement, enforced by repoman where possible (at least for
>> the >= / < case)?
>
> I already thought that was the case, so +1 from me.
I've been treating it that way for a long time.
The KDE team used this feature at least one or two times, that I can
recall, to reflect the change on preferred deps. I think one case was
the move from monolithic to split Qt deps.
- --
Regards,
Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / KDE / Elections / RelEng
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
On 12/17/2010 06:13 PM, Donnie Berkholz wrote:
> On 15:25 Fri 17 Dec , Ciaran McCreesh wrote:
>> Things get messier when you've got || ( a >b-2.1 ) and b-2.0 is
>> installed and a is not. Should b be upgraded to 2.1, or should a be
>> selected?
>
> It depends ... see later.
>
>> What about if you decide upon a early on, and then later on something
>> hard-depends upon b?
>
> Then you're collapsing the graph too early. =)
> (speaking as an utter novice)
This is the same kind of case as in bug 264434. We solved it in portage
by putting || and virtual dependencies on stack, and delaying their
evaluation until as late as possible. You may be able to dream up some
corner cases where this approach doesn't help, but in practice it seems
to help more often than not.
On 12/18/2010 08:35 PM, Ryan Hill wrote:
> On Fri, 17 Dec 2010 15:25:04 +0000
> Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
>
>> So would anyone be especially opposed to making "best leftmost" an
>> explicit requirement, enforced by repoman where possible (at least for
>> the >= / < case)?
>
> I already thought that was the case, so +1 from me.
Me too, but can't tell where I picked that up. +1 anyway.
12-19-2010, 12:51 PM
Ciaran McCreesh
What are || ( ) dependencies?
On Sat, 18 Dec 2010 22:22:07 -0800
Zac Medico <zmedico@gentoo.org> wrote:
> >> What about if you decide upon a early on, and then later on
> >> something hard-depends upon b?
> >
> > Then you're collapsing the graph too early. =)
> > (speaking as an utter novice)
>
> This is the same kind of case as in bug 264434. We solved it in
> portage by putting || and virtual dependencies on stack, and delaying
> their evaluation until as late as possible. You may be able to dream
> up some corner cases where this approach doesn't help, but in
> practice it seems to help more often than not.
That's just another case where a fancy heuristic sometimes gives you
better results, but in general doesn't solve the problem at all. If
you've got two lots of undecided || ( ) deps, sooner or later you have
to decide at least one lot, but you can't correctly make that decision
until you've decided the other lot (which of course then can't be
decided until you've decided the first...).
We're all having to be way too clever here, and it isn't even helping.