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

I’m definitely interested in the discussion but don’t have the time to initiate and follow-up on it right now.

I’d like to keep this for future improvement but I don’t know how to proceed. Should I change the existing bug to “enhancement” (implementing bestMatch in director app) or it’s better to close it and put this topic in some TODO list?

 

Thanks,

Katya

 

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

 

 

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



Thank you very much, that’s exactly what I was looking for J

 

Just one more question regarding director app – wouldn’t it be incompatible change if 0.0.0 semantic is changed in that way? Or you mean the new behavior could be switched on/off somehow? I’m wondering what would be considered as default in that case (and why)?

            Changing the behaviour of "-installIU abc" is a breaking change for ppl using the tool.

            I think it would be best to introduce a fake version number at the end like "bestMatch"("-installIU abc/bestMatch")  or something in that flavor so it is explicit.

 

Adopting “I feel lucky” is worth discussing - it seems as a very nice feature. I’m sure that if you are kind enough to help clarifying the “unknowns”, it would be really easy to find a volunteer about the patch.

            Note that, the I feel lucky code I sent can not be used as-is since it loosen all the roots which is not the desired behaviour all the time. For example I can say "installIU abc/1.0.0 def ghj/bestMatch"

 

            The code for I feel lucky is something that I wrote last year to deal with automatic updates. It could also be integrated behind a new flag, but this is a separate discussion.



 

From: p2-dev-bounces@xxxxxxxxxxx [mailto:p2-dev-bounces@xxxxxxxxxxx] On Behalf Of Pascal Rapicault
Sent: jeudi 13 octobre 2011 16:53
To: P2 developer discussions
Subject: 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 mailing list

 

_______________________________________________

p2-dev mailing list

_______________________________________________

p2-dev mailing list


_______________________________________________
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