Fast releases demand binary updates.. (Was: Release schedule
for 2006 )
Chris Gilbert
Chris at lainos.org
Tue Dec 20 13:11:06 PST 2005
On Sunday 18 December 2005 00:55, Chuck Swiger wrote:
> YMMV. I burned a 6.0 release from the ISO image, and did a binary upgrade
> on an IBM ThinkPad (T.34? maybe), which worked perfectly. All of the 5.x
> binaries, including X11, KDE, printing, Mozilla, etc worked just fine.
>
> Upgrading the ports from there was somewhat annoying, as this guy's machine
> had ~400 or so, but deleting them all, and then using "pkg_add -r " works
> just fine if you want to grab the latest current binaries. From there you
> can portupgrade as usual.
>
> Now, if you want to talk about upgrading to intermediate patch releases,
> you've got a valid point there. :-)
I've had some success with this as well, but doing a pkg_add -r then mixing
that with ports (if the ports are cvsuped to head and not to the release
branch you installed) can cause issues.
One particular issue is in regards to gnome/gtk/glib applications.
They have some sort of crazy library name bumping for each version, and you
will get lots of crap like "libgnomeui.so.400 not found" if you have binary
libs/apps from pkg_add which are trying to link to libraries installed via
an updated ports.
However, this behavior seems to have gotten better recently with the latest
glib, I don't see as many libfoo.so.<3 digit number> rather I see stuff like
libglade-2.0.so.0. (which is much better!)
Maybe this should be directed toward the FreeBSD Gnome team, but it can get
really out of hand when you update ports and try to update/install some small
gtk app, then it wants to get latest gnomevfs, which will want to update gtk,
which will want to update glib.... and then because of the library naming you
have to remove every single glib/gtk/gnome app and recompile them all from
ports. (can't use packages since they will be out of sync here)
I tried installing a small game called gtetrinet a couple weeks ago (with a
perfectly functioning GTK/glib install) and ended up spending 4 hours
tracking down tons of libs/apps which used these libraries or a library that
depends on said libraries.
Also, I'm aware that there is a gnome update script... however it's possible
for things to go really wrong if a user inadvertently uses portupgrade or a
port which gets pulled into this mess. (There was a huge warning label in the
glib port at one point saying "DON'T DO THIS USE THE SCRIPT")
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!)
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)
--
Regards,
Chris Gilbert
More information about the freebsd-current
mailing list