On 11/08/2014 08:32 PM, hasufell wrote:
> On 11/08/2014 08:01 PM, Matthias Dahl wrote:
>> Hello Ciaran...
>>
>> On 08/11/14 19:26, Ciaran McCreesh wrote:
>>
>>> No. It would make sense to introduce a cultural change, where
>>> developers stop writing dependencies that seem to work with some
>>> particular version of Portage if you don't look very closely, and start
>>> writing good dependencies.
>>
>> Sorry to chime in like that but if you don't mind, I'd like to ask for a
>> real-life example for badly declared dependencies with a few words why
>> those are bad and how to make them actually better?
>>
> 
> from dev-haskell/hashtables (note "hashtables" != "hashable"):
> || ( ( >=dev-haskell/hashable-1.1:=[profile?]
>        <dev-haskell/hashable-1.2:=[profile?] )
>      ( >=dev-haskell/hashable-1.2.1:=[profile?]
>        <dev-haskell/hashable-1.3:=[profile?] )
>    )
> 
> Latest stable version of dev-haskell/hashable is 1.2.1.0.
> On a stable system (arch) the paludis dep-solver will try to match the
> first group first and realize that there is also a stable version
> 1.1.2.5 that matches that group. At that point there is a correct
> solution, but since that involves downgrading a package, it will require
> user-intervention, because it may not be what the user wants.
> (this is the easy scenario... if downgrading causes blockers, you get
> much more interesting output)
> 

To be more specific... it is assumed that hashable-1.2.1.0 is already
installed. Every time the dep solver runs through those packages without
specifying what you want, you will hit the downgrade-problem.

If there was no version of hashable installed at all, then it will also
require user intervention to permit old versions of a package.

Reply via email to