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