Don’t get tricked by the “release” system. Apart of the base system, FreeBSD perfectly qualifies as rolling release. I guess it’s also why the binary package management sucked so badly. You won’t find how to upgrade certain packages using binary method in their Ports’ UPDATING page.
Here’s the example:
20120225: AFFECTS: users of archivers/libarchive AUTHOR: glewis@FreeBSD.org libarchive has been updated to version 3.0.3, with a shared library bump. This requires dependent ports to be rebuilt. # portmaster -r libarchive or # portupgrade -r archivers/libarchive
You would think the dependent packages got version bump to ensure their proper dependency – but they didn’t. Instead you had to recompile everything depending on it.
And then there’s another case:
20120220: AFFECTS: users of graphics/libungif AUTHOR: dinoex@FreeBSD.org libungif is obsolete, please deinstall it and rebuild all ports using it with graphics/giflib. # portmaster -o graphics/giflib graphics/libungif # portmaster -r giflib or # portupgrade -o graphics/giflib graphics/libungif # portupgrade -rf giflib
Of course, ArchLinux kind of managed to do it but that’s a purely binary rolling release Linux distro. The maintainer worked hard to ensure such kind of thing get handled properly by all their users which mostly use binary packages. FreeBSD on other hand tried to claim capable of both but it really isn’t (unless I missed something).
I’m intending to contact pkgng creator to ask his opinion about this but have yet to do it…
It is an annoying issue, but I believe it is just due to lack of manpower at the moment, my advice to you is to use the provided portupgrade command, but with the -P switch added to ensure usage of packages whenever possible, (and make sure to use -STABLE packages with the PACKAGESITE variable properly set) or wait about two weeks until the packages will be updated.
portupgrade is painfully slow. I’ve stopped using it in favor of portmaster.
For example, the png package was updated two days after the recent notice in /usr/ports/UPDATING. Not ideal, but just avoid doing the non-binary updates, such a pain as you noted.
(or actually it might have been a one day delay, or even the same day, depending on the time zone differences, I’m not sure…)