Assume it’s multiprocessor-safe

As Matthew Dillon notes in a recent post, procedures are now assumed to be MPSAFE (i.e. without the Giant Lock) by default.  Any new work should follow this idea, and it doesn’t have to be documented specially.  The inverse used to be true, where the code that happened to work without the Lock was rare, and therefore needed to be pointed out.   Now, the good result is the norm.

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.

Lazy Reading: down memory lane

Entertainment, this week.  There’s several items here that will be more entertaining if you’re over 25.  Or maybe 35.  Get clicking!

Firewall shuffling

Sepherosa Ziehau is planning to get rid of ipfilter.  It’s one of 3 firewall-ish programs in DragonFly right now, along with ipfw and pf.  Currently, pf is getting the most attention with Jan Lentfer’s porting work, though npf is also on the horizon.   However, ipfilter is currently in use at nfrance.com, so its removal may be on hold until it can be shown that ipfw or pf can stand in for it.  It looks like it will work out.