A PHP upgrade note

The other day, I updated some packages using pkg.  The default version of PHP went from 5.4 to 5.6.  I ended up doing what /usr/dports/UPGRADING says and making a list of all PHP packages on my system, before removing PHP and its dependencies.  I then reinstalled the packages that used PHP, bringing the needed packages back in at the right version.  pkg 1.4 didn’t handle the transition cleanly, unfortunately.  I also had to specify mod_php56 because pkg was trying to get the 5.4 version despite it not being default.

None of these are insurmountable problems, but it never hurts to be forewarned.  pkg 1.5 is on the horizon and may have an easier time with sorting these types of dependency/version changes.  This may apply to FreeBSD in addition to DragonFly.

Slider, for Hammer

John Marino has created something very useful: a graphical tool for Hammer file history.  It’s called ‘Slider’, and it uses curses to work in a terminal.  It shows historic versions of files and can restore those old versions as needed.  This was already possible in Hammer, of course, but it required a sequence of commands that were not straight-forward.  I’ve been slow enough posting it that version 2.0 is already out, offering a way to see files that no longer exist, but are still in history.  (i.e. deleted some time ago)  ‘Time Machine’ sounds like the best name, but that seems to be taken.

In Other BSDs for 2014/12/13

Get ready for some reading.

Installworld, no matter what

It’s possible, if you are several releases (years) behind, to end up with a DragonFly system that can’t compile and install the current release, due to incremental changes over time.  It’s rare, but it could happen now between, say, version 3.4 and 4.0.  The usual solution would be to incrementally upgrade in order, which is a lot of building and updating.  The alternative is the new installworld-force option from Matthew Dillon that forces a new set of binaries into place.  Use as a last resort.

New kernel and new target

You should perform a full world and kernel install if on master.

Several people (including me) have been getting bit by a problem: when performing an installworld with a changed kernel, the vn kernel module is loaded, but it was built by the previous kernel and may cause problems when it doesn’t match up.

To fix that, vn is now built in, instead of being a separate module.  The rescue initrd (which is what is being mounted when it has this problem) is now installed via a ‘make rescue‘ command that can wait until a successful installworld and reboot.