Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-19 Thread Ciaran McCreesh
On Sat, 18 Dec 2010 22:22:07 -0800 Zac Medico zmed...@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

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-18 Thread Ciaran McCreesh
On Fri, 17 Dec 2010 20:13:55 -0600 Donnie Berkholz dberkh...@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) Yeah, but unfortunately, there's no way to

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-18 Thread Zac Medico
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

[gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Ciaran McCreesh
How should a dependency like || ( a b c ) be interpreted? Traditionally, it's been described as something like: * if a matches an installed package, a * otherwise, if b matches an installed package, b * otherwise, if c matches an installed package, c * otherwise, if a is installable, a *

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Sebastian Luther
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? Sebastian

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Ciaran McCreesh
On Fri, 17 Dec 2010 17:27:05 +0100 Sebastian Luther sebastianlut...@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

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Paweł Hajdan, Jr.
On 12/17/10 4:25 PM, Ciaran McCreesh wrote: As a result of things like this, Portage has had various different sets of heuristics over time, and Paludis has had a different set. Generally it seems fine to have different heuristics (I'll comment on the specific problem below). Paludis

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Sebastian Luther
Am 17.12.2010 17:37, schrieb Ciaran McCreesh: On Fri, 17 Dec 2010 17:27:05 +0100 Sebastian Luther sebastianlut...@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

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Ciaran McCreesh
On Fri, 17 Dec 2010 17:49:22 +0100 Paweł Hajdan, Jr. phajdan...@gentoo.org wrote: Paludis currently interprets this as I prefer 1.3.99.901, but will also accept =1.3.99.901. In particular, if 1.3.99.901[xcb] is already installed, libX11 won't be upgraded. Some Portage versions also do

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Ciaran McCreesh
On Fri, 17 Dec 2010 17:56:21 +0100 Sebastian Luther sebastianlut...@gmx.de wrote: 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

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Patrick Lauer
On 12/17/10 18:09, Ciaran McCreesh wrote: On Fri, 17 Dec 2010 17:56:21 +0100 Sebastian Luther sebastianlut...@gmx.de wrote: 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,

Re: [gentoo-dev] What are || ( ) dependencies?

2010-12-17 Thread Donnie Berkholz
On 15:25 Fri 17 Dec , Ciaran McCreesh wrote: How should a dependency like || ( a b c ) be interpreted? Traditionally, it's been described as something like: * if a matches an installed package, a * otherwise, if b matches an installed package, b * otherwise, if c matches an installed