[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Unexpected resolution failure


On 2011-10-13, at 10:02 AM, Todorova, Katya wrote:

Could be a stupid question but how could you "ask" the planner to resolve an open range? As far as I've seen the planner source you could pass as a root IU only an exact IU contained by a repo?
Look at IProvisioningChangeRequest#addExtraRequirements

If you could provide a link to "I feel lucky" bug or/and to the corresponding source it would be extremely helpful.
Ian created a branch for this (http://git.eclipse.org/c/equinox/rt.equinox.p2.git/log/?h=irbull/luckyButton), but I don't have it checked out. Here is the piece of code I provided to him for integration http://pastebin.com/wB5Rbibg


Do you think this is going to be supported in director app in future?
If someone provides a patch, yes.

I'll update the bug but currently I don't have enough information (e.g a workaround, components handling it, etc).
Since 0.0.0 interpretation could be confusing to others as it was to me and I didn't find it officially documented, I would like to include in the report a clear statement on this as well.


-----Original Message-----
From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Pascal Rapicault
Sent: jeudi 13 octobre 2011 15:35
To: P2 developer discussions
Subject: Re: [p2-dev] Unexpected resolution failure

Makes sense.
This is currently not supported by the director app.
The necessary logic to add to support this is very similar to the one I did for the "I feel lucky" button. You need to do a first call to the planner with open ranges so the resolver figures out the most appropriate solution and then another call to get all the final plan with all the properties.

If bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=359902 is related to this, please update it with the relevant information.


On 2011-10-13, at 9:17 AM, Todorova, Katya wrote:

From user stand point I expect to install the highest "resolvable" version that is available in the repository, not the highest "exact". Motivation? Since I don't specify an exact version,
any version would be acceptable for me but I implicitly expect the highest (which could be resolved) to be preferred. I make an analogy here with OSGi import/export wiring when multiple
exported versions are available.

Currently "-installIU abc" tries to install the "exact" highest version and if its resolution fails, the whole installation fails. As Tobias suggested I could implement something on top of p2 -
for example I could traverse the repository on my own, sort available IUs by version in descendent order, look for the first resolvable in the list and then pass it to p2 engine.

Does the use case make more sense now?

So is there a way p2 director app to interpret 0.0.0 as version range instead of exact version and are you aware of scenarios that strictly rely on 0.0.0 = exact highest?

Thank you for your help,
Katya

-----Original Message-----
From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Pascal Rapicault
Sent: jeudi 13 octobre 2011 14:32
To: P2 developer discussions
Subject: Re: [p2-dev] Unexpected resolution failure

In the case of the p2 director, doing "-installIU abc" (without specifying a version) is a shortcut for saying install the highest version available of this IU.

Could you please describe from a user point of view the behaviour you are trying to get for the director app?



On 2011-10-13, at 6:04 AM, Todorova, Katya wrote:

Thanks for the explanation, Tobias, I checked the bug comments as well (https://bugs.eclipse.org/bugs/show_bug.cgi?id=359902) and it started getting clearer.
My confusion came from trying to map equinox and p2 resolvers behavior on 0.0.0.

Back on the technical stuff - I think version range would do for my use case.
Do you have any idea how to specify version range in director app? (curious if there is any documentation when p2 handles 0.0.0 as fixed version and when as range?)
What is the use case(s) of using 0.0.0 as fixed version?

Implementing my desired behavior outside p2 would mean re-implementing the planner :) I'm not sure I'd like to go in that direction. Just want to play around
with what's currently available and try to come up with a decent solution.

Thanks again,
Katya

-----Original Message-----
From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Oberlies, Tobias
Sent: jeudi 13 octobre 2011 11:35
To: P2 developer discussions
Subject: Re: [p2-dev] Unexpected resolution failure

Katya Todorova wrote:
It seems that 0.0.0 is interpreted as [1.0.1.201109261256,
1.0.1.201109261256] instead of [0.0.0, infinity) and p2 resolver doesn't
make an attempt to find a solution containing lower version.
Is that the expected behavior?

0.0.0 can be a version or a version range. 0.0.0 as version is a fixed version - the latest one available when querying a metadata repo, 0.0.0 as version range is an open version range.

You need to know what you are specifying (version vs. Version range) to know the semantics.

Regards
Tobias

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev

_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev