Re: Fast releases demand binary updates.. (Was: Release schedule for 2006 )

From: Brian Candler <B.Candler_at_pobox.com>
Date: Wed, 21 Dec 2005 10:09:44 +0000
On Sun, Dec 18, 2005 at 01:07:03AM +0100, Chris Gilbert wrote:
> And that still doesn't solve the problem with desktop users who just want to 
> grab binaries and install them... my Wife was unlucky enough to have this 
> happen to her, and even though she has been using FreeBSD successfully for a 
> few years, it trashed her dependency tree to the point where I just had to 
> nuke most of her applications and recompile everything for her. (Not good!)

Here here!

I recently tried to upgrade Mozilla from 1.0.7 to the current ports version
(1.5.something) on a FreeBSD 5.4 box. This fell over in all sorts of ways,
and I ended up having to portupgrade almost everything. That then broke me
in all sorts of other ways, like finding that 'unison' was upgraded and its
protocol was no longer compatible with 'unison' on other systems, so they
needed upgrading too. Plus I had to remember to abort the upgrade before it
started rebuilding openoffice, to avoid my system becoming polluted with
java...

I have no problem with libraries called libgtk.so.400 or whatever, but the
whole point of this scheme is that it should be possible to have multiple
versions installed at the same time.

So, if the new Mozilla port really requires the newest version of gtk, then
it should simply go build that version of gtk and install it alongside my
existing version, so all the ports linked against the older versions
continue to work. Setting FORCE_PKG_REGISTER might do this, but if that
works so well, why is it not the default? And then there are various flags
to portupgrade / pkg_install which explicitly tell them to leave stale
versions of shared libraries around, 'just in case' they are needed.

> Perhaps this subject should be moved to another list and focused on what would 
> be a good way to create a stronger package/binary management and updating 
> system for FreeBSD? (That plays nicely with ports, and also handles 
> kernel/world/security updates)

I'd like to see that.

I think Dragonfly have some good ideas, like using the filesystem to build a
virtual library environment on the fly. That is, when an application runs it
sees a /lib directory populated with only the libraries it needs, and the
exact versions of them. Extending this so that it is possible to have
multiple versions of the same application (/usr/bin/foo) installed, for
instant upgrade and rollback, would be even better. (I know there are
existing solutions which install lots of symlinks, and some ideas can
probably be taken from those too)

Regards,

Brian.
Received on Wed Dec 21 2005 - 09:09:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:49 UTC