On Fri, Jun 13, 2008 at 08:52:24PM -0700, Jordan Brown wrote:
> Installing multiple versions of a package is a solved problem.  SVR4 has 
> done it forever.

If I remember right, this is done by adding version metadata in
the package name (SUNWapache2, etc.).  This would be possible
with IPS too, but is not a solution.

> Upgrading packages in an environment with multiple versions is less solved, 
> but seems solvable.

Yes, that is the actual problem and this has been solved too.
The link I provided before has a quick one-page description of
how this works in Portage.  In a nutshell, portage slots provide
for independent upgrade paths for a package.  The GCC 3.x and 4.x
branches would, for example, be independently upgradeable.

Debian alternatives does something similar.

There are lots of mainstream packages where the interfaces change
incompatibly between releases.  Off the top of my head, I can
think of Python, Ruby, Apache and all its modules, Glib/GTK,
BerkeleyDB, SQLite, Mutt, Rails, Automake/Autoconf, GCC.  This is
a limitation we need to address sooner rather than later, IMO.

> Actually *using* multiple versions of packages with non-trivial 
> dependencies is quite another matter.  I suspect it's solvable only in the 
> extreme cases where either (a) you can assume that newer versions are 
> completely compatible, or (b) you assume that newer versions are *never* 
> compatible.

Don't see any reason why these are the only ways to solve it.  I
am not that familiar with Debian alternatives, but portage
handles this quite well without having to assume either (a) or
(b).  Gentoo lists over 700 packages in its repository which use
slots right now.

> The situation gets worse when you consider components that require 
> exclusive use of some resource.  In general, you can't have two mail 
> servers, because only one can listen on port 25.

This is more of a configuration problem than a packaging one.  In
this case, they would just need to listen on different ports.

> The "what does /usr/bin/python get you" question is not a packaging 
> question.  It's a "how do you *use* multiple versions" question.

Not sure I get the distinction, but this again has been solved by
Debian (update-alternatives) and portage (eselect).  Not every
package needs this, by the way.  A lot of them (like BerkeleyDB)
provide independent libraries or utilities which coexist quite
peacefully.

Venky.

>
> Venky wrote:
>> On Fri, Jun 13, 2008 at 02:36:24PM +0200, Alexander Vlasov wrote:
>>>> IPS doesn't support installing different versions of the
>>>> same package at the same time.
>>>>
>>>> - Bart
>>>>   
>>> Guys, you're talking about problems solved for ages.
>>> May I ask developers to look at already existing solutions?
>>> Please take a look how this problem solved in Debian.
>> And in Portage:
>> http://devmanual.gentoo.org/general-concepts/slotting/index.html
>> Venky.
>> _______________________________________________
>> pkg-discuss mailing list
>> [email protected]
>> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
>
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to