Binary pkgsrc updates: an experiment

So, I felt lucky recently.  I updated shiningsilence.com from DragonFly 2.6 to DragonFly 2.8, and wanted to upgrade my pkgsrc packages from pkgsrc-2010Q3 to pkgsrc-2010Q4.

You can do this with pkg_rolling-replace, or various other tools, but I wanted to see if I could do it completely with binary packages.  I used pkg_radd -uv <pkgname> for each of the major packages I had installed.

Surprisingly, it worked, for every package.  I had to force-install some Perl modules because I was moving from 5.10 to 5.12, but I think I may have been able to use an additional -u switch to get by that problem.  I did use pkg_leaves to identify packages I didn’t need, and removed them to reduce the number of items to upload.

It was exactly what I wanted.  Previous pkgsrc upgrades had taken most of a day, as I had to build from source and figure out what went where.  We’ve had a better success rate in bulk builds recently, and this paid off in an upgrade process that only took perhaps an hour.