[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [p2-dev] Product publishing and product update
- From: Jeff McAffer <jeff@xxxxxxxxxxxxxxxxx>
- Date: Wed, 29 Sep 2010 10:21:00 -0400
- Delivered-to: firstname.lastname@example.org
I don't disagree. Ultimately I think we are missing a concept. Line-ups (or some such). We have talked about this in the p2 team for years. Basically there is a need for reproducible configurations of software. When two people install "the same thing" they should get "the same thing". Note that I am not saying that exact versions should be used everywhere. Rather, that people should very carefully consider where they use ranges and fully understand the consequences.
WRT trusting p2 and OSGi, sure, but they are not the problem. They are only as good as the inputs. In this case the inputs are the repos. So unless you are fully managing the set of repos the user can see, someone adding or removing versions of required entities to their repo can change what is ultimately installed. There are many scenarios where that level of repo management is available. There are many where it is not.
On 2010-09-29, at 3:38 AM, Thomas Hallgren wrote:
> On 09/28/2010 09:19 PM, Jeff McAffer wrote:
>> I strongly caution people *against* making container features that use requires rather than includes to get flexibility in updating products. This will lead to non-determinisim and unmaintainable end-user installs unless you carefully manage the repos available to your end users.
> That's certainly one way of looking at it. Another is that by using ranges (i.e. requires), you create flexible and agile entities that can coexist in several different combinations while trusting the framework (i.e. p2 and OSGi) to provide the necessary stability. I.e. you get out of the "dll hell" problem.
> Fixed version includes on the other hand, creates brittle and inflexible entities that often break common use cases (as the one explored here for instance).
> So while I agree that you do loose the determinism, I disagreee that it gets unmaintainable. It's the contrary actually. Suddenly you can maintain a much broader range of products and combinations and at last, the plumbing underneath is good enough to manage it.
> Thomas Hallgren
> p2-dev mailing list