My dports upgrade experience

Since there’s a newer set of dports binary packages uploaded, I thought I’d spend my weekend upgrading, to catch up.

‘pkg upgrade’

And that was it.  Well, not really.  I had to dump and restore my Postgres databases, cause of the switch from 9.0 to 9.2 as default.  I had to build php5 from source to get the Apache module.  Those two things together took longer than the entire download and upgrade of the rest of my system – some ~200 packages?

About dports, packages, and servers

In part of a long thread about dports packages on the users@ list, Matthew Dillon notes that a new set of packages for i386 and x86_64, for 3.4 and for “3.6” (meaning bleeding-edge DragonFly, even though that’s numbered 3.5) is mostly uploaded.  He also notes that a Haswell-processor-based blade server for DragonFly is in the works, so much of the dragonflybsd.org infrastructure is going to move from his house to a datacenter, with the benefits that provides.  It’ll also help automate binary package building.

Getting dports without pkg installed

I pointed out in my converting-to-dports post from yesterday that I had to download dports and build pkg by hand in order to install binary packages.  This was because my DragonFly system was upgraded from 3.2 to 3.4 and therefore didn’t have pkg installed.

John Marino has added a ‘pkg-bootstrap’ option to /usr/Makefile, for fixing exactly that problem.  It downloads a static version of pkg, which then lets you upgrade to the full pkg and install binaries as you’d expect.

Switching to dports software

I changed shiningsilence.com over from pkgsrc to dports over the last 48 hours or so.  Here’s how it went, in a series of bullet points:

  • I had to download dports source and build the pkg tool by hand; since this system was upgraded from DragonFly 3.2 to DragonFly 3.4, pkg wasn’t automatically present as it would be for a new installation.
  • I took the output of ‘pkg_info’ and culled it down to the applications I knew I used, and that formed my ‘to-install’ list for dports.  That worked in a very straightforward way.
  • It took so long mostly because of two things: I was also dealing with an email problem at my workplace, which usually took precedence.  Also, I had several applications that I had previously installed by hand and needed to reconfigure to work as a dports item.
  • Installing from binaries is really fast!  Really, the dports part of this was possibly the most brief.
  • The only thing I needed to compile from source was php, in order to get the Apache plugin.  I’m sort of surprised the option isn’t on by default.
  • Using ‘pkg search packagename’ is a good idea, because ‘pkg install’ can pick up multiple versions of a package.  e.g. ‘pkg install mysql-server’ selects mysql-server51, mysql-server55, and mysql-server56.  You probably don’t want to install all three.  Or even one, depending on your opinions.
  • Overall, it went more easily than I had expected, given it only had half of my attention.