22 December 2006

Beat the rush! cvsup before the release

If you're planning to do a source based upgrade of FreeBSD after the next release, here's an idea: beat the rush and cvsup to the new release branch before the release date. If you look at the 6.2 release schedule here, you'll see that the new branch for this release was created on November the 15th. It has a cvs tag of 'RELENG_6_2'. This will be the same tag that you might use later to keep up with security fixes via source. But, it's already been branched and most of the coming changes are already there. If you cvsup it now you can get the great majority of the changes into your system source tree now and then after the release, when the servers are suddenly very busy, you'll only be getting a few more small changes to be fully up to date. This makes life better for everyone.

There is a whole other question about whether one should update the system via source/cvsup or binary upgrades. That's a tough question and depends on your own priorities. Bandwidth is a consideration for me. To do a binary upgrade to the next major version would require downloading the CD image, and then only after the release. With cvsup, you're using a lot less total bandwidth because you're only downloading what has changed (and much of that you can get a little early). The freebsd-update tool (in ports, under security) is great for binary patches, but only within the same release branch.

There's one caveat I can think of. It's possible that an important security patch for 6.1 might be released between the time you update your source to 6.2-RCx and the time you get that last update and start rebuilding 6.2-RELEASE. This would be an annoyance, but no cause to panic. You might be able to use the freebsd-update tool to apply a binary update for the running 6.1. You could choose to cvsup 'RELENG_6_2' again and then rebuild to the 6.2-RCx (it should get equivalent patches at the same time, if they're even applicable). You could just cvsup your system source back to 'RELENG_6_1' and rebuild that (or effected portions thereof). Lots of ways to skin that cat. In any case, I think it's a fairly unlikely scenario if you make sure to make the switch as close to the release date as possible. The 6.2 branch is already at RC2 as I write. From the schedule, the 6.2 release announcement is due on January the 10th, but the cvs servers may start getting busy a day or two early (as they should already be showing the release version).

Don't forget to keep the "Rebuilding World" chapter handy.