upgraded FreeBSD desktop

At work, the only *BSD computer I know of is my trusty IBM NetVista desktop, which I use to check mail–and all the sundry things that one needs to do that one cannot do very well with Windows.

Every few months, I decide I need to upgrade all my ports (because “portaudit” complains), or I need to upgrade the OS. Most recently, I’ve upgraded from RELENG_5_2_1 to RELENG_5_3. I used to try to portupgrade at the top of every month, but every time I mess with the environment I throw a day of work away. Something always breaks.

Most recently, the ports system switched from using XFree86 by default to xorg. That was a fun upgrade. I ended up having to run everyone’s favorite: “portupgrade -fa”, which forces a reinstallation of every package on the machine. Kontact still won’t run; I’m running “portupgrade -fR kdepim3” just in case the first full reinstall didn’t catch something.

At least for this last run, I was totally amazed that neither X nor KDE ever broke, despite several reboots, except for me having to mess with my XF86Config to remove the “speedo” driver and replace the string “Keyboard” with “kbd”.

One of my favorite things about FreeBSD, when I remember how it works, is the “mergemaster” utility. I don’t think other operating systems have this figured out: mergemaster lets you choose what to change in /etc. It requires the human to make decisions about conflicts. Unlike RPMs, which by default (if files are properly tagged with %config) will not overwrite modified configurations, or straight installs, which will typically delete your “old” files, mergemaster will not force you to choose old or new. It is an oddly political tool in a
technical world.