Vladimir,

I believe you're right that the information is redundant and wouldn't have
to be specified there, but it was probably easier to generate it redundant
that to add a logic that would infer "default" requires from
hostRequirements.


Since this logic is not there, by changing the format of P2 files you'd
effectively break all older clients, and make it impossible to update, so
I'm afraid we have to live with redundant information.

Best regards,


On Fri, Feb 28, 2014 at 9:13 AM, Vladimir Prus <[email protected]>wrote:

>
> Daniel,
>
> Could you clarify why parsers could break, and why so many updates are
> required? I don't necessary want to change anything;
> the problem is that I don't understand the semantics of current behaviour.
> Now, each installable unit has an extra
> IRequirement, contributed via this default fragment, which say:
>
>     <requires size='1'>
>         <required namespace='org.eclipse.equinox.p2.eclipse.type'
> name='bundle' range='0.0.0' multiple='true' greedy='false'/>
>     </requires>
>
> It looks a no-op requirement to me, as it will be easily satisfied no
> matter what. So when you say that
> removing such requirement can possibly break something, and be
> time-consuming, it means I don't really understand either
> this requirement, or P2 requirements in general, and I'd appreciate if you
> correct me.
>
> Thanks,
>
>
>
> On 28.02.2014 12:05, Krzysztof Daniel wrote:
>
>> Vladimir,
>>
>> I'd expect information would be still complete. At the same time parsers
>> could break.
>>
>> If you are willing to commit to do the work (update generator, parsers,
>> verify it still works as expected, and support it afterwards) - go
>> ahead, I will review changes.
>>
>> But there're bigger fish to fry in P2 (f.e. the speed of UI filtering
>> dialog).
>>
>>
>>
>> On Fri, Feb 28, 2014 at 8:59 AM, Vladimir Prus 
>> <[email protected]<mailto:
>> [email protected]>> wrote:
>>
>>
>>     Hi Daniel,
>>
>>     thanks for the response! In this particular case, though, I don't see
>> what will break if <requires> is simply removed from
>>     default fragment?
>>
>>     Thanks,
>>
>>
>>
>>     On 28.02.2014 11:53, Krzysztof Daniel wrote:
>>
>>         Vladimir,
>>         thanks for your questions.
>>
>>         Regarding http://wiki.eclipse.org/__Equinox/p2/P2_Fragments <
>> http://wiki.eclipse.org/Equinox/p2/P2_Fragments> - the name is
>>
>>         unfortunate. It's a secondary mechanism for assembling
>> installation
>>         from "Installation Fragments". I expect you have no interest in
>> it.
>>
>>         I think that the main reason you have hostRequirements and
>> requires are because hostRequirements are usually smaller than required.
>>         hostRequirements says where to attach the fragment, and required
>> means what the fragment needs.
>>
>>         They are identical because P2 will minimize the installation,
>> hence the same bundle used in hostRequirements will be used for satisfying
>>         requires. I think the protocol could be improved here, but there
>> is almost no gain here, so I'd not expect changes.
>>
>>         Best regards,
>>
>>
>>         On Thu, Feb 27, 2014 at 5:57 PM, Vladimir Prus <
>> [email protected] <mailto:[email protected]>
>>          <mailto:vladimir@codesourcery.__com <mailto:
>> [email protected]>>> wrote:
>>
>>
>>              Hi,
>>
>>              I'm looking at http://wiki.eclipse.org/____
>> Equinox/p2/Setting_Start_____Levels
>>         <http://wiki.eclipse.org/__Equinox/p2/Setting_Start___Levels> <
>> http://wiki.eclipse.org/__Equinox/p2/Setting_Start___Levels
>>
>>         <http://wiki.eclipse.org/Equinox/p2/Setting_Start_Levels>> and
>>
>>              it mentions that default fragment
>>              is added to all IUs, and in particular it contains this:
>>
>>                  <hostRequirements size='1'>
>>                     <required 
>> namespace='org.eclipse.____equinox.p2.eclipse.type'
>> name='bundle' range='0.0.0' multiple='true' greedy='false'/>
>>                  </hostRequirements>
>>
>>                  <requires size='1'>
>>                     <required 
>> namespace='org.eclipse.____equinox.p2.eclipse.type'
>> name='bundle' range='0.0.0' multiple='true' greedy='false'/>
>>
>>
>>                  </requires>
>>
>>              What exactly is the role of the 'requires' element? It is
>> rather board requirements already, and then this fragment
>>              is added to every other IU, so effectively every bundle IU
>> has a requirement that can be satisfied by any other
>>              bundle IU, and the practical impact of this is rather
>> unclear to me.
>>
>>              Unrelatedly, looking at http://wiki.eclipse.org/____
>> Equinox/p2/P2_Fragments <http://wiki.eclipse.org/__
>> Equinox/p2/P2_Fragments>
>>
>>         <http://wiki.eclipse.org/__Equinox/p2/P2_Fragments <
>> http://wiki.eclipse.org/Equinox/p2/P2_Fragments>> is seems
>>
>>              that 'fragments' is used in completely
>>              different way there? What is the current primary meaning?
>>
>>              Thanks in advance,
>>
>>              --
>>              Vladimir Prus
>>              CodeSourcery / Mentor Graphics
>>         http://www.mentor.com/____embedded-software/ <
>> http://www.mentor.com/__embedded-software/>
>>         <http://www.mentor.com/__embedded-software/ <
>> http://www.mentor.com/embedded-software/>>
>>              ___________________________________________________
>>              p2-dev mailing list
>>         [email protected] <mailto:[email protected]> <mailto:
>> [email protected] <mailto:[email protected]>>
>>         https://dev.eclipse.org/____mailman/listinfo/p2-dev <
>> https://dev.eclipse.org/__mailman/listinfo/p2-dev>
>>
>>         <https://dev.eclipse.org/__mailman/listinfo/p2-dev <
>> https://dev.eclipse.org/mailman/listinfo/p2-dev>>
>>
>>
>>
>>
>>
>>         --
>>         Krzysztof Daniel
>>         https://twitter.com/kda
>>
>>
>>         _________________________________________________
>>         p2-dev mailing list
>>         [email protected] <mailto:[email protected]>
>>         https://dev.eclipse.org/__mailman/listinfo/p2-dev <
>> https://dev.eclipse.org/mailman/listinfo/p2-dev>
>>
>>
>>
>>     --
>>     Vladimir Prus
>>     CodeSourcery / Mentor Graphics
>>     http://www.mentor.com/__embedded-software/ <http://www.mentor.com/
>> embedded-software/>
>>     _________________________________________________
>>     p2-dev mailing list
>>     [email protected] <mailto:[email protected]>
>>     https://dev.eclipse.org/__mailman/listinfo/p2-dev <
>> https://dev.eclipse.org/mailman/listinfo/p2-dev>
>>
>>
>>
>>
>> --
>> Krzysztof Daniel
>> https://twitter.com/kda
>>
>>
>> _______________________________________________
>> p2-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/p2-dev
>>
>>
>
> --
> Vladimir Prus
> CodeSourcery / Mentor Graphics
> http://www.mentor.com/embedded-software/
> _______________________________________________
> p2-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/p2-dev
>



-- 
Krzysztof Daniel
https://twitter.com/kda
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to